Merge "Update to use NAV_BAR_KIDS_MODE settings key for kids mode organizer" into tm-dev

This commit is contained in:
Shawn Lin
2022-04-18 03:41:27 +00:00
committed by Android (Google) Code Review
4 changed files with 25 additions and 25 deletions

View File

@@ -24,17 +24,17 @@ import android.os.UserHandle;
import android.provider.Settings; import android.provider.Settings;
/** /**
* A ContentObserver for listening force show navigation bar relative setting keys: * A ContentObserver for listening kids mode relative setting keys:
* - {@link Settings.Secure#NAVIGATION_MODE} * - {@link Settings.Secure#NAVIGATION_MODE}
* - {@link Settings.Secure#NAV_BAR_FORCE_VISIBLE} * - {@link Settings.Secure#NAV_BAR_KIDS_MODE}
* *
* @hide * @hide
*/ */
public class ForceShowNavigationBarSettingsObserver extends ContentObserver { public class KidsModeSettingsObserver extends ContentObserver {
private Context mContext; private Context mContext;
private Runnable mOnChangeRunnable; private Runnable mOnChangeRunnable;
public ForceShowNavigationBarSettingsObserver(Handler handler, Context context) { public KidsModeSettingsObserver(Handler handler, Context context) {
super(handler); super(handler);
mContext = context; mContext = context;
} }
@@ -52,7 +52,7 @@ public class ForceShowNavigationBarSettingsObserver extends ContentObserver {
Settings.Secure.getUriFor(Settings.Secure.NAVIGATION_MODE), Settings.Secure.getUriFor(Settings.Secure.NAVIGATION_MODE),
false, this, UserHandle.USER_ALL); false, this, UserHandle.USER_ALL);
r.registerContentObserver( r.registerContentObserver(
Settings.Secure.getUriFor(Settings.Secure.NAV_BAR_FORCE_VISIBLE), Settings.Secure.getUriFor(Settings.Secure.NAV_BAR_KIDS_MODE),
false, this, UserHandle.USER_ALL); false, this, UserHandle.USER_ALL);
} }
@@ -78,6 +78,6 @@ public class ForceShowNavigationBarSettingsObserver extends ContentObserver {
return Settings.Secure.getIntForUser(mContext.getContentResolver(), return Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.NAVIGATION_MODE, 0, UserHandle.USER_CURRENT) == 0 Settings.Secure.NAVIGATION_MODE, 0, UserHandle.USER_CURRENT) == 0
&& Settings.Secure.getIntForUser(mContext.getContentResolver(), && Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.NAV_BAR_FORCE_VISIBLE, 0, UserHandle.USER_CURRENT) == 1; Settings.Secure.NAV_BAR_KIDS_MODE, 0, UserHandle.USER_CURRENT) == 1;
} }
} }

View File

