diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 3de0fbdf8fb10..7120cc21c8219 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -623,8 +623,7 @@ + android:exported="true" /> com.android.systemui.wmshell.WMShell + + 3 + true diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 4407d8faeaa6a..880dd378e390d 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -161,9 +161,6 @@ 10000 - - true - 3 diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 4c68312b93785..aea0dd0ee4b11 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -34,10 +34,12 @@ import android.app.PendingIntent; import android.app.StatusBarManager; import android.app.trust.TrustManager; import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.UserInfo; import android.hardware.biometrics.BiometricSourceType; import android.media.AudioAttributes; @@ -88,6 +90,7 @@ import com.android.systemui.SystemUI; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.dump.DumpManager; +import com.android.systemui.keyguard.KeyguardService; import com.android.systemui.keyguard.dagger.KeyguardModule; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.FalsingManager; @@ -779,7 +782,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable { // Assume keyguard is showing (unless it's disabled) until we know for sure, unless Keyguard // is disabled. - if (mContext.getResources().getBoolean(R.bool.config_enableKeyguardService)) { + if (isKeyguardServiceEnabled()) { setShowingLocked(!shouldWaitForProvisioning() && !mLockPatternUtils.isLockScreenDisabled( KeyguardUpdateMonitor.getCurrentUser()), true /* forceCallbacks */); @@ -957,6 +960,15 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable { mUpdateMonitor.dispatchFinishedGoingToSleep(why); } + private boolean isKeyguardServiceEnabled() { + try { + return mContext.getPackageManager().getServiceInfo( + new ComponentName(mContext, KeyguardService.class), 0).isEnabled(); + } catch (NameNotFoundException e) { + return true; + } + } + private long getLockTimeout(int userId) { // if the screen turned off because of timeout or the user hit the power button // and we don't need to lock immediately, set an alarm