// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.cronet_sample_apk;
import org.chromium.net.ConnectionMigrationOptions;
import org.chromium.net.CronetEngine;
import org.chromium.net.DnsOptions;
import org.chromium.net.QuicOptions;
public class ActionData {
private final CronetEngine.Builder mCronetEngineBuilder;
private final ConnectionMigrationOptions.Builder mMigrationBuilder;
private final QuicOptions.Builder mQuicBuilder;
private final DnsOptions.Builder mDnsBuilder;
private ActionData(ActionData.Builder builder) {
this.mCronetEngineBuilder = builder.mCronetEngineBuilder;
this.mMigrationBuilder = builder.mMigrationBuilder;
this.mQuicBuilder = builder.mQuicBuilder;
this.mDnsBuilder = builder.mDnsBuilder;
}
public CronetEngine.Builder getCronetEngineBuilder() {
return mCronetEngineBuilder;
}
public DnsOptions.Builder getDnsBuilder() {
return mDnsBuilder;
}
public ConnectionMigrationOptions.Builder getMigrationBuilder() {
return mMigrationBuilder;
}
public QuicOptions.Builder getQuicBuilder() {
return mQuicBuilder;
}
public static class Builder {
private CronetEngine.Builder mCronetEngineBuilder;
private ConnectionMigrationOptions.Builder mMigrationBuilder;
private QuicOptions.Builder mQuicBuilder;
private DnsOptions.Builder mDnsBuilder;
public Builder setCronetEngineBuilder(CronetEngine.Builder cronetEngineBuilder) {
this.mCronetEngineBuilder = cronetEngineBuilder;
return this;
}
public Builder setDnsBuilder(DnsOptions.Builder dnsBuilder) {
this.mDnsBuilder = dnsBuilder;
return this;
}
public Builder setMigrationBuilder(ConnectionMigrationOptions.Builder migrationBuilder) {
this.mMigrationBuilder = migrationBuilder;
return this;
}
public Builder setQuicBuilder(QuicOptions.Builder quicBuilder) {
this.mQuicBuilder = quicBuilder;
return this;
}
public ActionData build() {
return new ActionData(this);
}
}
}