As TetheringManager moves to a Public API, remove the weak WRITE_SETTINGS permission and use TETHER_PRIVILEGED instead. System callers can still aquire TETHER_PRIVILEGED, and public callers must be Device Owner or Carrier App to bypass (to be done in a future CL) Bug: 374400379 Test: atest TetheringTest TetheringServiceTest CtsTetheringTests Change-Id: Ia192021ac48f9eb3f27cc8c412f17629ad16a587
60 lines
3.4 KiB
Text
60 lines
3.4 KiB
Text
// Signature format: 2.0
|
|
package android.net {
|
|
|
|
public final class TetheringConstants {
|
|
field public static final String EXTRA_ADD_TETHER_TYPE = "extraAddTetherType";
|
|
field public static final String EXTRA_PROVISION_CALLBACK = "extraProvisionCallback";
|
|
field public static final String EXTRA_REM_TETHER_TYPE = "extraRemTetherType";
|
|
field public static final String EXTRA_RUN_PROVISION = "extraRunProvision";
|
|
field public static final String EXTRA_SET_ALARM = "extraSetAlarm";
|
|
}
|
|
|
|
public class TetheringManager {
|
|
ctor public TetheringManager(@NonNull android.content.Context, @NonNull java.util.function.Supplier<android.os.IBinder>);
|
|
method public int getLastTetherError(@NonNull String);
|
|
method @NonNull public String[] getTetherableBluetoothRegexs();
|
|
method @NonNull public String[] getTetherableIfaces();
|
|
method @NonNull public String[] getTetherableUsbRegexs();
|
|
method @NonNull public String[] getTetherableWifiRegexs();
|
|
method @NonNull public String[] getTetheredIfaces();
|
|
method @NonNull public String[] getTetheringErroredIfaces();
|
|
method public boolean isTetheringSupported();
|
|
method public boolean isTetheringSupported(@NonNull String);
|
|
method public void requestLatestTetheringEntitlementResult(int, @NonNull android.os.ResultReceiver, boolean);
|
|
method @Deprecated public int setUsbTethering(boolean);
|
|
method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
|
|
method @Deprecated public int tether(@NonNull String);
|
|
method @Deprecated public int untether(@NonNull String);
|
|
}
|
|
|
|
public static interface TetheringManager.TetheredInterfaceCallback {
|
|
method public void onAvailable(@NonNull String);
|
|
method public void onUnavailable();
|
|
}
|
|
|
|
public static interface TetheringManager.TetheredInterfaceRequest {
|
|
method public void release();
|
|
}
|
|
|
|
public static interface TetheringManager.TetheringEventCallback {
|
|
method @Deprecated public default void onTetherableInterfaceRegexpsChanged(@NonNull android.net.TetheringManager.TetheringInterfaceRegexps);
|
|
}
|
|
|
|
@Deprecated public static class TetheringManager.TetheringInterfaceRegexps {
|
|
method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableBluetoothRegexs();
|
|
method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableUsbRegexs();
|
|
method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableWifiRegexs();
|
|
}
|
|
|
|
public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @Nullable public String getInterfaceName();
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @Nullable public String getPackageName();
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public int getUid();
|
|
}
|
|
|
|
public static class TetheringManager.TetheringRequest.Builder {
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.TetheringManager.TetheringRequest.Builder setInterfaceName(@Nullable String);
|
|
}
|
|
|
|
}
|
|
|