diff options
| author | 2021-02-09 19:20:35 +0000 | |
|---|---|---|
| committer | 2021-02-09 19:20:35 +0000 | |
| commit | f2e518533c387676b2fb09528acf178c8b11c679 (patch) | |
| tree | bb03bd15d3adad26b5e4f29159b21711432e3c58 | |
| parent | 51fbb494358959377710a1b02a232e2636d25caa (diff) | |
| parent | 35e18c5f4e37360cd81ef1366dcb1a4d4c23e870 (diff) | |
Merge "Remove special handling of recents" into sc-dev
| -rw-r--r-- | core/res/AndroidManifest.xml | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/Session.java | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 2 |
3 files changed, 4 insertions, 9 deletions
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index cc7251a4b3b0..856657ad8b56 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -2698,11 +2698,11 @@ The app can check whether it has this authorization by calling {@link android.provider.Settings#canDrawOverlays Settings.canDrawOverlays()}. - <p>Protection level: signature|appop|installer|recents|appPredictor|pre23|development --> + <p>Protection level: signature|appop|installer|appPredictor|pre23|development --> <permission android:name="android.permission.SYSTEM_ALERT_WINDOW" android:label="@string/permlab_systemAlertWindow" android:description="@string/permdesc_systemAlertWindow" - android:protectionLevel="signature|appop|installer|recents|appPredictor|pre23|development" /> + android:protectionLevel="signature|appop|installer|appPredictor|pre23|development" /> <!-- @SystemApi @hide Allows an application to create windows using the type {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY}, diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index 1f8daf6f361f..37bb2740f3f0 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -104,9 +104,6 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { final boolean mCanAddInternalSystemWindow; private final boolean mCanStartTasksFromRecents; - // If non-system overlays from this process can be hidden by the user or app using - // HIDE_NON_SYSTEM_OVERLAY_WINDOWS. - final boolean mOverlaysCanBeHidden; final boolean mCanCreateSystemApplicationOverlay; final boolean mCanHideNonSystemOverlayWindows; final boolean mCanAcquireSleepToken; @@ -136,8 +133,6 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { == PERMISSION_GRANTED; mCanStartTasksFromRecents = service.mContext.checkCallingOrSelfPermission( START_TASKS_FROM_RECENTS) == PERMISSION_GRANTED; - mOverlaysCanBeHidden = !mCanAddInternalSystemWindow - && !mService.mAtmInternal.isCallerRecents(mUid); mCanAcquireSleepToken = service.mContext.checkCallingOrSelfPermission(DEVICE_POWER) == PERMISSION_GRANTED; mShowingAlertWindowNotificationAllowed = mService.mShowAlertWindowNotifications; @@ -682,7 +677,7 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { boolean changed; - if (mOverlaysCanBeHidden && !mCanCreateSystemApplicationOverlay) { + if (!mCanAddInternalSystemWindow && !mCanCreateSystemApplicationOverlay) { // We want to track non-system apps adding alert windows so we can post an // on-going notification for the user to control their visibility. if (visible) { diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index fd3d9ba499b7..a94b0aa9b72f 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -3100,7 +3100,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } void setForceHideNonSystemOverlayWindowIfNeeded(boolean forceHide) { - if (!mSession.mOverlaysCanBeHidden + if (mSession.mCanAddInternalSystemWindow || (!isSystemAlertWindowType(mAttrs.type) && mAttrs.type != TYPE_TOAST)) { return; } |