diff options
| -rwxr-xr-x | core/res/res/values/config.xml | 3 | ||||
| -rwxr-xr-x | core/res/res/values/symbols.xml | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java | 13 |
3 files changed, 14 insertions, 5 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 519cf3de6f6d..3ca88e5b0ed3 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2080,4 +2080,7 @@ <!-- Specifies the maximum burn-in offset vertically. --> <integer name="config_burnInProtectionMaxVerticalOffset">0</integer> + + <!-- Keyguard component --> + <string name="config_keyguardComponent" translatable="false">com.android.systemui/com.android.systemui.keyguard.KeyguardService</string> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index d13c4115c4ad..f16c5cfbca2b 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2049,6 +2049,9 @@ <java-symbol type="array" name="config_clockTickVibePattern" /> <java-symbol type="array" name="config_calendarDateVibePattern" /> + <!-- From KeyguardServiceDelegate --> + <java-symbol type="string" name="config_keyguardComponent" /> + <!-- From various Material changes --> <java-symbol type="attr" name="titleTextAppearance" /> <java-symbol type="attr" name="subtitleTextAppearance" /> diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java index c3fc195c2e3f..75c33af2a1e9 100644 --- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.content.pm.ActivityInfo; +import android.content.res.Resources; import android.graphics.PixelFormat; import android.os.Bundle; import android.os.IBinder; @@ -27,9 +28,6 @@ import com.android.internal.policy.IKeyguardShowCallback; * local or remote instances of keyguard. */ public class KeyguardServiceDelegate { - public static final String KEYGUARD_PACKAGE = "com.android.systemui"; - public static final String KEYGUARD_CLASS = "com.android.systemui.keyguard.KeyguardService"; - private static final String TAG = "KeyguardServiceDelegate"; private static final boolean DEBUG = true; @@ -111,10 +109,15 @@ public class KeyguardServiceDelegate { public void bindService(Context context) { Intent intent = new Intent(); - intent.setClassName(KEYGUARD_PACKAGE, KEYGUARD_CLASS); + final Resources resources = context.getApplicationContext().getResources(); + + final ComponentName keyguardComponent = ComponentName.unflattenFromString( + resources.getString(com.android.internal.R.string.config_keyguardComponent)); + intent.setComponent(keyguardComponent); + if (!context.bindServiceAsUser(intent, mKeyguardConnection, Context.BIND_AUTO_CREATE, UserHandle.OWNER)) { - Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS); + Log.v(TAG, "*** Keyguard: can't bind to " + keyguardComponent); mKeyguardState.showing = false; mKeyguardState.showingAndNotOccluded = false; mKeyguardState.secure = false; |