diff options
author | 2017-09-06 13:07:33 +0000 | |
---|---|---|
committer | 2017-09-06 13:07:33 +0000 | |
commit | 93dac12f10c562dbda2483f1ac50a21b28f6e44c (patch) | |
tree | 2fbb2daae730e850d7fbdc848c3270b601bbe6d1 | |
parent | c17f1d412b682ee12f30bc77b3b5275a5898fc7e (diff) | |
parent | 89eceea5caf0a477450935ff593c658620a9bedc (diff) |
Merge "Keyguard: Don't show when booting to cryptkeeper" into oc-mr1-dev
am: 89eceea5ca
Change-Id: I7c34668b10ff0402918e8e582ec88480a321ca82
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java | 17 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java | 6 |
2 files changed, 23 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index bb6213b8921f..c596398cf804 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -38,6 +38,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.database.ContentObserver; @@ -52,6 +53,7 @@ import android.os.Handler; import android.os.IRemoteCallback; import android.os.Message; import android.os.RemoteException; +import android.os.ServiceManager; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; @@ -157,6 +159,21 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private static final ComponentName FALLBACK_HOME_COMPONENT = new ComponentName( "com.android.settings", "com.android.settings.FallbackHome"); + + /** + * If true, the system is in the half-boot-to-decryption-screen state. + * Prudently disable lockscreen. + */ + public static final boolean CORE_APPS_ONLY; + static { + try { + CORE_APPS_ONLY = IPackageManager.Stub.asInterface( + ServiceManager.getService("package")).isOnlyCoreApps(); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + private static KeyguardUpdateMonitor sInstance; private final Context mContext; diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 4733008c06c3..3eb68f5214c0 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1228,6 +1228,12 @@ public class KeyguardViewMediator extends SystemUI { * Enable the keyguard if the settings are appropriate. */ private void doKeyguardLocked(Bundle options) { + if (KeyguardUpdateMonitor.CORE_APPS_ONLY) { + // Don't show keyguard during half-booted cryptkeeper stage. + if (DEBUG) Log.d(TAG, "doKeyguard: not showing because booting to cryptkeeper"); + return; + } + // if another app is disabling us, don't show if (!mExternallyEnabled) { if (DEBUG) Log.d(TAG, "doKeyguard: not showing because externally disabled"); |