Index: components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java |
diff --git a/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java |
index 4b018fd2a318e9f752ec557bb4ac9d5df774be51..7ffca160aefec1baacb1f4da491bd172187b2227 100644 |
--- a/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java |
+++ b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java |
@@ -36,10 +36,12 @@ |
private long mNativeGCMDriverAndroid; |
private final Context mContext; |
+ private final GoogleCloudMessagingV2 mGcm; |
private GCMDriver(long nativeGCMDriverAndroid, Context context) { |
mNativeGCMDriverAndroid = nativeGCMDriverAndroid; |
mContext = context; |
+ mGcm = new GoogleCloudMessagingV2(context); |
} |
/** |
@@ -71,18 +73,16 @@ private void destroy() { |
} |
@CalledByNative |
- private void register(final String appId, final String[] senderIds) { |
+ private void register(final String appId, final String senderId) { |
new AsyncTask<Void, Void, String>() { |
@Override |
protected String doInBackground(Void... voids) { |
- // TODO(johnme): Should check if GMS is installed on the device first. Ditto below. |
try { |
String subtype = appId; |
- GoogleCloudMessagingV2 gcm = new GoogleCloudMessagingV2(mContext); |
- String registrationId = gcm.register(subtype, senderIds); |
+ String registrationId = mGcm.subscribe(senderId, subtype, null); |
return registrationId; |
} catch (IOException ex) { |
- Log.w(TAG, "GCMv2 registration failed for " + appId, ex); |
+ Log.w(TAG, "GCM subscription failed for " + appId + ", " + senderId, ex); |
return ""; |
} |
} |
@@ -95,17 +95,16 @@ protected void onPostExecute(String registrationId) { |
} |
@CalledByNative |
- private void unregister(final String appId) { |
+ private void unregister(final String appId, final String senderId) { |
new AsyncTask<Void, Void, Boolean>() { |
@Override |
protected Boolean doInBackground(Void... voids) { |
try { |
String subtype = appId; |
- GoogleCloudMessagingV2 gcm = new GoogleCloudMessagingV2(mContext); |
- gcm.unregister(subtype); |
+ mGcm.unsubscribe(senderId, subtype, null); |
return true; |
} catch (IOException ex) { |
- Log.w(TAG, "GCMv2 unregistration failed for " + appId, ex); |
+ Log.w(TAG, "GCM unsubscription failed for " + appId + ", " + senderId, ex); |
return false; |
} |
} |