diff options
author | 2017-09-06 12:58:08 +0000 | |
---|---|---|
committer | 2017-09-06 12:58:08 +0000 | |
commit | 89eceea5caf0a477450935ff593c658620a9bedc (patch) | |
tree | 46b89187f6fe08faff40d4f00b4a7f6a969db96c | |
parent | 2e21fba2b506e8b56fcc776853f3c314dc593ffb (diff) | |
parent | ca8a216cf527c9a5a67e768cd31c39e7aefb1c64 (diff) |
Merge "Keyguard: Don't show when booting to cryptkeeper" into oc-mr1-dev
-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"); |