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 public static final int TETHERING_WIFI_P2P = 3; // 0x3
38    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
39    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
40    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
41  }
42
43  public static interface TetheringManager.OnTetheringEntitlementResultListener {
44    method public void onTetheringEntitlementResult(int);
45  }
46
47  public static interface TetheringManager.TetheringEventCallback {
48    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
49    method public default void onError(@NonNull String, int);
50    method public default void onError(@NonNull android.net.TetheringInterface, int);
51    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
52    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
53    method public default void onOffloadStatusChanged(int);
54    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
55    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
56    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
57    method public default void onTetheringSupported(boolean);
58    method public default void onUpstreamChanged(@Nullable android.net.Network);
59  }
60
61  public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
62    method public int describeContents();
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 @Nullable public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
68    method public int getTetheringType();
69    method public boolean isExemptFromEntitlementCheck();
70    method public void writeToParcel(@NonNull android.os.Parcel, int);
71    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringManager.TetheringRequest> CREATOR;
72  }
73
74  public static class TetheringManager.TetheringRequest.Builder {
75    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
76    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
77    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
78    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setSoftApConfiguration(@Nullable android.net.wifi.SoftApConfiguration);
79    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
80  }
81
82}
83
84