1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0 2*344a7f5eSAndroid Build Coastguard Workerpackage android.net { 3*344a7f5eSAndroid Build Coastguard Worker 4*344a7f5eSAndroid Build Coastguard Worker public final class TetheredClient implements android.os.Parcelable { 5*344a7f5eSAndroid Build Coastguard Worker ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int); 6*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 7*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses(); 8*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.net.MacAddress getMacAddress(); 9*344a7f5eSAndroid Build Coastguard Worker method public int getTetheringType(); 10*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 11*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR; 12*344a7f5eSAndroid Build Coastguard Worker } 13*344a7f5eSAndroid Build Coastguard Worker 14*344a7f5eSAndroid Build Coastguard Worker public static final class TetheredClient.AddressInfo implements android.os.Parcelable { 15*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 16*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.net.LinkAddress getAddress(); 17*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getHostname(); 18*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 19*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR; 20*344a7f5eSAndroid Build Coastguard Worker } 21*344a7f5eSAndroid Build Coastguard Worker 22*344a7f5eSAndroid Build Coastguard Worker public final class TetheringInterface implements android.os.Parcelable { 23*344a7f5eSAndroid Build Coastguard Worker ctor public TetheringInterface(int, @NonNull String); 24*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 25*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getInterface(); 26*344a7f5eSAndroid Build Coastguard Worker method public int getType(); 27*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 28*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR; 29*344a7f5eSAndroid Build Coastguard Worker } 30*344a7f5eSAndroid Build Coastguard Worker 31*344a7f5eSAndroid Build Coastguard Worker public class TetheringManager { 32*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback); 33*344a7f5eSAndroid Build Coastguard Worker 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); 34*344a7f5eSAndroid Build Coastguard Worker 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); 35*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering(); 36*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int); 37*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback); 38*344a7f5eSAndroid Build Coastguard Worker field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED"; 39*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1 40*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2 41*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY"; 42*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_ACTIVE_TETHER = "tetherArray"; 43*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_AVAILABLE_TETHER = "availableArray"; 44*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_ERRORED_TETHER = "erroredArray"; 45*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_BLUETOOTH = 2; // 0x2 46*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_ETHERNET = 5; // 0x5 47*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_INVALID = -1; // 0xffffffff 48*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_NCM = 4; // 0x4 49*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_USB = 1; // 0x1 50*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_WIFI = 0; // 0x0 51*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_WIFI_P2P = 3; // 0x3 52*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc 53*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9 54*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8 55*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd 56*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa 57*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5 58*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf 59*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe 60*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 61*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb 62*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2 63*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6 64*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4 65*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1 66*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10 67*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3 68*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7 69*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2 70*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1 71*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0 72*344a7f5eSAndroid Build Coastguard Worker } 73*344a7f5eSAndroid Build Coastguard Worker 74*344a7f5eSAndroid Build Coastguard Worker public static interface TetheringManager.OnTetheringEntitlementResultListener { 75*344a7f5eSAndroid Build Coastguard Worker method public void onTetheringEntitlementResult(int); 76*344a7f5eSAndroid Build Coastguard Worker } 77*344a7f5eSAndroid Build Coastguard Worker 78*344a7f5eSAndroid Build Coastguard Worker public static interface TetheringManager.StartTetheringCallback { 79*344a7f5eSAndroid Build Coastguard Worker method public default void onTetheringFailed(int); 80*344a7f5eSAndroid Build Coastguard Worker method public default void onTetheringStarted(); 81*344a7f5eSAndroid Build Coastguard Worker } 82*344a7f5eSAndroid Build Coastguard Worker 83*344a7f5eSAndroid Build Coastguard Worker public static interface TetheringManager.TetheringEventCallback { 84*344a7f5eSAndroid Build Coastguard Worker method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>); 85*344a7f5eSAndroid Build Coastguard Worker method public default void onError(@NonNull String, int); 86*344a7f5eSAndroid Build Coastguard Worker method public default void onError(@NonNull android.net.TetheringInterface, int); 87*344a7f5eSAndroid Build Coastguard Worker method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>); 88*344a7f5eSAndroid Build Coastguard Worker method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); 89*344a7f5eSAndroid Build Coastguard Worker method public default void onOffloadStatusChanged(int); 90*344a7f5eSAndroid Build Coastguard Worker method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>); 91*344a7f5eSAndroid Build Coastguard Worker method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); 92*344a7f5eSAndroid Build Coastguard Worker method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>); 93*344a7f5eSAndroid Build Coastguard Worker method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); 94*344a7f5eSAndroid Build Coastguard Worker method public default void onTetheringSupported(boolean); 95*344a7f5eSAndroid Build Coastguard Worker method public default void onUpstreamChanged(@Nullable android.net.Network); 96*344a7f5eSAndroid Build Coastguard Worker } 97*344a7f5eSAndroid Build Coastguard Worker 98*344a7f5eSAndroid Build Coastguard Worker public static class TetheringManager.TetheringRequest { 99*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.net.LinkAddress getClientStaticIpv4Address(); 100*344a7f5eSAndroid Build Coastguard Worker method public int getConnectivityScope(); 101*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.net.LinkAddress getLocalIpv4Address(); 102*344a7f5eSAndroid Build Coastguard Worker method public boolean getShouldShowEntitlementUi(); 103*344a7f5eSAndroid Build Coastguard Worker method public int getTetheringType(); 104*344a7f5eSAndroid Build Coastguard Worker method public boolean isExemptFromEntitlementCheck(); 105*344a7f5eSAndroid Build Coastguard Worker } 106*344a7f5eSAndroid Build Coastguard Worker 107*344a7f5eSAndroid Build Coastguard Worker public static class TetheringManager.TetheringRequest.Builder { 108*344a7f5eSAndroid Build Coastguard Worker ctor public TetheringManager.TetheringRequest.Builder(int); 109*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.net.TetheringManager.TetheringRequest build(); 110*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int); 111*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean); 112*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean); 113*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress); 114*344a7f5eSAndroid Build Coastguard Worker } 115*344a7f5eSAndroid Build Coastguard Worker 116*344a7f5eSAndroid Build Coastguard Worker} 117*344a7f5eSAndroid Build Coastguard Worker 118