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;
/**
* 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#NAV_BAR_FORCE_VISIBLE}
* - {@link Settings.Secure#NAV_BAR_KIDS_MODE}
*
* @hide
*/
public class ForceShowNavigationBarSettingsObserver extends ContentObserver {
public class KidsModeSettingsObserver extends ContentObserver {
private Context mContext;
private Runnable mOnChangeRunnable;
public ForceShowNavigationBarSettingsObserver(Handler handler, Context context) {
public KidsModeSettingsObserver(Handler handler, Context context) {
super(handler);
mContext = context;
}
@@ -52,7 +52,7 @@ public class ForceShowNavigationBarSettingsObserver extends ContentObserver {
Settings.Secure.getUriFor(Settings.Secure.NAVIGATION_MODE),
false, this, UserHandle.USER_ALL);
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);
}
@@ -78,6 +78,6 @@ public class ForceShowNavigationBarSettingsObserver extends ContentObserver {
return Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.NAVIGATION_MODE, 0, UserHandle.USER_CURRENT) == 0
&& 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 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.common.DisplayController;
import com.android.wm.shell.common.DisplayInsetsController;
@@ -85,7 +85,7 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
private int mDisplayWidth;
private int mDisplayHeight;
private ForceShowNavigationBarSettingsObserver mForceShowNavigationBarSettingsObserver;
private KidsModeSettingsObserver mKidsModeSettingsObserver;
private boolean mEnabled;
DisplayController.OnDisplaysChangedListener mOnDisplaysChangedListener =
@@ -138,14 +138,14 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
DisplayController displayController,
DisplayInsetsController displayInsetsController,
Optional<RecentTasksController> recentTasks,
ForceShowNavigationBarSettingsObserver forceShowNavigationBarSettingsObserver) {
KidsModeSettingsObserver kidsModeSettingsObserver) {
super(taskOrganizerController, mainExecutor, context, /* compatUI= */ null, recentTasks);
mContext = context;
mMainHandler = mainHandler;
mSyncQueue = syncTransactionQueue;
mDisplayController = displayController;
mDisplayInsetsController = displayInsetsController;
mForceShowNavigationBarSettingsObserver = forceShowNavigationBarSettingsObserver;
mKidsModeSettingsObserver = kidsModeSettingsObserver;
}
public KidsModeTaskOrganizer(
@@ -169,13 +169,13 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
*/
public void initialize(StartingWindowController startingWindowController) {
initStartingWindow(startingWindowController);
if (mForceShowNavigationBarSettingsObserver == null) {
mForceShowNavigationBarSettingsObserver = new ForceShowNavigationBarSettingsObserver(
if (mKidsModeSettingsObserver == null) {
mKidsModeSettingsObserver = new KidsModeSettingsObserver(
mMainHandler, mContext);
}
mForceShowNavigationBarSettingsObserver.setOnChangeRunnable(() -> updateKidsModeState());
mKidsModeSettingsObserver.setOnChangeRunnable(() -> updateKidsModeState());
updateKidsModeState();
mForceShowNavigationBarSettingsObserver.register();
mKidsModeSettingsObserver.register();
}
@Override
@@ -211,7 +211,7 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
@VisibleForTesting
void updateKidsModeState() {
final boolean enabled = mForceShowNavigationBarSettingsObserver.isEnabled();
final boolean enabled = mKidsModeSettingsObserver.isEnabled();
if (mEnabled == enabled) {
return;
}

View File

@@ -44,7 +44,7 @@ import android.window.WindowContainerTransaction;
import androidx.test.ext.junit.runners.AndroidJUnit4;
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.DisplayInsetsController;
import com.android.wm.shell.common.ShellExecutor;
@@ -72,7 +72,7 @@ public class KidsModeTaskOrganizerTest {
@Mock private SurfaceControl mLeash;
@Mock private WindowContainerToken mToken;
@Mock private WindowContainerTransaction mTransaction;
@Mock private ForceShowNavigationBarSettingsObserver mObserver;
@Mock private KidsModeSettingsObserver mObserver;
@Mock private StartingWindowController mStartingWindowController;
@Mock private DisplayInsetsController mDisplayInsetsController;

View File

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