Commit a5d9fd14 authored by Kevin F. Haggerty's avatar Kevin F. Haggerty

Merge tag 'android-9.0.0_r46' into staging/lineage-16.0_merge-android-9.0.0_r46

Android 9.0.0 Release 46 (PQ3A.190801.002)

* tag 'android-9.0.0_r46':
  Do not allow draw on top for App notification settings
  [RESTRICT AUTOMERGE] Make ScreenPinningSettings behaviour consistent with LockTaskController.

Change-Id: I17e3124c79c2e4acfde1e890211cea99fb5919b5
parents 42ccbd92 f047cf5c
......@@ -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 android.support.v7.preference.PreferenceGroup;
import android.support.v7.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;
......@@ -86,6 +90,9 @@ public class AppNotificationSettings extends NotificationSettingsBase {
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();
......@@ -119,6 +126,15 @@ public class AppNotificationSettings extends NotificationSettingsBase {
updatePreferenceStates();
}
@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;
......
......@@ -115,9 +115,13 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment
}
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) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment