Loading src/com/android/settings/core/BasePreferenceController.java +1 −10 Original line number Diff line number Diff line Loading @@ -126,7 +126,6 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl @Nullable private UserHandle mWorkProfileUser; private int mMetricsCategory; private boolean mIsFirstLaunch; private boolean mPrefVisibility; /** Loading Loading @@ -198,7 +197,6 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl public BasePreferenceController(Context context, String preferenceKey) { super(context); mPreferenceKey = preferenceKey; mIsFirstLaunch = true; mPrefVisibility = true; if (TextUtils.isEmpty(mPreferenceKey)) { throw new IllegalArgumentException("Preference key must be set"); Loading Loading @@ -331,13 +329,6 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl } } /** * Set back the value of whether this is the first launch. */ public void revokeFirstLaunch() { mIsFirstLaunch = false; } /** * Launches the specified fragment for the work profile user if the associated * {@link Preference} is clicked. Otherwise just forward it to the super class. Loading Loading @@ -454,7 +445,7 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl * preference visibility. */ protected void updatePreferenceVisibilityDelegate(Preference preference, boolean isVisible) { if (mUiBlockerFinished || !mIsFirstLaunch) { if (mUiBlockerFinished) { preference.setVisible(isVisible); return; } Loading src/com/android/settings/dashboard/DashboardFragment.java +6 −6 Original line number Diff line number Diff line Loading @@ -132,17 +132,22 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @VisibleForTesting void checkUiBlocker(List<AbstractPreferenceController> controllers) { final List<String> keys = new ArrayList<>(); final List<BasePreferenceController> baseControllers = new ArrayList<>(); controllers.forEach(controller -> { if (controller instanceof BasePreferenceController.UiBlocker && controller.isAvailable()) { ((BasePreferenceController) controller).setUiBlockListener(this); keys.add(controller.getPreferenceKey()); baseControllers.add((BasePreferenceController) controller); } }); if (!keys.isEmpty()) { mBlockerController = new UiBlockerController(keys); mBlockerController.start(() -> updatePreferenceVisibility(mPreferenceControllers)); mBlockerController.start(() -> { updatePreferenceVisibility(mPreferenceControllers); baseControllers.forEach(controller -> controller.setUiBlockerFinished(true)); }); } } Loading Loading @@ -250,11 +255,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment } mListeningToCategoryChange = false; } mControllers.forEach(controller -> { if (controller instanceof BasePreferenceController.UiBlocker) { ((BasePreferenceController) controller).revokeFirstLaunch(); } }); } @Override Loading Loading
src/com/android/settings/core/BasePreferenceController.java +1 −10 Original line number Diff line number Diff line Loading @@ -126,7 +126,6 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl @Nullable private UserHandle mWorkProfileUser; private int mMetricsCategory; private boolean mIsFirstLaunch; private boolean mPrefVisibility; /** Loading Loading @@ -198,7 +197,6 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl public BasePreferenceController(Context context, String preferenceKey) { super(context); mPreferenceKey = preferenceKey; mIsFirstLaunch = true; mPrefVisibility = true; if (TextUtils.isEmpty(mPreferenceKey)) { throw new IllegalArgumentException("Preference key must be set"); Loading Loading @@ -331,13 +329,6 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl } } /** * Set back the value of whether this is the first launch. */ public void revokeFirstLaunch() { mIsFirstLaunch = false; } /** * Launches the specified fragment for the work profile user if the associated * {@link Preference} is clicked. Otherwise just forward it to the super class. Loading Loading @@ -454,7 +445,7 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl * preference visibility. */ protected void updatePreferenceVisibilityDelegate(Preference preference, boolean isVisible) { if (mUiBlockerFinished || !mIsFirstLaunch) { if (mUiBlockerFinished) { preference.setVisible(isVisible); return; } Loading
src/com/android/settings/dashboard/DashboardFragment.java +6 −6 Original line number Diff line number Diff line Loading @@ -132,17 +132,22 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @VisibleForTesting void checkUiBlocker(List<AbstractPreferenceController> controllers) { final List<String> keys = new ArrayList<>(); final List<BasePreferenceController> baseControllers = new ArrayList<>(); controllers.forEach(controller -> { if (controller instanceof BasePreferenceController.UiBlocker && controller.isAvailable()) { ((BasePreferenceController) controller).setUiBlockListener(this); keys.add(controller.getPreferenceKey()); baseControllers.add((BasePreferenceController) controller); } }); if (!keys.isEmpty()) { mBlockerController = new UiBlockerController(keys); mBlockerController.start(() -> updatePreferenceVisibility(mPreferenceControllers)); mBlockerController.start(() -> { updatePreferenceVisibility(mPreferenceControllers); baseControllers.forEach(controller -> controller.setUiBlockerFinished(true)); }); } } Loading Loading @@ -250,11 +255,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment } mListeningToCategoryChange = false; } mControllers.forEach(controller -> { if (controller instanceof BasePreferenceController.UiBlocker) { ((BasePreferenceController) controller).revokeFirstLaunch(); } }); } @Override Loading