Loading services/core/java/com/android/server/wm/DisplayPolicy.java +4 −0 Original line number Diff line number Diff line Loading @@ -2861,6 +2861,10 @@ public class DisplayPolicy { mImmersiveModeConfirmation.onLockTaskModeChangedLw(lockTaskState); } boolean onSystemUiSettingsChanged() { return mImmersiveModeConfirmation.onSettingChanged(mService.mCurrentUserId); } /** * Request a screenshot be taken. * Loading services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java +9 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,15 @@ public class ImmersiveModeConfirmation { } } boolean onSettingChanged(int currentUserId) { final boolean changed = loadSetting(currentUserId, mContext); // Remove the window if the setting changes to be confirmed. if (changed && sConfirmed) { mHandler.sendEmptyMessage(H.HIDE); } return changed; } void immersiveModeChangedLw(int rootDisplayAreaId, boolean isImmersiveMode, boolean userSetupComplete, boolean navBarEmpty) { mHandler.removeMessages(H.SHOW); Loading services/core/java/com/android/server/wm/WindowManagerService.java +14 −9 Original line number Diff line number Diff line Loading @@ -818,7 +818,7 @@ public class WindowManagerService extends IWindowManager.Stub } if (mImmersiveModeConfirmationsUri.equals(uri) || mPolicyControlUri.equals(uri)) { updateSystemUiSettings(); updateSystemUiSettings(true /* handleChange */); return; } Loading Loading @@ -874,17 +874,22 @@ public class WindowManagerService extends IWindowManager.Stub } void loadSettings() { updateSystemUiSettings(); updateSystemUiSettings(false /* handleChange */); updatePointerLocation(); } void updateSystemUiSettings() { boolean changed; void updateSystemUiSettings(boolean handleChange) { synchronized (mGlobalLock) { changed = ImmersiveModeConfirmation.loadSetting(mCurrentUserId, mContext); boolean changed = false; if (handleChange) { changed = getDefaultDisplayContentLocked().getDisplayPolicy() .onSystemUiSettingsChanged(); } else { ImmersiveModeConfirmation.loadSetting(mCurrentUserId, mContext); } if (changed) { updateRotation(false /* alwaysSendConfiguration */, false /* forceRelayout */); mWindowPlacerLocked.requestTraversal(); } } } Loading Loading @@ -2990,7 +2995,7 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void onUserSwitched() { mSettingsObserver.updateSystemUiSettings(); mSettingsObserver.updateSystemUiSettings(true /* handleChange */); synchronized (mGlobalLock) { // force a re-application of focused window sysui visibility on each display. mRoot.forAllDisplayPolicies(DisplayPolicy::resetSystemUiVisibilityLw); Loading Loading
services/core/java/com/android/server/wm/DisplayPolicy.java +4 −0 Original line number Diff line number Diff line Loading @@ -2861,6 +2861,10 @@ public class DisplayPolicy { mImmersiveModeConfirmation.onLockTaskModeChangedLw(lockTaskState); } boolean onSystemUiSettingsChanged() { return mImmersiveModeConfirmation.onSettingChanged(mService.mCurrentUserId); } /** * Request a screenshot be taken. * Loading
services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java +9 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,15 @@ public class ImmersiveModeConfirmation { } } boolean onSettingChanged(int currentUserId) { final boolean changed = loadSetting(currentUserId, mContext); // Remove the window if the setting changes to be confirmed. if (changed && sConfirmed) { mHandler.sendEmptyMessage(H.HIDE); } return changed; } void immersiveModeChangedLw(int rootDisplayAreaId, boolean isImmersiveMode, boolean userSetupComplete, boolean navBarEmpty) { mHandler.removeMessages(H.SHOW); Loading
services/core/java/com/android/server/wm/WindowManagerService.java +14 −9 Original line number Diff line number Diff line Loading @@ -818,7 +818,7 @@ public class WindowManagerService extends IWindowManager.Stub } if (mImmersiveModeConfirmationsUri.equals(uri) || mPolicyControlUri.equals(uri)) { updateSystemUiSettings(); updateSystemUiSettings(true /* handleChange */); return; } Loading Loading @@ -874,17 +874,22 @@ public class WindowManagerService extends IWindowManager.Stub } void loadSettings() { updateSystemUiSettings(); updateSystemUiSettings(false /* handleChange */); updatePointerLocation(); } void updateSystemUiSettings() { boolean changed; void updateSystemUiSettings(boolean handleChange) { synchronized (mGlobalLock) { changed = ImmersiveModeConfirmation.loadSetting(mCurrentUserId, mContext); boolean changed = false; if (handleChange) { changed = getDefaultDisplayContentLocked().getDisplayPolicy() .onSystemUiSettingsChanged(); } else { ImmersiveModeConfirmation.loadSetting(mCurrentUserId, mContext); } if (changed) { updateRotation(false /* alwaysSendConfiguration */, false /* forceRelayout */); mWindowPlacerLocked.requestTraversal(); } } } Loading Loading @@ -2990,7 +2995,7 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void onUserSwitched() { mSettingsObserver.updateSystemUiSettings(); mSettingsObserver.updateSystemUiSettings(true /* handleChange */); synchronized (mGlobalLock) { // force a re-application of focused window sysui visibility on each display. mRoot.forAllDisplayPolicies(DisplayPolicy::resetSystemUiVisibilityLw); Loading