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 a404333602514843fad270295cf63b5781dca2d4..f1a47e3babac0b811ebe5516c72bd05b238395f8 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 |
@@ -136,10 +136,15 @@ public class GCMDriver { |
// TODO(johnme): Check there aren't other keys that we need to exclude. |
if (key.equals(bundleSubtype) || key.equals(bundleSenderId) |
|| key.equals(bundleCollapseKey) || key.equals(bundleRawData) |
- || key.startsWith(bundleGcmplex)) |
+ || key.startsWith(bundleGcmplex)) { |
continue; |
+ } |
+ Object value = extras.get(key); |
+ if (!(value instanceof String)) { |
+ continue; |
+ } |
dataKeysAndValues.add(key); |
- dataKeysAndValues.add(extras.getString(key)); |
+ dataKeysAndValues.add((String) value); |
} |
sInstance.nativeOnMessageReceived(sInstance.mNativeGCMDriverAndroid, |