blob: 3b9708eb3cb97d4637050c28ec42f0bb8687d811 [file] [log] [blame]
Anton Hansson65d1e302020-01-17 19:03:34 +00001// 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 {
Anton Hansson65d1e302020-01-17 19:03:34 +000023 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);
Anton Hansson65d1e302020-01-17 19:03:34 +000024 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);
markchien35ad54b2021-05-17 20:43:41 +080026 field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
Lorenzo Colitti8a36c292021-04-13 17:17:44 +090027 field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
Anton Hansson65d1e302020-01-17 19:03:34 +000028 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
Seungjae Yoo07b8fe12024-06-19 16:18:51 +090037 field @FlaggedApi("com.android.net.flags.tethering_request_virtual") public static final int TETHERING_VIRTUAL = 7; // 0x7
Anton Hansson65d1e302020-01-17 19:03:34 +000038 field public static final int TETHERING_WIFI_P2P = 3; // 0x3
Anton Hansson65d1e302020-01-17 19:03:34 +000039 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
Anton Hansson4168cea2020-03-20 13:24:30 +000048 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);
markchien35ad54b2021-05-17 20:43:41 +080051 method public default void onError(@NonNull android.net.TetheringInterface, int);
Lorenzo Colitti8a36c292021-04-13 17:17:44 +090052 method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
markchien35ad54b2021-05-17 20:43:41 +080053 method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
Anton Hansson4168cea2020-03-20 13:24:30 +000054 method public default void onOffloadStatusChanged(int);
55 method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
markchien35ad54b2021-05-17 20:43:41 +080056 method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
Anton Hansson4168cea2020-03-20 13:24:30 +000057 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);
Anton Hansson65d1e302020-01-17 19:03:34 +000060 }
61
Quang Anh Luong1252f7f2024-02-07 13:41:40 +090062 public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
Anton Hansson65d1e302020-01-17 19:03:34 +000063 method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
Lorenzo Colitti8a36c292021-04-13 17:17:44 +090064 method public int getConnectivityScope();
Anton Hansson65d1e302020-01-17 19:03:34 +000065 method @Nullable public android.net.LinkAddress getLocalIpv4Address();
Anton Hansson4168cea2020-03-20 13:24:30 +000066 method public boolean getShouldShowEntitlementUi();
67 method public int getTetheringType();
68 method public boolean isExemptFromEntitlementCheck();
junyulaia8b37772020-03-23 10:47:42 +080069 }
70
71 public static class TetheringManager.TetheringRequest.Builder {
Lorenzo Colitti8a36c292021-04-13 17:17:44 +090072 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
Anton Hansson65d1e302020-01-17 19:03:34 +000073 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
Anton Hansson4168cea2020-03-20 13:24:30 +000074 method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
Anton Hansson65d1e302020-01-17 19:03:34 +000075 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