From 8aeab6c8b9b89d77108fc05245561e33113fe27f Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Fri, 6 Mar 2015 15:21:46 -0800 Subject: Allow the keyguard service to be configurable. Change-Id: I811171c228764c3e0e507ad3ce28835ccad9bb31 --- core/res/res/values/config.xml | 3 +++ core/res/res/values/symbols.xml | 3 +++ .../policy/impl/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 59686fd..254e256 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2087,4 +2087,7 @@ 0 + + + com.android.systemui/com.android.systemui.keyguard.KeyguardService diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 82c81a0..464e4d3 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2080,6 +2080,9 @@ + + + diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java index 6e8f550..6c98e50 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java +++ b/policy/src/com/android/internal/policy/impl/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; -- cgit v1.1