Disallow overlays for ResolverActivity am: 978809e428

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15960136

Change-Id: I9471eb991a13b20969cdca2e704e1d13bba7643f
This commit is contained in:
Collin Fijalkovich
2021-10-07 16:09:18 +00:00
committed by Automerger Merge Worker

View File

@@ -19,6 +19,7 @@ package com.android.internal.app;
import static android.Manifest.permission.INTERACT_ACROSS_PROFILES;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.PermissionChecker.PID_UNKNOWN;
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
import android.annotation.Nullable;
import android.annotation.StringRes;
@@ -69,7 +70,9 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowInsets;
import android.view.WindowManager;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.Button;
@@ -101,7 +104,6 @@ import java.util.List;
import java.util.Objects;
import java.util.Set;
/**
* This activity is displayed when the system attempts to start an Intent for
* which there is more than one matching activity, allowing the user to decide
@@ -822,6 +824,8 @@ public class ResolverActivity extends Activity implements
@Override
protected void onStart() {
super.onStart();
this.getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
if (shouldShowTabs()) {
mWorkProfileStateReceiver = createWorkProfileStateReceiver();
registerWorkProfileStateReceiver();
@@ -849,6 +853,12 @@ public class ResolverActivity extends Activity implements
@Override
protected void onStop() {
super.onStop();
final Window window = this.getWindow();
final WindowManager.LayoutParams attrs = window.getAttributes();
attrs.privateFlags &= ~SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
window.setAttributes(attrs);
if (mRegistered) {
mPersonalPackageMonitor.unregister();
if (mWorkPackageMonitor != null) {