Commit d1b55f52 authored by Tobias Sargeant's avatar Tobias Sargeant Committed by Commit Bot

[wv] PlatformServiceBridge cannot congtain inner classes.

PlatformServiceBridge.java is compiled twice into two jars for internal
builds, and combining the jars is smart enough to remove the duplicate,
but cannot do the same for any inner classes. Therefore we must
introduce an explicit adapter class to perform the same function.

Bug: 1046782
Change-Id: I2a933ced5fa051271f42571eaffea8671a6fb094
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2027810Reviewed-by: default avatarTim Volodine <timvolodine@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#736476}
parent 029cb71c
......@@ -502,6 +502,7 @@ android_library("common_variations_utils_java") {
# compiled separately.
android_library("common_platform_services_java") {
sources = [
"java/src/org/chromium/android_webview/common/MetricsLogUploaderAdapter.java",
"java/src/org/chromium/android_webview/common/PlatformServiceBridge.java",
"java/src/org/chromium/android_webview/common/PlatformServiceBridgeImpl.java",
]
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.android_webview.common;
import org.chromium.base.Consumer;
/**
* This class adapts from the uploader requirements in //components/embedder_support
* to PlatformServiceBridge.
*/
public class MetricsLogUploaderAdapter implements Consumer<byte[]> {
private final PlatformServiceBridge mPlatformServiceBridge;
public MetricsLogUploaderAdapter(PlatformServiceBridge platformServiceBridge) {
mPlatformServiceBridge = platformServiceBridge;
}
@Override
public void accept(byte[] data) {
mPlatformServiceBridge.logMetrics(data);
}
}
......@@ -11,7 +11,6 @@ import android.os.HandlerThread;
import androidx.annotation.NonNull;
import org.chromium.base.Callback;
import org.chromium.base.Consumer;
import org.chromium.base.ThreadUtils;
import org.chromium.components.metrics.AndroidMetricsLogUploader;
......@@ -30,12 +29,7 @@ public abstract class PlatformServiceBridge {
private static final Object sHandlerLock = new Object();
protected PlatformServiceBridge() {
AndroidMetricsLogUploader.setUploader(new Consumer<byte[]>() {
@Override
public void accept(byte[] data) {
logMetrics(data);
}
});
AndroidMetricsLogUploader.setUploader(new MetricsLogUploaderAdapter(this));
}
@SuppressWarnings("unused")
......
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