DO NOT MERGE - Exclude TYPE_PRIVATE_PRESENTATION app visiblity am: c97296e9d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19537069 Change-Id: I51090ef67905c994de084ecc9291e95b1f2cff85 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_SUSTAINED_PER
|
|||||||
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
|
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
|
||||||
import static android.view.WindowManager.LayoutParams.TYPE_DREAM;
|
import static android.view.WindowManager.LayoutParams.TYPE_DREAM;
|
||||||
import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
|
import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
|
||||||
|
import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
|
||||||
import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
|
import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
|
||||||
|
|
||||||
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
|
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
|
||||||
@@ -317,13 +318,17 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the callingUid has any non-toast window currently visible to the user.
|
* Returns {@code true} if the callingUid has any non-toast window currently visible to the
|
||||||
* Also ignores TYPE_APPLICATION_STARTING, since those windows don't belong to apps.
|
* user. Also ignores {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_STARTING},
|
||||||
|
* and{@link android.view.WindowManager.LayoutParams#TYPE_PRIVATE_PRESENTATION}, as they
|
||||||
|
* should not count towards the apps visibility
|
||||||
|
* @see WindowState#isNonToastOrStartingOrPrivatePresentation()
|
||||||
*/
|
*/
|
||||||
boolean isAnyNonToastWindowVisibleForUid(int callingUid) {
|
boolean isAnyNonToastWindowVisibleForUid(int callingUid) {
|
||||||
return forAllWindows(w ->
|
return forAllWindows(w ->
|
||||||
w.getOwningUid() == callingUid && w.mAttrs.type != TYPE_TOAST
|
w.getOwningUid() == callingUid && w.mAttrs.type != TYPE_TOAST
|
||||||
&& w.mAttrs.type != TYPE_APPLICATION_STARTING && w.isVisibleNow(),
|
&& w.mAttrs.type != TYPE_APPLICATION_STARTING
|
||||||
|
&& w.mAttrs.type != TYPE_PRIVATE_PRESENTATION && w.isVisibleNow(),
|
||||||
true /* traverseTopToBottom */);
|
true /* traverseTopToBottom */);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user