DO NOT MERGE - Merge pie-platform-release (PPRL.190801.002) into master
Bug: 139369544
Change-Id: I483962d870c69d1c454d5bc04c76d9f7d7a12520
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index 9ebcd33..b5a07ce 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -16,6 +16,8 @@
package com.android.settings.notification;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
import android.app.NotificationChannel;
import android.app.NotificationChannelGroup;
import android.content.Context;
@@ -28,6 +30,8 @@
import androidx.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
+import android.view.Window;
+import android.view.WindowManager;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
@@ -81,6 +85,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();
@@ -115,6 +122,15 @@
}
@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);
+ }
+
+ @Override
protected String getLogTag() {
return TAG;
}
diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java
index 4806b8e..0fb426b 100644
--- a/src/com/android/settings/security/ScreenPinningSettings.java
+++ b/src/com/android/settings/security/ScreenPinningSettings.java
@@ -115,9 +115,13 @@
}
private boolean isScreenLockUsed() {
- int def = getCurrentSecurityTitle() != R.string.screen_pinning_unlock_none ? 1 : 0;
- return Settings.Secure.getInt(getContentResolver(),
- Settings.Secure.LOCK_TO_APP_EXIT_LOCKED, def) != 0;
+ // This functionality should be kept consistent with
+ // com.android.server.wm.LockTaskController (see b/127605586)
+ int defaultValueIfSettingNull = mLockPatternUtils.isSecure(UserHandle.myUserId()) ? 1 : 0;
+ return Settings.Secure.getInt(
+ getContentResolver(),
+ Settings.Secure.LOCK_TO_APP_EXIT_LOCKED,
+ defaultValueIfSettingNull) != 0;
}
private boolean setScreenLockUsed(boolean isEnabled) {