Before this change, tethering always report a list of tethered interfaces and the caller need to use each tethering type's interface regex to matching tethered list to manual implement the mapping of tethering type and interface. This change allow caller to get rid of tethering interface regex. Bug: 162920185 Bug: 152203943 Test: atest CtsTetheringTest on S Merged-In: I91bcccd676d109c1b974497ac29bd366a41b8899 Change-Id: I91bcccd676d109c1b974497ac29bd366a41b8899
118 lines
8.4 KiB
Plaintext
118 lines
8.4 KiB
Plaintext
// Signature format: 2.0
|
|
package android.net {
|
|
|
|
public final class TetheredClient implements android.os.Parcelable {
|
|
ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
|
|
method public int describeContents();
|
|
method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
|
|
method @NonNull public android.net.MacAddress getMacAddress();
|
|
method public int getTetheringType();
|
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
|
field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
|
|
}
|
|
|
|
public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
|
|
method public int describeContents();
|
|
method @NonNull public android.net.LinkAddress getAddress();
|
|
method @Nullable public String getHostname();
|
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
|
field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
|
|
}
|
|
|
|
public final class TetheringInterface implements android.os.Parcelable {
|
|
ctor public TetheringInterface(int, @NonNull String);
|
|
method public int describeContents();
|
|
method @NonNull public String getInterface();
|
|
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(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener);
|
|
method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
|
|
method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
|
|
method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
|
|
method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
|
|
field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
|
|
field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
|
|
field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
|
|
field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
|
|
field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
|
|
field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
|
|
field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
|
|
field public static final int TETHERING_BLUETOOTH = 2; // 0x2
|
|
field public static final int TETHERING_ETHERNET = 5; // 0x5
|
|
field public static final int TETHERING_INVALID = -1; // 0xffffffff
|
|
field public static final int TETHERING_NCM = 4; // 0x4
|
|
field public static final int TETHERING_USB = 1; // 0x1
|
|
field public static final int TETHERING_WIFI = 0; // 0x0
|
|
field public static final int TETHERING_WIFI_P2P = 3; // 0x3
|
|
field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
|
|
field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
|
|
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 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
|
|
field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
|
|
field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
|
|
field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
|
|
}
|
|
|
|
public static interface TetheringManager.OnTetheringEntitlementResultListener {
|
|
method public void onTetheringEntitlementResult(int);
|
|
}
|
|
|
|
public static interface TetheringManager.StartTetheringCallback {
|
|
method public default void onTetheringFailed(int);
|
|
method public default void onTetheringStarted();
|
|
}
|
|
|
|
public static interface TetheringManager.TetheringEventCallback {
|
|
method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
|
|
method public default void onError(@NonNull String, int);
|
|
method public default void onError(@NonNull android.net.TetheringInterface, int);
|
|
method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
|
|
method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
|
|
method public default void onOffloadStatusChanged(int);
|
|
method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
|
|
method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
|
|
method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
|
|
method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
|
|
method public default void onTetheringSupported(boolean);
|
|
method public default void onUpstreamChanged(@Nullable android.net.Network);
|
|
}
|
|
|
|
public static class TetheringManager.TetheringRequest {
|
|
method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
|
|
method public int getConnectivityScope();
|
|
method @Nullable public android.net.LinkAddress getLocalIpv4Address();
|
|
method public boolean getShouldShowEntitlementUi();
|
|
method public int getTetheringType();
|
|
method public boolean isExemptFromEntitlementCheck();
|
|
}
|
|
|
|
public static class TetheringManager.TetheringRequest.Builder {
|
|
ctor public TetheringManager.TetheringRequest.Builder(int);
|
|
method @NonNull public android.net.TetheringManager.TetheringRequest build();
|
|
method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
|
|
method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
|
|
method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
|
|
method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
|
|
}
|
|
|
|
}
|
|
|