1// Signature format: 2.0 2package android.net { 3 4 public final class TetheredClient implements android.os.Parcelable { 5 ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int); 6 method public int describeContents(); 7 method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses(); 8 method @NonNull public android.net.MacAddress getMacAddress(); 9 method public int getTetheringType(); 10 method public void writeToParcel(@NonNull android.os.Parcel, int); 11 field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR; 12 } 13 14 public static final class TetheredClient.AddressInfo implements android.os.Parcelable { 15 method public int describeContents(); 16 method @NonNull public android.net.LinkAddress getAddress(); 17 method @Nullable public String getHostname(); 18 method public void writeToParcel(@NonNull android.os.Parcel, int); 19 field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR; 20 } 21 22 public class TetheringManager { 23 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); 24 method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering(); 25 method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int); 26 field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED"; 27 field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2 28 field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY"; 29 field public static final String EXTRA_ACTIVE_TETHER = "tetherArray"; 30 field public static final String EXTRA_AVAILABLE_TETHER = "availableArray"; 31 field public static final String EXTRA_ERRORED_TETHER = "erroredArray"; 32 field public static final int TETHERING_BLUETOOTH = 2; // 0x2 33 field public static final int TETHERING_ETHERNET = 5; // 0x5 34 field public static final int TETHERING_INVALID = -1; // 0xffffffff 35 field public static final int TETHERING_NCM = 4; // 0x4 36 field public static final int TETHERING_USB = 1; // 0x1 37 field @FlaggedApi("com.android.net.flags.tethering_request_virtual") public static final int TETHERING_VIRTUAL = 7; // 0x7 38 field public static final int TETHERING_WIFI_P2P = 3; // 0x3 39 field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2 40 field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1 41 field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0 42 } 43 44 public static interface TetheringManager.OnTetheringEntitlementResultListener { 45 method public void onTetheringEntitlementResult(int); 46 } 47 48 public static interface TetheringManager.TetheringEventCallback { 49 method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>); 50 method public default void onError(@NonNull String, int); 51 method public default void onError(@NonNull android.net.TetheringInterface, int); 52 method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>); 53 method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); 54 method public default void onOffloadStatusChanged(int); 55 method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>); 56 method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); 57 method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>); 58 method public default void onTetheringSupported(boolean); 59 method public default void onUpstreamChanged(@Nullable android.net.Network); 60 } 61 62 public static final class TetheringManager.TetheringRequest implements android.os.Parcelable { 63 method @Nullable public android.net.LinkAddress getClientStaticIpv4Address(); 64 method public int getConnectivityScope(); 65 method @Nullable public android.net.LinkAddress getLocalIpv4Address(); 66 method public boolean getShouldShowEntitlementUi(); 67 method public int getTetheringType(); 68 method public boolean isExemptFromEntitlementCheck(); 69 } 70 71 public static class TetheringManager.TetheringRequest.Builder { 72 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int); 73 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean); 74 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean); 75 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress); 76 } 77 78} 79 80