diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml index b2794c206b7..e7e3c2ccfbe 100644 --- a/res/xml/connected_devices.xml +++ b/res/xml/connected_devices.xml @@ -65,6 +65,7 @@ diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index 39a130cf750..b781636ff7f 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -38,6 +38,7 @@ diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java index 8b1f96f92f2..dff6d6df967 100755 --- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java @@ -138,7 +138,10 @@ public class AppInfoDashboardFragment extends DashboardFragment public void onAttach(Context context) { super.onAttach(context); 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); final AppInstallerInfoPreferenceController installer = @@ -285,6 +288,11 @@ public class AppInfoDashboardFragment extends DashboardFragment return controllers; } + @Override + protected boolean isParalleledControllers() { + return true; + } + void addToCallbackList(Callback callback) { if (callback != null) { mCallbacks.add(callback); diff --git a/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java b/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java index b1bbd06e9d6..27d90269e3f 100644 --- a/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java @@ -29,13 +29,15 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; 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 java.util.List; -public class TimeSpentInAppPreferenceController extends BasePreferenceController { - +/** + * To Retrieve the time consumption of the application. + */ +public class TimeSpentInAppPreferenceController extends LiveDataController { @VisibleForTesting 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 - public CharSequence getSummary() { + protected CharSequence getSummaryTextInBackground() { return mAppFeatureProvider.getTimeSpentInApp(mPackageName); } diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java index ce980e0bda2..5dd769db130 100644 --- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java +++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java @@ -49,6 +49,11 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment { return TAG; } + @Override + protected boolean isParalleledControllers() { + return true; + } + @Override public int getHelpResource() { return R.string.help_url_connected_devices; diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java index 0594ef5aaf3..4df641efa65 100644 --- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java @@ -361,6 +361,11 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra return mPreferenceControllers; } + @Override + protected boolean isParalleledControllers() { + return true; + } + private void registerReceivers() { LocalBroadcastManager.getInstance(getContext()) .registerReceiver(mEnableAdbReceiver, new IntentFilter( diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java index ad3df333bfa..db704ae850d 100644 --- a/src/com/android/settings/network/NetworkDashboardFragment.java +++ b/src/com/android/settings/network/NetworkDashboardFragment.java @@ -86,6 +86,11 @@ public class NetworkDashboardFragment extends DashboardFragment implements this /* fragment */, this /* mobilePlanHost */); } + @Override + protected boolean isParalleledControllers() { + return true; + } + private static List buildPreferenceControllers(Context context, Lifecycle lifecycle, MetricsFeatureProvider metricsFeatureProvider, Fragment fragment, MobilePlanPreferenceHost mobilePlanHost) { diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java index 0a9a5b1e988..6801a807e0e 100644 --- a/src/com/android/settings/notification/ConfigureNotificationSettings.java +++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java @@ -90,6 +90,11 @@ public class ConfigureNotificationSettings extends DashboardFragment implements return buildPreferenceControllers(context, app, this); } + @Override + protected boolean isParalleledControllers() { + return true; + } + private static List buildPreferenceControllers(Context context, Application app, Fragment host) { final List controllers = new ArrayList<>(); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceControllerTest.java index e1da707e543..775025616ba 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceControllerTest.java @@ -119,8 +119,8 @@ public class TimeSpentInAppPreferenceControllerTest { } @Test - public void getSummary_shouldQueryAppFeatureProvider() { - mController.getSummary(); + public void getSummaryTextInBackground_shouldQueryAppFeatureProvider() { + mController.getSummaryTextInBackground(); verify(mFeatureFactory.applicationFeatureProvider).getTimeSpentInApp( nullable(String.class));