summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Lee <rgl@google.com>2020-11-19 22:34:37 +0100
committerRobin Lee <rgl@google.com>2020-11-24 18:09:49 +0100
commit03ec0d04929fd532837d585ee97c41fb6ad8cc26 (patch)
treef8b7b7004574c5856ea4fa61714503a9cc5f3e6c
parentdfb7ca61574f46f7ceb7797d14b95aeb319ee370 (diff)
Move keyguard enabled to Component Override
When using RROs, android:enabled="@bool/form_factor_flag" won't work any more. So we need to use a component override flag per b/135048762. Test: Flash an adt3 with RRO enabled. see that systemui is coming up. Bug: 173138807 Change-Id: If9a99f850ebb34755b4146b786c189f9fb590c3d Merged-In: If9a99f850ebb34755b4146b786c189f9fb590c3d
-rw-r--r--packages/SystemUI/AndroidManifest.xml3
-rw-r--r--packages/SystemUI/res/values-television/config.xml3
-rw-r--r--packages/SystemUI/res/values/config.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java14
4 files changed, 14 insertions, 9 deletions
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index a7ef5e6f58f0..2b0f9ea4ec3a 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -601,8 +601,7 @@
<service
android:name=".keyguard.KeyguardService"
- android:exported="true"
- android:enabled="@bool/config_enableKeyguardService" />
+ android:exported="true" />
<activity android:name=".keyguard.WorkLockActivity"
android:label="@string/accessibility_desc_work_lock"
diff --git a/packages/SystemUI/res/values-television/config.xml b/packages/SystemUI/res/values-television/config.xml
index afe186e9bec1..3968a67f083a 100644
--- a/packages/SystemUI/res/values-television/config.xml
+++ b/packages/SystemUI/res/values-television/config.xml
@@ -43,9 +43,6 @@
<item>com.android.systemui.toast.ToastUI</item>
</string-array>
- <!-- Disable KeyguardService -->
- <bool name="config_enableKeyguardService">false</bool>
-
<!-- Svelte specific logic, see RecentsConfiguration.SVELTE_* constants. -->
<integer name="recents_svelte_level">3</integer>
</resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 01abc77aea38..f834157a7372 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -168,9 +168,6 @@
<!-- Animation duration when using long press on recents to dock -->
<integer name="long_press_dock_anim_duration">250</integer>
- <!-- Whether to enable KeyguardService or not -->
- <bool name="config_enableKeyguardService">true</bool>
-
<!-- The maximum count of notifications on Keyguard. The rest will be collapsed in an overflow
card. -->
<integer name="keyguard_max_notification_count">3</integer>
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 75f4809d752f..37848d68df58 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;
@@ -89,6 +91,7 @@ import com.android.systemui.SystemUIFactory;
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.plugins.FalsingManager;
import com.android.systemui.shared.system.QuickStepContract;
@@ -784,7 +787,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 */);
@@ -962,6 +965,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