am 7a4a4cd0: am 5537b232: Set explicit destination for CALL_PRIVILEGED
* commit '7a4a4cd08aac01aed1a6a3d2cb88f4bfdc6dac39':
Set explicit destination for CALL_PRIVILEGED
diff --git a/src/com/android/contacts/ContactsUtils.java b/src/com/android/contacts/ContactsUtils.java
index 05eb4f6..1e51aae 100644
--- a/src/com/android/contacts/ContactsUtils.java
+++ b/src/com/android/contacts/ContactsUtils.java
@@ -16,6 +16,7 @@
package com.android.contacts;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
@@ -46,6 +47,9 @@
private static final String TAG = "ContactsUtils";
private static final String WAIT_SYMBOL_AS_STRING = String.valueOf(PhoneNumberUtils.WAIT);
+ private static final ComponentName CALL_INTENT_DESTINATION = new ComponentName(
+ "com.android.phone", "com.android.phone.PrivilegedOutgoingCallBroadcaster");
+
private static int sThumbnailSize = -1;
// TODO find a proper place for the canonical version of these
@@ -268,6 +272,12 @@
if (callOrigin != null) {
intent.putExtra(DialtactsActivity.EXTRA_CALL_ORIGIN, callOrigin);
}
+
+ // Set phone as an explicit component of CALL_PRIVILEGED intent.
+ // Setting destination explicitly prevents other apps from capturing this Intent since,
+ // unlike SendBroadcast, there is no API for specifying a permission on startActivity.
+ intent.setComponent(CALL_INTENT_DESTINATION);
+
return intent;
}