Enable some settings pages to use paralleled-loading method
- Here these pages include AppInfoDashboardFragment, ConnectedDeviceDashboardFragment, DevelopmentSettingsDashboardFragment, NetworkDashboardFragment, ConfigureNotificationSettings. - The TimeSpentInAppPreferenceController use the LiveDataController. Fixes: 135299529 Bug: 137558156 Test: compilation Change-Id: I455a16536c9966184f1b2bd81d1f1217f3e09f9d
This commit is contained in:
@@ -64,6 +64,7 @@
|
|||||||
<Preference
|
<Preference
|
||||||
android:key="connection_preferences"
|
android:key="connection_preferences"
|
||||||
android:title="@string/connected_device_connections_title"
|
android:title="@string/connected_device_connections_title"
|
||||||
|
android:summary="@string/summary_placeholder"
|
||||||
android:fragment="com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment"
|
android:fragment="com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment"
|
||||||
settings:allowDividerAbove="true"
|
settings:allowDividerAbove="true"
|
||||||
settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/>
|
settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/>
|
||||||
|
@@ -38,6 +38,7 @@
|
|||||||
<Preference
|
<Preference
|
||||||
android:key="bug_report_handler"
|
android:key="bug_report_handler"
|
||||||
android:title="@string/bug_report_handler_title"
|
android:title="@string/bug_report_handler_title"
|
||||||
|
android:summary="@string/summary_placeholder"
|
||||||
android:fragment="com.android.settings.bugreporthandler.BugReportHandlerPicker" />
|
android:fragment="com.android.settings.bugreporthandler.BugReportHandlerPicker" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="hdcp_checking"
|
android:key="hdcp_checking"
|
||||||
android:title="@string/hdcp_checking_title"
|
android:title="@string/hdcp_checking_title"
|
||||||
|
android:summary="@string/summary_placeholder"
|
||||||
android:dialogTitle="@string/hdcp_checking_dialog_title"
|
android:dialogTitle="@string/hdcp_checking_dialog_title"
|
||||||
android:entries="@array/hdcp_checking_titles"
|
android:entries="@array/hdcp_checking_titles"
|
||||||
android:entryValues="@array/hdcp_checking_values" />
|
android:entryValues="@array/hdcp_checking_values" />
|
||||||
|
@@ -138,7 +138,10 @@ public class AppInfoDashboardFragment extends DashboardFragment
|
|||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
final String packageName = getPackageName();
|
final String packageName = getPackageName();
|
||||||
use(TimeSpentInAppPreferenceController.class).setPackageName(packageName);
|
final TimeSpentInAppPreferenceController timeSpentInAppPreferenceController = use(
|
||||||
|
TimeSpentInAppPreferenceController.class);
|
||||||
|
timeSpentInAppPreferenceController.setPackageName(packageName);
|
||||||
|
timeSpentInAppPreferenceController.initLifeCycleOwner(this);
|
||||||
|
|
||||||
use(AppDataUsagePreferenceController.class).setParentFragment(this);
|
use(AppDataUsagePreferenceController.class).setParentFragment(this);
|
||||||
final AppInstallerInfoPreferenceController installer =
|
final AppInstallerInfoPreferenceController installer =
|
||||||
@@ -285,6 +288,11 @@ public class AppInfoDashboardFragment extends DashboardFragment
|
|||||||
return controllers;
|
return controllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isParalleledControllers() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void addToCallbackList(Callback callback) {
|
void addToCallbackList(Callback callback) {
|
||||||
if (callback != null) {
|
if (callback != null) {
|
||||||
mCallbacks.add(callback);
|
mCallbacks.add(callback);
|
||||||
|
@@ -29,13 +29,15 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.applications.ApplicationFeatureProvider;
|
import com.android.settings.applications.ApplicationFeatureProvider;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.LiveDataController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TimeSpentInAppPreferenceController extends BasePreferenceController {
|
/**
|
||||||
|
* To Retrieve the time consumption of the application.
|
||||||
|
*/
|
||||||
|
public class TimeSpentInAppPreferenceController extends LiveDataController {
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final Intent SEE_TIME_IN_APP_TEMPLATE = new Intent(Settings.ACTION_APP_USAGE_SETTINGS);
|
static final Intent SEE_TIME_IN_APP_TEMPLATE = new Intent(Settings.ACTION_APP_USAGE_SETTINGS);
|
||||||
|
|
||||||
@@ -85,7 +87,7 @@ public class TimeSpentInAppPreferenceController extends BasePreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getSummary() {
|
protected CharSequence getSummaryTextInBackground() {
|
||||||
return mAppFeatureProvider.getTimeSpentInApp(mPackageName);
|
return mAppFeatureProvider.getTimeSpentInApp(mPackageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -49,6 +49,11 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isParalleledControllers() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getHelpResource() {
|
public int getHelpResource() {
|
||||||
return R.string.help_url_connected_devices;
|
return R.string.help_url_connected_devices;
|
||||||
|
@@ -361,6 +361,11 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
|||||||
return mPreferenceControllers;
|
return mPreferenceControllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isParalleledControllers() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private void registerReceivers() {
|
private void registerReceivers() {
|
||||||
LocalBroadcastManager.getInstance(getContext())
|
LocalBroadcastManager.getInstance(getContext())
|
||||||
.registerReceiver(mEnableAdbReceiver, new IntentFilter(
|
.registerReceiver(mEnableAdbReceiver, new IntentFilter(
|
||||||
|
@@ -86,6 +86,11 @@ public class NetworkDashboardFragment extends DashboardFragment implements
|
|||||||
this /* fragment */, this /* mobilePlanHost */);
|
this /* fragment */, this /* mobilePlanHost */);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isParalleledControllers() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
||||||
Lifecycle lifecycle, MetricsFeatureProvider metricsFeatureProvider, Fragment fragment,
|
Lifecycle lifecycle, MetricsFeatureProvider metricsFeatureProvider, Fragment fragment,
|
||||||
MobilePlanPreferenceHost mobilePlanHost) {
|
MobilePlanPreferenceHost mobilePlanHost) {
|
||||||
|
@@ -90,6 +90,11 @@ public class ConfigureNotificationSettings extends DashboardFragment implements
|
|||||||
return buildPreferenceControllers(context, app, this);
|
return buildPreferenceControllers(context, app, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isParalleledControllers() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
||||||
Application app, Fragment host) {
|
Application app, Fragment host) {
|
||||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
|
@@ -119,8 +119,8 @@ public class TimeSpentInAppPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSummary_shouldQueryAppFeatureProvider() {
|
public void getSummaryTextInBackground_shouldQueryAppFeatureProvider() {
|
||||||
mController.getSummary();
|
mController.getSummaryTextInBackground();
|
||||||
|
|
||||||
verify(mFeatureFactory.applicationFeatureProvider).getTimeSpentInApp(
|
verify(mFeatureFactory.applicationFeatureProvider).getTimeSpentInApp(
|
||||||
nullable(String.class));
|
nullable(String.class));
|
||||||
|
Reference in New Issue
Block a user