summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nancy Zheng <nzheng@google.com> 2016-11-21 18:19:48 +0000
committer android-build-merger <android-build-merger@google.com> 2016-11-21 18:19:48 +0000
commita2193c0b7630cc205c21a30da12791f3047f0bca (patch)
treecfd75e508bbe2948ede8c1b4b5097ae9bfcba603
parent0995a17481f1326584a716e8e7ac0019f5702e6a (diff)
parent43f166dfb439e7706b829a5e5a7cc910bb53dc8c (diff)
Fix createConfirmDeviceCredentialIntent for wear for CTS.
am: 43f166dfb4 Change-Id: Icda6d5182ff20c4db150ae3f0351e559682184de
-rw-r--r--core/java/android/app/KeyguardManager.java21
-rw-r--r--core/java/android/app/SystemServiceRegistry.java6
2 files changed, 19 insertions, 8 deletions
diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java
index 391065787683..b794f9cdbc79 100644
--- a/core/java/android/app/KeyguardManager.java
+++ b/core/java/android/app/KeyguardManager.java
@@ -21,6 +21,7 @@ import android.annotation.RequiresPermission;
import android.app.trust.ITrustManager;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.os.Binder;
import android.os.RemoteException;
@@ -44,6 +45,7 @@ public class KeyguardManager {
private IWindowManager mWM;
private ITrustManager mTrustManager;
private IUserManager mUserManager;
+ private Context mContext;
/**
* Intent used to prompt user for device credentials.
@@ -86,8 +88,12 @@ public class KeyguardManager {
Intent intent = new Intent(ACTION_CONFIRM_DEVICE_CREDENTIAL);
intent.putExtra(EXTRA_TITLE, title);
intent.putExtra(EXTRA_DESCRIPTION, description);
- // For security reasons, only allow this to come from system settings.
- intent.setPackage("com.android.settings");
+ if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH)) {
+ intent.setPackage("com.google.android.apps.wearable.settings");
+ } else {
+ // For security reasons, only allow this to come from system settings.
+ intent.setPackage("com.android.settings");
+ }
return intent;
}
@@ -108,8 +114,12 @@ public class KeyguardManager {
intent.putExtra(EXTRA_TITLE, title);
intent.putExtra(EXTRA_DESCRIPTION, description);
intent.putExtra(Intent.EXTRA_USER_ID, userId);
- // For security reasons, only allow this to come from system settings.
- intent.setPackage("com.android.settings");
+ if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH)) {
+ intent.setPackage("com.google.android.apps.wearable.settings");
+ } else {
+ // For security reasons, only allow this to come from system settings.
+ intent.setPackage("com.android.settings");
+ }
return intent;
}
@@ -191,7 +201,8 @@ public class KeyguardManager {
}
- KeyguardManager() {
+ KeyguardManager(Context context) {
+ mContext = context;
mWM = WindowManagerGlobal.getWindowManagerService();
mTrustManager = ITrustManager.Stub.asInterface(
ServiceManager.getService(Context.TRUST_SERVICE));
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index 55744b935f51..4c9b9778d7b5 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -320,10 +320,10 @@ final class SystemServiceRegistry {
}});
registerService(Context.KEYGUARD_SERVICE, KeyguardManager.class,
- new StaticServiceFetcher<KeyguardManager>() {
+ new CachedServiceFetcher<KeyguardManager>() {
@Override
- public KeyguardManager createService() {
- return new KeyguardManager();
+ public KeyguardManager createService(ContextImpl ctx) {
+ return new KeyguardManager(ctx);
}});
registerService(Context.LAYOUT_INFLATER_SERVICE, LayoutInflater.class,