summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard
diff options
context:
space:
mode:
authorSandeep Siddhartha <sansid@google.com>2013-09-06 12:32:52 -0700
committerSandeep Siddhartha <sansid@google.com>2013-09-06 12:48:51 -0700
commit4473f020037ed2a01e8288497b9f27cff1b6b8d4 (patch)
tree3f6c8edc486201bebbb1c1af8e2cacd1efe5fd56 /packages/Keyguard
parent498a5f5488446e1d5914f5d335ee02572c6201d1 (diff)
downloadframeworks_base-4473f020037ed2a01e8288497b9f27cff1b6b8d4.zip
frameworks_base-4473f020037ed2a01e8288497b9f27cff1b6b8d4.tar.gz
frameworks_base-4473f020037ed2a01e8288497b9f27cff1b6b8d4.tar.bz2
Use the permission for hotword recognition
- Also fixes an issue with PendingIntents being launched from the lockscreen taking a lot of time Change-Id: I91b44328ba68b225454322b90a5b19a0d4c9a772
Diffstat (limited to 'packages/Keyguard')
-rw-r--r--packages/Keyguard/AndroidManifest.xml2
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java19
2 files changed, 8 insertions, 13 deletions
diff --git a/packages/Keyguard/AndroidManifest.xml b/packages/Keyguard/AndroidManifest.xml
index 7d77c48..d2c82c8 100644
--- a/packages/Keyguard/AndroidManifest.xml
+++ b/packages/Keyguard/AndroidManifest.xml
@@ -37,6 +37,8 @@
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
+ <!-- Permission to perform hotword recognition -->
+ <uses-permission android:name="android.permission.HOTWORD_RECOGNITION" />
<application android:label="@string/app_name"
android:process="com.android.systemui"
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java
index 00124b0..78b842c 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java
@@ -1784,30 +1784,23 @@ public class KeyguardHostView extends KeyguardViewBase {
}
}
- public void onHotwordRecognized(final PendingIntent intent) {
+ public void onHotwordRecognized(final Intent intent) {
if (DEBUG) Log.d(TAG, "onHotwordRecognized");
maybeStopHotwordDetector();
+ // See if an activity can handle this intent.
+ if (getContext().getPackageManager().resolveActivity(intent, 0) == null)
+ return;
if (SecurityMode.None == mCurrentSecuritySelection) {
if (intent != null) {
- try {
- intent.send();
- } catch (PendingIntent.CanceledException e) {
- Log.w(TAG, "Failed to launch PendingIntent. Encountered CanceledException");
- }
+ mActivityLauncher.launchActivity(intent, true, true, null, null);
}
mCallback.userActivity(0);
- mCallback.dismiss(false);
} else if (ENABLE_HOTWORD_SECURE && mLockPatternUtils.isSecure()) {
setOnDismissAction(new OnDismissAction() {
@Override
public boolean onDismiss() {
if (intent != null) {
- try {
- intent.send();
- } catch (PendingIntent.CanceledException e) {
- Log.w(TAG, "Failed to launch PendingIntent."
- + "Encountered CanceledException");
- }
+ mActivityLauncher.launchActivity(intent, true, true, null, null);
}
return false;
}