@@ -40,7 +40,7 @@ import android.window.WindowContainerTransaction;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.ForceShowNavigationBarSettingsObserver; import com.android.internal.policy.KidsModeSettingsObserver;
import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.DisplayInsetsController; import com.android.wm.shell.common.DisplayInsetsController;
@@ -85,7 +85,7 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
private int mDisplayWidth; private int mDisplayWidth;
private int mDisplayHeight; private int mDisplayHeight;
private ForceShowNavigationBarSettingsObserver mForceShowNavigationBarSettingsObserver; private KidsModeSettingsObserver mKidsModeSettingsObserver;
private boolean mEnabled; private boolean mEnabled;
DisplayController.OnDisplaysChangedListener mOnDisplaysChangedListener = DisplayController.OnDisplaysChangedListener mOnDisplaysChangedListener =
@@ -138,14 +138,14 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
DisplayController displayController, DisplayController displayController,
DisplayInsetsController displayInsetsController, DisplayInsetsController displayInsetsController,
Optional<RecentTasksController> recentTasks, Optional<RecentTasksController> recentTasks,
ForceShowNavigationBarSettingsObserver forceShowNavigationBarSettingsObserver) { KidsModeSettingsObserver kidsModeSettingsObserver) {
super(taskOrganizerController, mainExecutor, context, /* compatUI= */ null, recentTasks); super(taskOrganizerController, mainExecutor, context, /* compatUI= */ null, recentTasks);
mContext = context; mContext = context;
mMainHandler = mainHandler; mMainHandler = mainHandler;
mSyncQueue = syncTransactionQueue; mSyncQueue = syncTransactionQueue;
mDisplayController = displayController; mDisplayController = displayController;
mDisplayInsetsController = displayInsetsController; mDisplayInsetsController = displayInsetsController;
mForceShowNavigationBarSettingsObserver = forceShowNavigationBarSettingsObserver; mKidsModeSettingsObserver = kidsModeSettingsObserver;
} }
public KidsModeTaskOrganizer( public KidsModeTaskOrganizer(
@@ -169,13 +169,13 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
*/ */
public void initialize(StartingWindowController startingWindowController) { public void initialize(StartingWindowController startingWindowController) {
initStartingWindow(startingWindowController); initStartingWindow(startingWindowController);
if (mForceShowNavigationBarSettingsObserver == null) { if (mKidsModeSettingsObserver == null) {
mForceShowNavigationBarSettingsObserver = new ForceShowNavigationBarSettingsObserver( mKidsModeSettingsObserver = new KidsModeSettingsObserver(
mMainHandler, mContext); mMainHandler, mContext);
} }
mForceShowNavigationBarSettingsObserver.setOnChangeRunnable(() -> updateKidsModeState()); mKidsModeSettingsObserver.setOnChangeRunnable(() -> updateKidsModeState());
updateKidsModeState(); updateKidsModeState();
mForceShowNavigationBarSettingsObserver.register(); mKidsModeSettingsObserver.register();
} }
@Override @Override
@@ -211,7 +211,7 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
@VisibleForTesting @VisibleForTesting
void updateKidsModeState() { void updateKidsModeState() {
final boolean enabled = mForceShowNavigationBarSettingsObserver.isEnabled(); final boolean enabled = mKidsModeSettingsObserver.isEnabled();
if (mEnabled == enabled) { if (mEnabled == enabled) {
return; return;
} }

View File

@@ -44,7 +44,7 @@ import android.window.WindowContainerTransaction;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
import com.android.internal.policy.ForceShowNavigationBarSettingsObserver; import com.android.internal.policy.KidsModeSettingsObserver;
import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.DisplayInsetsController; import com.android.wm.shell.common.DisplayInsetsController;
import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.ShellExecutor;
@@ -72,7 +72,7 @@ public class KidsModeTaskOrganizerTest {
@Mock private SurfaceControl mLeash; @Mock private SurfaceControl mLeash;
@Mock private WindowContainerToken mToken; @Mock private WindowContainerToken mToken;
@Mock private WindowContainerTransaction mTransaction; @Mock private WindowContainerTransaction mTransaction;
@Mock private ForceShowNavigationBarSettingsObserver mObserver; @Mock private KidsModeSettingsObserver mObserver;
@Mock private StartingWindowController mStartingWindowController; @Mock private StartingWindowController mStartingWindowController;
@Mock private DisplayInsetsController mDisplayInsetsController; @Mock private DisplayInsetsController mDisplayInsetsController;

View File

@@ -138,8 +138,8 @@ import android.window.ClientWindowFrames;
import com.android.internal.R; import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.ForceShowNavigationBarSettingsObserver;
import com.android.internal.policy.GestureNavigationSettingsObserver; import com.android.internal.policy.GestureNavigationSettingsObserver;
import com.android.internal.policy.KidsModeSettingsObserver;
import com.android.internal.policy.ScreenDecorationsUtils; import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.policy.SystemBarUtils; import com.android.internal.policy.SystemBarUtils;
import com.android.internal.protolog.common.ProtoLog; import com.android.internal.protolog.common.ProtoLog;
@@ -378,7 +378,7 @@ public class DisplayPolicy {
private final WindowManagerInternal.AppTransitionListener mAppTransitionListener; private final WindowManagerInternal.AppTransitionListener mAppTransitionListener;
private final ForceShowNavigationBarSettingsObserver mForceShowNavigationBarSettingsObserver; private final KidsModeSettingsObserver mKidsModeSettingsObserver;
private boolean mForceShowNavigationBarEnabled; private boolean mForceShowNavigationBarEnabled;
private class PolicyHandler extends Handler { private class PolicyHandler extends Handler {
@@ -653,17 +653,17 @@ public class DisplayPolicy {
}); });
mHandler.post(mGestureNavigationSettingsObserver::register); mHandler.post(mGestureNavigationSettingsObserver::register);
mForceShowNavigationBarSettingsObserver = new ForceShowNavigationBarSettingsObserver( mKidsModeSettingsObserver = new KidsModeSettingsObserver(
mHandler, mContext); mHandler, mContext);
mForceShowNavigationBarSettingsObserver.setOnChangeRunnable(() -> { mKidsModeSettingsObserver.setOnChangeRunnable(() -> {
synchronized (mLock) { synchronized (mLock) {
mForceShowNavigationBarEnabled = mForceShowNavigationBarEnabled =
mForceShowNavigationBarSettingsObserver.isEnabled(); mKidsModeSettingsObserver.isEnabled();
updateSystemBarAttributes(); updateSystemBarAttributes();
} }
}); });
mForceShowNavigationBarEnabled = mForceShowNavigationBarSettingsObserver.isEnabled(); mForceShowNavigationBarEnabled = mKidsModeSettingsObserver.isEnabled();
mHandler.post(mForceShowNavigationBarSettingsObserver::register); mHandler.post(mKidsModeSettingsObserver::register);
} }
/** /**
@@ -2861,7 +2861,7 @@ public class DisplayPolicy {
void release() { void release() {
mDisplayContent.mTransitionController.unregisterLegacyListener(mAppTransitionListener); mDisplayContent.mTransitionController.unregisterLegacyListener(mAppTransitionListener);
mHandler.post(mGestureNavigationSettingsObserver::unregister); mHandler.post(mGestureNavigationSettingsObserver::unregister);
mHandler.post(mForceShowNavigationBarSettingsObserver::unregister); mHandler.post(mKidsModeSettingsObserver::unregister);
mImmersiveModeConfirmation.release(); mImmersiveModeConfirmation.release();
} }