Loading src/com/android/settings/dashboard/DashboardFragment.java +10 −9 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers = new ArrayMap<>(); private final Set<String> mDashboardTilePrefKeys = new ArraySet<>(); private final List<AbstractPreferenceController> mControllers = new ArrayList<>(); private DashboardFeatureProvider mDashboardFeatureProvider; private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController; Loading @@ -79,7 +80,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment R.array.config_suppress_injected_tile_keys)); mDashboardFeatureProvider = FeatureFactory.getFactory(context). getDashboardFeatureProvider(context); final List<AbstractPreferenceController> controllers = new ArrayList<>(); // Load preference controllers from code final List<AbstractPreferenceController> controllersFromCode = createPreferenceControllers(context); Loading @@ -93,9 +93,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment // Add unique controllers to list. if (controllersFromCode != null) { controllers.addAll(controllersFromCode); mControllers.addAll(controllersFromCode); } controllers.addAll(uniqueControllerFromXml); mControllers.addAll(uniqueControllerFromXml); // And wire up with lifecycle. final Lifecycle lifecycle = getSettingsLifecycle(); Loading @@ -107,12 +107,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment mPlaceholderPreferenceController = new DashboardTilePlaceholderPreferenceController(context); controllers.add(mPlaceholderPreferenceController); for (AbstractPreferenceController controller : controllers) { mControllers.add(mPlaceholderPreferenceController); for (AbstractPreferenceController controller : mControllers) { addPreferenceController(controller); } checkUiBlocker(controllers); } @VisibleForTesting Loading @@ -122,8 +120,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment .stream() .filter(controller -> controller instanceof BasePreferenceController.UiBlocker) .forEach(controller -> { if (controller.isAvailable()) { ((BasePreferenceController) controller).setUiBlockListener(this); keys.add(controller.getPreferenceKey()); } }); if (!keys.isEmpty()) { Loading Loading @@ -157,6 +157,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { checkUiBlocker(mControllers); refreshAllPreferences(getLogTag()); } Loading tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java +17 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static org.mockito.Mockito.when; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.pm.ActivityInfo; import android.net.Uri; import android.os.Bundle; import androidx.preference.Preference; Loading Loading @@ -240,16 +241,30 @@ public class DashboardFragmentTest { } @Test public void checkUiBlocker_hasUiBlocker_controllerNotNull() { public void checkUiBlocker_hasUiBlockerAndControllerIsAvailable_controllerNotNull() { final BlockingSlicePrefController controller = new BlockingSlicePrefController(mContext, "pref_key"); controller.setSliceUri(Uri.parse("testUri")); mTestFragment.mBlockerController = null; mControllers.add(new TestPreferenceController(mContext)); mControllers.add(new BlockingSlicePrefController(mContext, "pref_key")); mControllers.add(controller); mTestFragment.checkUiBlocker(mControllers); assertThat(mTestFragment.mBlockerController).isNotNull(); } @Test public void checkUiBlocker_hasUiBlockerAndControllerIsNotAvailable_controllerIsNull() { mTestFragment.mBlockerController = null; mControllers.add(new TestPreferenceController(mContext)); mControllers.add(new BlockingSlicePrefController(mContext, "pref_key")); mTestFragment.checkUiBlocker(mControllers); assertThat(mTestFragment.mBlockerController).isNull(); } public static class TestPreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin { Loading Loading
src/com/android/settings/dashboard/DashboardFragment.java +10 −9 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers = new ArrayMap<>(); private final Set<String> mDashboardTilePrefKeys = new ArraySet<>(); private final List<AbstractPreferenceController> mControllers = new ArrayList<>(); private DashboardFeatureProvider mDashboardFeatureProvider; private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController; Loading @@ -79,7 +80,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment R.array.config_suppress_injected_tile_keys)); mDashboardFeatureProvider = FeatureFactory.getFactory(context). getDashboardFeatureProvider(context); final List<AbstractPreferenceController> controllers = new ArrayList<>(); // Load preference controllers from code final List<AbstractPreferenceController> controllersFromCode = createPreferenceControllers(context); Loading @@ -93,9 +93,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment // Add unique controllers to list. if (controllersFromCode != null) { controllers.addAll(controllersFromCode); mControllers.addAll(controllersFromCode); } controllers.addAll(uniqueControllerFromXml); mControllers.addAll(uniqueControllerFromXml); // And wire up with lifecycle. final Lifecycle lifecycle = getSettingsLifecycle(); Loading @@ -107,12 +107,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment mPlaceholderPreferenceController = new DashboardTilePlaceholderPreferenceController(context); controllers.add(mPlaceholderPreferenceController); for (AbstractPreferenceController controller : controllers) { mControllers.add(mPlaceholderPreferenceController); for (AbstractPreferenceController controller : mControllers) { addPreferenceController(controller); } checkUiBlocker(controllers); } @VisibleForTesting Loading @@ -122,8 +120,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment .stream() .filter(controller -> controller instanceof BasePreferenceController.UiBlocker) .forEach(controller -> { if (controller.isAvailable()) { ((BasePreferenceController) controller).setUiBlockListener(this); keys.add(controller.getPreferenceKey()); } }); if (!keys.isEmpty()) { Loading Loading @@ -157,6 +157,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { checkUiBlocker(mControllers); refreshAllPreferences(getLogTag()); } Loading
tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java +17 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static org.mockito.Mockito.when; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.pm.ActivityInfo; import android.net.Uri; import android.os.Bundle; import androidx.preference.Preference; Loading Loading @@ -240,16 +241,30 @@ public class DashboardFragmentTest { } @Test public void checkUiBlocker_hasUiBlocker_controllerNotNull() { public void checkUiBlocker_hasUiBlockerAndControllerIsAvailable_controllerNotNull() { final BlockingSlicePrefController controller = new BlockingSlicePrefController(mContext, "pref_key"); controller.setSliceUri(Uri.parse("testUri")); mTestFragment.mBlockerController = null; mControllers.add(new TestPreferenceController(mContext)); mControllers.add(new BlockingSlicePrefController(mContext, "pref_key")); mControllers.add(controller); mTestFragment.checkUiBlocker(mControllers); assertThat(mTestFragment.mBlockerController).isNotNull(); } @Test public void checkUiBlocker_hasUiBlockerAndControllerIsNotAvailable_controllerIsNull() { mTestFragment.mBlockerController = null; mControllers.add(new TestPreferenceController(mContext)); mControllers.add(new BlockingSlicePrefController(mContext, "pref_key")); mTestFragment.checkUiBlocker(mControllers); assertThat(mTestFragment.mBlockerController).isNull(); } public static class TestPreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin { Loading