mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-10-01 01:35:54 -04:00
964877bbf6
wgetb96ee4a2d1
.patch -O telephony-01.patch wgetc16e6e78c1
.patch -O media-01.patch wgetd5771450d7
.patch -O media-02.patch wgeta1370bd00c
.patch -O nn-01.patch wgetce2776f4ca
.patch -O bt-01.patch wget585f583ef5
.patch -O bt-02.patch wgetc9905e7968
.patch -O bt-03.patch wgetc93ec045f5
.patch -O bt-04.patch wget89fb17d172
.patch -O bt-05.patch wget14aed2455e
.patch -O bt-06.patch wgetcd438ebc52
.patch -O bt-07.patch wget27e7cdc4e5
.patch -O nfc-01.patch wgetdfeb4270b8
.patch -O launcher-01.patch wgetb1993f6cec
.patch -O native-01.patch wgetdf4a9362cd
.patch -O fwb-01.patch wgetb55563bb9d
.patch -O fwb-02.patch wgeta80971a281
.patch -O fwb-03.patch wget7e173b4383
.patch -O fwb-04.patch wget44191b1c6b
.patch -O fwb-05.patch wget8dc8dfe572
.patch -O fwb-06.patch wget00a4224100
.patch -O av-01.patch wget21623d1f43
.patch -O settings-01.patch wgetfa5ec443d9
.patch -O settings-02.patch wgetba4da9c7b3
.patch -O settings-03.patch Signed-off-by: Tad <tad@spotco.us>
46 lines
2.4 KiB
Diff
46 lines
2.4 KiB
Diff
From b55563bb9d534210c3f4c5e21ba07a63360c2094 Mon Sep 17 00:00:00 2001
|
|
From: Achim Thesmann <achim@google.com>
|
|
Date: Tue, 23 May 2023 00:26:33 +0000
|
|
Subject: [PATCH] Ignore virtual presentation windows - RESTRICT AUTOMERGE
|
|
|
|
Windows of TYPE_PRESENTATION on virtual displays should not be counted
|
|
as visible windows to determine if BAL is allowed.
|
|
|
|
Test: manual test, atest BackgroundActivityLaunchTest
|
|
Bug: 264029851, 205130886
|
|
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4c40b187cd5277c27d20758c675865bf89180c7a)
|
|
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5bf9607bec3f1224158cfcff7dd91ac558b46c0f)
|
|
Merged-In: I08b16ba1c155e951286ddc22019180cbd6334dfa
|
|
Change-Id: I08b16ba1c155e951286ddc22019180cbd6334dfa
|
|
---
|
|
.../core/java/com/android/server/wm/WindowState.java | 12 ++++++++++--
|
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
|
|
index 95fea0ee22f5..66213cc6403d 100644
|
|
--- a/services/core/java/com/android/server/wm/WindowState.java
|
|
+++ b/services/core/java/com/android/server/wm/WindowState.java
|
|
@@ -3596,12 +3596,20 @@ void onSurfaceShownChanged(boolean shown) {
|
|
// apps won't always be considered as foreground state.
|
|
// Exclude private presentations as they can only be shown on private virtual displays and
|
|
// shouldn't be the cause of an app be considered foreground.
|
|
- if (mAttrs.type >= FIRST_SYSTEM_WINDOW && mAttrs.type != TYPE_TOAST
|
|
- && mAttrs.type != TYPE_PRIVATE_PRESENTATION) {
|
|
+ // Exclude presentations on virtual displays as they are not actually visible.
|
|
+ if (mAttrs.type >= FIRST_SYSTEM_WINDOW
|
|
+ && mAttrs.type != TYPE_TOAST
|
|
+ && mAttrs.type != TYPE_PRIVATE_PRESENTATION
|
|
+ && !(mAttrs.type == TYPE_PRESENTATION && isOnVirtualDisplay())
|
|
+ ) {
|
|
mWmService.mAtmService.mActiveUids.onNonAppSurfaceVisibilityChanged(mOwnerUid, shown);
|
|
}
|
|
}
|
|
|
|
+ private boolean isOnVirtualDisplay() {
|
|
+ return getDisplayContent().mDisplay.getType() == Display.TYPE_VIRTUAL;
|
|
+ }
|
|
+
|
|
private void logExclusionRestrictions(int side) {
|
|
if (!logsGestureExclusionRestrictions(this)
|
|
|| SystemClock.uptimeMillis() < mLastExclusionLogUptimeMillis[side]
|