Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 1 | // Signature format: 2.0 |
| 2 | package 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(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback); |
| 24 | 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); |
| 25 | 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); |
| 26 | method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(int, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback); |
| 27 | method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering(); |
| 28 | method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int); |
| 29 | method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback); |
| 30 | field public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED"; |
| 31 | field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY"; |
| 32 | field public static final String EXTRA_ACTIVE_TETHER = "tetherArray"; |
| 33 | field public static final String EXTRA_AVAILABLE_TETHER = "availableArray"; |
| 34 | field public static final String EXTRA_ERRORED_TETHER = "erroredArray"; |
| 35 | field public static final int TETHERING_BLUETOOTH = 2; // 0x2 |
| 36 | field public static final int TETHERING_ETHERNET = 5; // 0x5 |
| 37 | field public static final int TETHERING_INVALID = -1; // 0xffffffff |
| 38 | field public static final int TETHERING_NCM = 4; // 0x4 |
| 39 | field public static final int TETHERING_USB = 1; // 0x1 |
| 40 | field public static final int TETHERING_WIFI = 0; // 0x0 |
| 41 | field public static final int TETHERING_WIFI_P2P = 3; // 0x3 |
| 42 | field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 43 | field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9 |
| 44 | field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8 |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 45 | field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd |
| 46 | field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 47 | field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5 |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 48 | field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf |
| 49 | field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe |
| 50 | field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 51 | field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 52 | field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2 |
| 53 | field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6 |
| 54 | field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4 |
| 55 | field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1 |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 56 | field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10 |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 57 | field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3 |
| 58 | field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7 |
| 59 | field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2 |
| 60 | field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1 |
| 61 | field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0 |
| 62 | } |
| 63 | |
| 64 | public static interface TetheringManager.OnTetheringEntitlementResultListener { |
| 65 | method public void onTetheringEntitlementResult(int); |
| 66 | } |
| 67 | |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 68 | public static interface TetheringManager.StartTetheringCallback { |
| 69 | method public default void onTetheringFailed(int); |
| 70 | method public default void onTetheringStarted(); |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 71 | } |
| 72 | |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 73 | public static interface TetheringManager.TetheringEventCallback { |
| 74 | method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>); |
| 75 | method public default void onError(@NonNull String, int); |
| 76 | method public default void onOffloadStatusChanged(int); |
| 77 | method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>); |
| 78 | method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>); |
| 79 | method public default void onTetheringSupported(boolean); |
| 80 | method public default void onUpstreamChanged(@Nullable android.net.Network); |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 81 | } |
| 82 | |
| 83 | public static class TetheringManager.TetheringRequest { |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 84 | method @Nullable public android.net.LinkAddress getClientStaticIpv4Address(); |
| 85 | method @Nullable public android.net.LinkAddress getLocalIpv4Address(); |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 86 | method public boolean getShouldShowEntitlementUi(); |
| 87 | method public int getTetheringType(); |
| 88 | method public boolean isExemptFromEntitlementCheck(); |
junyulai | a8b3777 | 2020-03-23 10:47:42 +0800 | [diff] [blame^] | 89 | } |
| 90 | |
| 91 | public static class TetheringManager.TetheringRequest.Builder { |
| 92 | ctor public TetheringManager.TetheringRequest.Builder(int); |
| 93 | method @NonNull public android.net.TetheringManager.TetheringRequest build(); |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 94 | method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean); |
Anton Hansson | 4168cea | 2020-03-20 13:24:30 +0000 | [diff] [blame] | 95 | method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean); |
Anton Hansson | 65d1e30 | 2020-01-17 19:03:34 +0000 | [diff] [blame] | 96 | method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress); |
| 97 | } |
| 98 | |
| 99 | } |
| 100 | |