Switch from REMOTE_INTENT to the new push messaging, add the required permission.

This commit is contained in:
Costin Manolache
2010-02-04 16:52:34 -08:00
parent be16be13c6
commit 63cfebf2db
3 changed files with 10 additions and 3 deletions

View File

@@ -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.

View File

@@ -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>

View File

@@ -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;
}