Make a limited subset of Tethering APIs public for DO/Carrier apps
to start Wifi tethering with a custom SoftApConfiguration.
The following APIs are needed to be moved to public
- TetheringManager
- startTethering
- stopTethering
- registerTetheringEventCallback
- unregisterTetheringEventCallback
- TetheringManager.TetheringRequest
- getSoftApConfiguration
- TetheringManager.TetheringRequest.Builder
- setSoftApConfiguration
- TetheringInterface
- TetheringEventCallback
- onTetheredInterfacesChanged
Checks for DO/Carrier apps will be added in a later CL.
API-Coverage-Bug: 374400379
Bug: 216524590
Test: atest TetheringTest TetheringManagerTest
Change-Id: I9fb420ec6cebea17d8f3bc40a0ae8735074d9eb0
71 lines
5.5 KiB
Text
71 lines
5.5 KiB
Text
// Signature format: 2.0
|
|
package android.net {
|
|
|
|
public final class TetheringInterface implements android.os.Parcelable {
|
|
ctor public TetheringInterface(int, @NonNull String);
|
|
ctor @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public TetheringInterface(int, @NonNull String, @Nullable android.net.wifi.SoftApConfiguration);
|
|
method public int describeContents();
|
|
method @NonNull public String getInterface();
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @Nullable @RequiresPermission(value=android.Manifest.permission.NETWORK_SETTINGS, conditional=true) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
|
|
method public int getType();
|
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
|
field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
|
|
}
|
|
|
|
public class TetheringManager {
|
|
method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
|
|
method @RequiresPermission(value=android.Manifest.permission.TETHER_PRIVILEGED, conditional=true) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @RequiresPermission(value=android.Manifest.permission.TETHER_PRIVILEGED, conditional=true) public void stopTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StopTetheringCallback);
|
|
method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
|
|
field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
|
|
field public static final int TETHERING_WIFI = 0; // 0x0
|
|
field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
|
|
field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
|
|
field @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public static final int TETHER_ERROR_DUPLICATE_REQUEST = 18; // 0x12
|
|
field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
|
|
field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
|
|
field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
|
|
field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
|
|
field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
|
|
field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
|
|
field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
|
|
field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
|
|
field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
|
|
field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
|
|
field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
|
|
field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
|
|
field @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public static final int TETHER_ERROR_UNKNOWN_REQUEST = 17; // 0x11
|
|
field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
|
|
field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
|
|
field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
|
|
}
|
|
|
|
public static interface TetheringManager.StartTetheringCallback {
|
|
method public default void onTetheringFailed(int);
|
|
method public default void onTetheringStarted();
|
|
}
|
|
|
|
@FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public static interface TetheringManager.StopTetheringCallback {
|
|
method public default void onStopTetheringFailed(int);
|
|
method public default void onStopTetheringSucceeded();
|
|
}
|
|
|
|
public static interface TetheringManager.TetheringEventCallback {
|
|
method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
|
|
}
|
|
|
|
public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public int describeContents();
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @Nullable public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") public void writeToParcel(@NonNull android.os.Parcel, int);
|
|
field @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringManager.TetheringRequest> CREATOR;
|
|
}
|
|
|
|
public static class TetheringManager.TetheringRequest.Builder {
|
|
ctor public TetheringManager.TetheringRequest.Builder(int);
|
|
method @NonNull public android.net.TetheringManager.TetheringRequest build();
|
|
method @FlaggedApi("com.android.net.flags.tethering_with_soft_ap_config") @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setSoftApConfiguration(@Nullable android.net.wifi.SoftApConfiguration);
|
|
}
|
|
|
|
}
|
|
|