Merge "Fix crash and duplicated ethernet tethering request" am: 41c82c99df

Change-Id: Idd4eca225909f88ef6d57fd8952ae497ec82115b
This commit is contained in:
Automerger Merge Worker
2020-02-28 02:49:58 +00:00

View File

@@ -28,6 +28,7 @@ import android.os.RemoteException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.Executor;
/** /**
* A class representing the IP configuration of the Ethernet network. * A class representing the IP configuration of the Ethernet network.
@@ -248,18 +249,19 @@ public class EthernetManager {
* @param callback A callback to be called once the request has been fulfilled. * @param callback A callback to be called once the request has been fulfilled.
*/ */
@NonNull @NonNull
public TetheredInterfaceRequest requestTetheredInterface( public TetheredInterfaceRequest requestTetheredInterface(@NonNull final Executor executor,
@NonNull TetheredInterfaceCallback callback) { @NonNull final TetheredInterfaceCallback callback) {
Objects.requireNonNull(callback, "Callback must be non-null"); Objects.requireNonNull(callback, "Callback must be non-null");
Objects.requireNonNull(executor, "Executor must be non-null");
final ITetheredInterfaceCallback cbInternal = new ITetheredInterfaceCallback.Stub() { final ITetheredInterfaceCallback cbInternal = new ITetheredInterfaceCallback.Stub() {
@Override @Override
public void onAvailable(String iface) { public void onAvailable(String iface) {
callback.onAvailable(iface); executor.execute(() -> callback.onAvailable(iface));
} }
@Override @Override
public void onUnavailable() { public void onUnavailable() {
callback.onUnavailable(); executor.execute(() -> callback.onUnavailable());
} }
}; };