Do not allow draw on top for App notification settings
Fixes: 119115683
Test: manual
Change-Id: Ib7b878a23b4a99171c58b5de992fb87feca8a28a
Merged-In: Ib7b878a23b4a99171c58b5de992fb87feca8a28a
(cherry picked from commit fe86a2a51f0b8e01e5f595bd60edc594eef58aba)
(cherry picked from commit e4800786cff0df47392d0954d700743a1f6cfc8f)
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index 72a4cc1..c2402a4 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -17,6 +17,8 @@
package com.android.settings.notification;
import android.app.Activity;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
import android.app.NotificationChannel;
import android.app.NotificationChannelGroup;
import android.app.NotificationManager;
@@ -33,6 +35,8 @@
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Switch;
+import android.view.Window;
+import android.view.WindowManager;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
@@ -76,6 +80,9 @@
public void onResume() {
super.onResume();
+ getActivity().getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+ android.util.EventLog.writeEvent(0x534e4554, "119115683", -1, "");
+
if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
Log.w(TAG, "Missing package or uid or packageinfo");
finish();
@@ -125,6 +132,15 @@
updateDependents(mAppRow.banned);
}
+ @Override
+ public void onPause() {
+ super.onPause();
+ final Window window = getActivity().getWindow();
+ final WindowManager.LayoutParams attrs = window.getAttributes();
+ attrs.privateFlags &= ~PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+ window.setAttributes(attrs);
+ }
+
private void addHeaderPref() {
ArrayMap<String, AppRow> rows = new ArrayMap<>();
rows.put(mAppRow.pkg, mAppRow);