diff options
| -rw-r--r-- | core/java/android/content/Intent.java | 2 | ||||
| -rw-r--r-- | core/res/AndroidManifest.xml | 9 | ||||
| -rw-r--r-- | services/java/com/android/server/MasterClearReceiver.java | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index e36eba9247e5..d31b25b58263 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1840,7 +1840,7 @@ public class Intent implements Parcelable, Cloneable { * @hide */ public static final String ACTION_REMOTE_INTENT = - "android.intent.action.REMOTE_INTENT"; + "com.google.android.pushmessaging.intent.RECEIVE"; /** * Broadcast Action: hook for permforming cleanup after a system update. diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 8273dbf3877b..a27d28f6138a 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1227,6 +1227,13 @@ android:description="@string/permlab_copyProtectedData" android:protectionLevel="signature" /> + <!-- Push messaging permission. + @hide Used internally. + --> + <permission android:name="android.intent.category.MASTER_CLEAR.permission.PUSH_MESSAGE" + android:protectionLevel="signature" /> + <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.PUSH_MESSAGE"/> + <application android:process="system" android:persistent="true" android:hasCode="false" @@ -1309,7 +1316,7 @@ <action android:name="android.intent.action.MASTER_CLEAR" /> <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR --> - <action android:name="android.intent.action.REMOTE_INTENT" /> + <action android:name="com.google.android.pushmessaging.intent.RECEIVE" /> <category android:name="android.intent.category.MASTER_CLEAR" /> </intent-filter> </receiver> diff --git a/services/java/com/android/server/MasterClearReceiver.java b/services/java/com/android/server/MasterClearReceiver.java index ab0eb813682f..0417e7182b00 100644 --- a/services/java/com/android/server/MasterClearReceiver.java +++ b/services/java/com/android/server/MasterClearReceiver.java @@ -30,7 +30,7 @@ public class MasterClearReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_REMOTE_INTENT)) { - if (!intent.getBooleanExtra("android.intent.extra.from_trusted_server", false)) { + if (!"google.com".equals(intent.getStringExtra("from"))) { Log.w(TAG, "Ignoring master clear request -- not from trusted server."); return; } |