| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/invalidation/impl/invalidation_service_android.h" | 5 #include "components/invalidation/impl/invalidation_service_android.h" |
| 6 | 6 |
| 7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
| 8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
| 9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 object_invalidation_map.Insert( | 147 object_invalidation_map.Insert( |
| 148 syncer::Invalidation::InitUnknownVersion(object_id)); | 148 syncer::Invalidation::InitUnknownVersion(object_id)); |
| 149 } else { | 149 } else { |
| 150 ObjectIdVersionMap::iterator it = | 150 ObjectIdVersionMap::iterator it = |
| 151 max_invalidation_versions_.find(object_id); | 151 max_invalidation_versions_.find(object_id); |
| 152 if ((it != max_invalidation_versions_.end()) && (version <= it->second)) { | 152 if ((it != max_invalidation_versions_.end()) && (version <= it->second)) { |
| 153 DVLOG(1) << "Dropping redundant invalidation with version " << version; | 153 DVLOG(1) << "Dropping redundant invalidation with version " << version; |
| 154 return; | 154 return; |
| 155 } | 155 } |
| 156 max_invalidation_versions_[object_id] = version; | 156 max_invalidation_versions_[object_id] = version; |
| 157 object_invalidation_map.Insert(syncer::Invalidation::Init( | 157 std::string payload; |
| 158 object_id, version, ConvertJavaStringToUTF8(env, java_payload))); | 158 if (!java_payload.is_null()) |
| 159 ConvertJavaStringToUTF8(env, java_payload, &payload); |
| 160 |
| 161 object_invalidation_map.Insert( |
| 162 syncer::Invalidation::Init(object_id, version, payload)); |
| 159 } | 163 } |
| 160 } | 164 } |
| 161 | 165 |
| 162 invalidator_registrar_.DispatchInvalidationsToHandlers( | 166 invalidator_registrar_.DispatchInvalidationsToHandlers( |
| 163 object_invalidation_map); | 167 object_invalidation_map); |
| 164 logger_.OnInvalidation(object_invalidation_map); | 168 logger_.OnInvalidation(object_invalidation_map); |
| 165 } | 169 } |
| 166 | 170 |
| 167 // static | 171 // static |
| 168 bool InvalidationServiceAndroid::RegisterJni(JNIEnv* env) { | 172 bool InvalidationServiceAndroid::RegisterJni(JNIEnv* env) { |
| 169 return RegisterNativesImpl(env); | 173 return RegisterNativesImpl(env); |
| 170 } | 174 } |
| 171 | 175 |
| 172 } // namespace invalidation | 176 } // namespace invalidation |
| OLD | NEW |