Merge 32f3dc7ca8f4d76aac78c27fa8398becd8831f21 on remote branch
Change-Id: I48f714a9d104d924688a4a56d3023bcd476d8572
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 73e6c83..08d96a6 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -73,6 +73,10 @@
presses home. -->
<uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>
+ <!-- Used for sending PendingIntents to dynamically registered receivers -->
+ <uses-permission android:name="com.android.dialer.permission.DIALER_ORIGIN"
+ android:protectionLevel="signature" />
+
<!-- Permissions needed for badger count showing on launch icon. -->
<!--for Samsung-->
diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java b/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java
index 14d6cff..a3c294d 100644
--- a/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java
+++ b/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java
@@ -150,7 +150,7 @@
public void onClick(View v) {
Logger.get(context)
.logImpression(DialerImpression.Type.VOICEMAIL_ALERT_SET_PIN_CLICKED);
- Intent intent = new Intent(VoicemailChangePinActivity.ACTION_CHANGE_PIN);
+ Intent intent = new Intent(context, VoicemailChangePinActivity.class);
intent.putExtra(VoicemailClient.PARAM_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
context.startActivity(intent);
}
diff --git a/java/com/android/dialer/voicemail/settings/AndroidManifest.xml b/java/com/android/dialer/voicemail/settings/AndroidManifest.xml
index 8506ddd..f25858e 100644
--- a/java/com/android/dialer/voicemail/settings/AndroidManifest.xml
+++ b/java/com/android/dialer/voicemail/settings/AndroidManifest.xml
@@ -29,10 +29,6 @@
android:parentActivityName="com.android.dialer.app.settings.DialerSettingsActivity"
android:theme="@style/SettingsStyle"
android:windowSoftInputMode="stateVisible|adjustResize">
- <intent-filter>
- <action android:name="com.android.dialer.action.CHANGE_PIN"/>
- <category android:name="android.intent.category.DEFAULT"/>
- </intent-filter>
</activity>
<activity
android:name=".RecordVoicemailGreetingActivity"
diff --git a/java/com/android/dialer/voicemail/settings/VoicemailChangePinActivity.java b/java/com/android/dialer/voicemail/settings/VoicemailChangePinActivity.java
index 4e22fb3..ebebdf7 100644
--- a/java/com/android/dialer/voicemail/settings/VoicemailChangePinActivity.java
+++ b/java/com/android/dialer/voicemail/settings/VoicemailChangePinActivity.java
@@ -67,7 +67,6 @@
implements OnClickListener, OnEditorActionListener, TextWatcher {
private static final String TAG = "VmChangePinActivity";
- public static final String ACTION_CHANGE_PIN = "com.android.dialer.action.CHANGE_PIN";
private static final int MESSAGE_HANDLE_RESULT = 1;
diff --git a/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java b/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java
index 7ddf646..335ec3e 100644
--- a/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java
+++ b/java/com/android/voicemail/impl/sms/StatusSmsFetcher.java
@@ -53,8 +53,12 @@
private static final long STATUS_SMS_TIMEOUT_MILLIS = 60_000;
+ private static final String PERMISSION_DIALER_ORIGIN =
+ "com.android.dialer.permission.DIALER_ORIGIN";
+
private static final String ACTION_REQUEST_SENT_INTENT =
"com.android.voicemailomtp.sms.REQUEST_SENT";
+
private static final int ACTION_REQUEST_SENT_REQUEST_CODE = 0;
private CompletableFuture<Bundle> future = new CompletableFuture<>();
@@ -67,7 +71,7 @@
this.phoneAccountHandle = phoneAccountHandle;
IntentFilter filter = new IntentFilter(ACTION_REQUEST_SENT_INTENT);
filter.addAction(OmtpService.ACTION_SMS_RECEIVED);
- context.registerReceiver(this, filter);
+ context.registerReceiver(this, filter, PERMISSION_DIALER_ORIGIN, /* scheduler= */ null);
}
@Override
@@ -89,7 +93,10 @@
// Because the receiver is registered dynamically, implicit intent must be used.
// There should only be a single status SMS request at a time.
return PendingIntent.getBroadcast(
- context, ACTION_REQUEST_SENT_REQUEST_CODE, intent, PendingIntent.FLAG_CANCEL_CURRENT);
+ context,
+ ACTION_REQUEST_SENT_REQUEST_CODE,
+ intent,
+ PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
}
@Override