Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Unified Diff: components/invalidation/impl/android/java/src/org/chromium/components/invalidation/PendingInvalidation.java

Issue 1842393002: Handle null payload when processing an invalidation on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/invalidation/impl/invalidation_service_android.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/invalidation/impl/android/java/src/org/chromium/components/invalidation/PendingInvalidation.java
diff --git a/components/invalidation/impl/android/java/src/org/chromium/components/invalidation/PendingInvalidation.java b/components/invalidation/impl/android/java/src/org/chromium/components/invalidation/PendingInvalidation.java
index c9a2fd1248a5448c0559a54811f6d4b148140338..deee2e3b9768c0f2ebfe3ce5feefb8bd470f91fc 100644
--- a/components/invalidation/impl/android/java/src/org/chromium/components/invalidation/PendingInvalidation.java
+++ b/components/invalidation/impl/android/java/src/org/chromium/components/invalidation/PendingInvalidation.java
@@ -122,16 +122,28 @@ public class PendingInvalidation {
if (!(other instanceof PendingInvalidation)) return false;
PendingInvalidation otherInvalidation = (PendingInvalidation) other;
if (mObjectSource != otherInvalidation.mObjectSource) return false;
- if (mObjectSource == 0) return true;
- if (!mObjectId.equals(otherInvalidation.mObjectId)) return false;
- if (!mPayload.equals(otherInvalidation.mPayload)) return false;
- return mVersion == otherInvalidation.mVersion;
+ if (mObjectId == null) {
+ if (otherInvalidation.mObjectId != null) return false;
+ } else {
+ if (!mObjectId.equals(otherInvalidation.mObjectId)) return false;
+ }
+ if (mVersion != otherInvalidation.mVersion) return false;
+ if (mPayload == null) {
+ if (otherInvalidation.mPayload != null) return false;
+ } else {
+ if (!mPayload.equals(otherInvalidation.mPayload)) return false;
+ }
+ return true;
}
@Override
public int hashCode() {
nyquist 2016/04/04 19:05:24 Does changing the hashCode() have any horrible imp
- return mObjectId == null ? mObjectSource : mObjectSource ^ mObjectId.hashCode()
- ^ Long.valueOf(mVersion).hashCode();
+ int hashCode = 0;
+ if (mObjectId != null) hashCode ^= mObjectId.hashCode();
+ hashCode ^= mObjectSource;
+ hashCode ^= Long.valueOf(mVersion).hashCode();
+ if (mPayload != null) hashCode ^= mPayload.hashCode();
+ return hashCode;
}
@Override
« no previous file with comments | « no previous file | components/invalidation/impl/invalidation_service_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698