Merge "Support set test network to tethering upstream" am: 473d864d20

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1797991

Change-Id: Ifd5c76a943886dfe55e9b68eeb77931dae6fe204
This commit is contained in:
Mark Chien
2021-09-30 12:48:15 +00:00
committed by Automerger Merge Worker
11 changed files with 191 additions and 21 deletions

View File

@@ -49,4 +49,6 @@ oneway interface ITetheringConnector {
void stopAllTethering(String callerPkg, String callingAttributionTag,
IIntResultListener receiver);
void setPreferTestNetworks(boolean prefer, IIntResultListener listener);
}

View File

@@ -1538,4 +1538,25 @@ public class TetheringManager {
}
}));
}
/**
* Whether to treat networks that have TRANSPORT_TEST as Tethering upstreams. The effects of
* this method apply to any test networks that are already present on the system.
*
* @throws SecurityException If the caller doesn't have the NETWORK_SETTINGS permission.
* @hide
*/
@RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
public void setPreferTestNetworks(final boolean prefer) {
Log.i(TAG, "setPreferTestNetworks caller: " + mContext.getOpPackageName());
final RequestDispatcher dispatcher = new RequestDispatcher();
final int ret = dispatcher.waitForResult((connector, listener) -> {
try {
connector.setPreferTestNetworks(prefer, listener);
} catch (RemoteException e) {
throw new IllegalStateException(e);
}
});
}
}