[Thread] add ThreadNetworkController APIs
The ThreadNetworkController class provides APIs for managing the Thread network, for example, attach to a specific network, form a network with given dataset or update/migrate an existing network. Bug: 262683651 Test: atest CtsThreadNetworkTestCases Change-Id: Ib3c267d2c81a8c3c7772ed3c9cd2092487cc941a
This commit is contained in:
parent
192e4b0289
commit
b1c75dbe8c
1 changed files with 2388 additions and 23 deletions
|
|
@ -494,9 +494,47 @@ package android.net.thread {
|
|||
|
||||
@FlaggedApi("com.android.net.thread.flags.thread_enabled") public final class ThreadNetworkController {
|
||||
method public int getThreadVersion();
|
||||
method public static boolean isAttached(int);
|
||||
method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void join(@NonNull android.net.thread.ActiveOperationalDataset, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
|
||||
method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void leave(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
|
||||
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_NETWORK_STATE, "android.permission.THREAD_NETWORK_PRIVILEGED"}) public void registerOperationalDatasetCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.thread.ThreadNetworkController.OperationalDatasetCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.thread.ThreadNetworkController.StateCallback);
|
||||
method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void scheduleMigration(@NonNull android.net.thread.PendingOperationalDataset, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
|
||||
method public void unregisterOperationalDatasetCallback(@NonNull android.net.thread.ThreadNetworkController.OperationalDatasetCallback);
|
||||
method public void unregisterStateCallback(@NonNull android.net.thread.ThreadNetworkController.StateCallback);
|
||||
field public static final int DEVICE_ROLE_CHILD = 2; // 0x2
|
||||
field public static final int DEVICE_ROLE_DETACHED = 1; // 0x1
|
||||
field public static final int DEVICE_ROLE_LEADER = 4; // 0x4
|
||||
field public static final int DEVICE_ROLE_ROUTER = 3; // 0x3
|
||||
field public static final int DEVICE_ROLE_STOPPED = 0; // 0x0
|
||||
field public static final int THREAD_VERSION_1_3 = 4; // 0x4
|
||||
}
|
||||
|
||||
public static interface ThreadNetworkController.OperationalDatasetCallback {
|
||||
method public void onActiveOperationalDatasetChanged(@Nullable android.net.thread.ActiveOperationalDataset);
|
||||
method public default void onPendingOperationalDatasetChanged(@Nullable android.net.thread.PendingOperationalDataset);
|
||||
}
|
||||
|
||||
public static interface ThreadNetworkController.StateCallback {
|
||||
method public void onDeviceRoleChanged(int);
|
||||
method public default void onPartitionIdChanged(long);
|
||||
}
|
||||
|
||||
@FlaggedApi("com.android.net.thread.flags.thread_enabled") public class ThreadNetworkException extends java.lang.Exception {
|
||||
ctor public ThreadNetworkException(int, @NonNull String);
|
||||
method public int getErrorCode();
|
||||
field public static final int ERROR_ABORTED = 2; // 0x2
|
||||
field public static final int ERROR_BUSY = 5; // 0x5
|
||||
field public static final int ERROR_FAILED_PRECONDITION = 6; // 0x6
|
||||
field public static final int ERROR_INTERNAL_ERROR = 1; // 0x1
|
||||
field public static final int ERROR_REJECTED_BY_PEER = 8; // 0x8
|
||||
field public static final int ERROR_RESOURCE_EXHAUSTED = 10; // 0xa
|
||||
field public static final int ERROR_RESPONSE_BAD_FORMAT = 9; // 0x9
|
||||
field public static final int ERROR_TIMEOUT = 3; // 0x3
|
||||
field public static final int ERROR_UNAVAILABLE = 4; // 0x4
|
||||
field public static final int ERROR_UNSUPPORTED_CHANNEL = 7; // 0x7
|
||||
}
|
||||
|
||||
@FlaggedApi("com.android.net.thread.flags.thread_enabled") public final class ThreadNetworkManager {
|
||||
method @NonNull public java.util.List<android.net.thread.ThreadNetworkController> getAllThreadNetworkControllers();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue