android_packages_modules_Co.../Tethering/common/TetheringLib/api/module-lib-current.txt
Quang Anh Luong 2782b3bddf Remove WRITE_SETTINGS permission from Tethering APIs
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
2024-12-18 13:53:04 +09:00

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);
}
}