Commit 2464913f authored by Jan Krcal's avatar Jan Krcal Committed by Commit Bot

[protobuf] Convert serialized_invalidation from nano to lite

Bug: 782237
Change-Id: I030322a93c71eec70fc4a53a4cb21458c63678ee
Reviewed-on: https://chromium-review.googlesource.com/856796Reviewed-by: default avatarTommy Nyquist <nyquist@chromium.org>
Commit-Queue: Jan Krcal <jkrcal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543322}
parent 9f11d63d
......@@ -207,10 +207,10 @@ if (is_android) {
"//base:base_java",
"//components/signin/core/browser/android:java",
"//components/sync/android:sync_java",
"//third_party/android_protobuf:protobuf_nano_javalib",
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
"//third_party/cacheinvalidation:cacheinvalidation_proto_java",
"//third_party/jsr-305:jsr_305_javalib",
"//third_party/protobuf:protobuf_lite_javalib",
]
java_files = [
"android/java/src/org/chromium/components/invalidation/InvalidationClientService.java",
......@@ -223,6 +223,7 @@ if (is_android) {
sources = [
"$proto_path/serialized_invalidation.proto",
]
generate_lite = true
}
android_library("javatests") {
testonly = true
......
......@@ -7,8 +7,6 @@ package org.chromium.components.invalidation;
import android.os.Bundle;
import android.util.Base64;
import com.google.protobuf.nano.MessageNano;
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
import org.chromium.components.invalidation.SerializedInvalidation.Invalidation;
......@@ -79,12 +77,13 @@ public class PendingInvalidation {
*/
public String encodeToString() {
assert mObjectSource != 0;
Invalidation invalidation = new Invalidation();
invalidation.objectSource = mObjectSource;
invalidation.objectId = mObjectId;
invalidation.version = mVersion;
invalidation.payload = mPayload;
return Base64.encodeToString(MessageNano.toByteArray(invalidation), Base64.DEFAULT);
Invalidation invalidation = Invalidation.newBuilder()
.setObjectSource(mObjectSource)
.setObjectId(mObjectId)
.setVersion(mVersion)
.setPayload(mPayload)
.build();
return Base64.encodeToString(invalidation.toByteArray(), Base64.DEFAULT);
}
/**
......@@ -95,8 +94,10 @@ public class PendingInvalidation {
public static Bundle decodeToBundle(String encoded) {
Invalidation invalidation = decodeToInvalidation(encoded);
if (invalidation == null) return null;
return createBundle(invalidation.objectId, invalidation.objectSource,
invalidation.version != null ? invalidation.version : 0L, invalidation.payload);
return createBundle(invalidation.hasObjectId() ? invalidation.getObjectId() : null,
invalidation.getObjectSource(),
invalidation.hasVersion() ? invalidation.getVersion() : 0L,
invalidation.hasPayload() ? invalidation.getPayload() : null);
}
/**
......@@ -107,8 +108,10 @@ public class PendingInvalidation {
public static PendingInvalidation decodeToPendingInvalidation(String encoded) {
Invalidation invalidation = decodeToInvalidation(encoded);
if (invalidation == null) return null;
return new PendingInvalidation(invalidation.objectId, invalidation.objectSource,
invalidation.version, invalidation.payload);
return new PendingInvalidation(
invalidation.hasObjectId() ? invalidation.getObjectId() : null,
invalidation.getObjectSource(), invalidation.getVersion(),
invalidation.hasPayload() ? invalidation.getPayload() : null);
}
@Nullable
......@@ -117,13 +120,13 @@ public class PendingInvalidation {
byte[] decoded = Base64.decode(encoded, Base64.DEFAULT);
Invalidation invalidation;
try {
invalidation = MessageNano.mergeFrom(new Invalidation(), decoded);
invalidation = Invalidation.parseFrom(decoded);
} catch (IOException e) {
Log.e(TAG, "Could not parse the serialized invalidations.", e);
return null;
}
assert invalidation != null;
if (invalidation.objectSource == null || invalidation.objectSource == 0) return null;
if (!invalidation.hasObjectSource() || invalidation.getObjectSource() == 0) return null;
return invalidation;
}
......
......@@ -7,6 +7,8 @@
//
syntax = "proto2";
package org.chromium.components.invalidation;
// TODO(jkrcal): Remove when protobuf 4.0 is out, https://crbug.com/800281.
option optimize_for = LITE_RUNTIME;
message Invalidation {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment