From b2788d447508076163111da0960758ae6f4c584a Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Thu, 19 Nov 2020 20:13:17 +0100 Subject: [PATCH 1/2] Move device/google/atv overlays into SystemUI There was no need for a separate RRO for this. Television UI mode covers everything needed for a default TV overlay. Test: make dist Bug: 173138807 Change-Id: If689c72c22e140a142d86861b3273b40de3a6496 --- packages/SystemUI/res/values-television/config.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/SystemUI/res/values-television/config.xml b/packages/SystemUI/res/values-television/config.xml index cebe1e83ceeda..23eefd3d66973 100644 --- a/packages/SystemUI/res/values-television/config.xml +++ b/packages/SystemUI/res/values-television/config.xml @@ -44,6 +44,12 @@ com.android.systemui.wmshell.WMShell + + false + + + 3 + true From 6335ad6565fcb637265443f0b6ba73f2ef0ae312 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Thu, 19 Nov 2020 22:34:37 +0100 Subject: [PATCH 2/2] 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 --- packages/SystemUI/AndroidManifest.xml | 3 +-- packages/SystemUI/res/values-television/config.xml | 3 --- packages/SystemUI/res/values/config.xml | 3 --- .../systemui/keyguard/KeyguardViewMediator.java | 14 +++++++++++++- 4 files changed, 14 insertions(+), 9 deletions(-) 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 - - false - 3 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