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

Unified Diff: chrome/browser/invalidation/invalidation_controller_android.cc

Issue 54923003: Support for shared invalidator client IDs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile issue Created 7 years, 1 month 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
Index: chrome/browser/invalidation/invalidation_controller_android.cc
diff --git a/chrome/browser/invalidation/invalidation_controller_android.cc b/chrome/browser/invalidation/invalidation_controller_android.cc
index c153df192466483cd55f740c127f861785c8c340..021027c4d0c0bf6fdfdad7d285ecc76e1ea0c320 100644
--- a/chrome/browser/invalidation/invalidation_controller_android.cc
+++ b/chrome/browser/invalidation/invalidation_controller_android.cc
@@ -45,6 +45,29 @@ void InvalidationControllerAndroid::SetRegisteredObjectIds(
base::android::ToJavaArrayOfStrings(env, names).obj());
}
+std::string InvalidationControllerAndroid::GetInvalidatorClientId() {
+ JNIEnv* env = base::android::AttachCurrentThread();
+ DCHECK(env);
+ if (invalidation_controller_.is_null()) {
+ invalidation_controller_.Reset(Java_InvalidationController_get(
+ env,
+ base::android::GetApplicationContext()));
+ }
+
+ // Ask the Java code to for the invalidator ID it's currently using.
+ base::android::ScopedJavaLocalRef<_jbyteArray*> id_bytes_java =
+ Java_InvalidationController_getInvalidatorClientId(
+ env,
+ invalidation_controller_.obj());
+
+ // Convert it into a more convenient format for C++.
+ std::vector<uint8_t> id_bytes;
+ base::android::JavaByteArrayToByteVector(env, id_bytes_java.obj(), &id_bytes);
+ std::string id(id_bytes.begin(), id_bytes.end());
+
+ return id;
+}
+
bool RegisterInvalidationController(JNIEnv* env) {
return RegisterNativesImpl(env);
}

Powered by Google App Engine
This is Rietveld 408576698