diff options
| author | 2017-09-06 13:13:55 +0000 | |
|---|---|---|
| committer | 2017-09-06 13:13:55 +0000 | |
| commit | cc78299968e7f8815dba58ae975f93d1c14992e9 (patch) | |
| tree | db9a8f80980e47bec31da35e4da9300e3e71d775 | |
| parent | d375476bda6226ce4c8ad57671114a7320161559 (diff) | |
| parent | 93dac12f10c562dbda2483f1ac50a21b28f6e44c (diff) | |
Merge "Keyguard: Don't show when booting to cryptkeeper" into oc-mr1-dev am: 89eceea5ca
am: 93dac12f10
Change-Id: I1c80000d63c791f1901ea4f68e246ca8dd38b668
| -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"); |