Add RemoteAuthService
Add RemoteAuthService APIs and Stubs (hide) for Settings of D2DA
This CL introduces new SystemApi allow user to discover remote devices
compatible to be registered as remote authenticators via RemoteAuthManager
Design doc: go/remote-auth-manager-fishfood-design
Test: built successfully.
Bug: 290092977
API-Coverage-Bug: 294934095
Change-Id: Iaaae1126065fdc3db469eeb8d85ac654b8199a12
diff --git a/framework-t/Android.bp b/framework-t/Android.bp
index 05b84c2..dacdaf2 100644
--- a/framework-t/Android.bp
+++ b/framework-t/Android.bp
@@ -43,6 +43,7 @@
":framework-connectivity-tiramisu-updatable-sources",
":framework-nearby-java-sources",
":framework-thread-sources",
+ ":framework-remoteauth-java-sources",
],
libs: [
"unsupportedappusage",
@@ -130,8 +131,10 @@
"android.net",
"android.net.nsd",
"android.nearby",
+ "android.remoteauth",
"com.android.connectivity",
"com.android.nearby",
+ "com.android.remoteauth",
],
hidden_api: {
@@ -153,6 +156,7 @@
"//packages/modules/Connectivity/service", // For R8 only
"//packages/modules/Connectivity/service-t",
"//packages/modules/Connectivity/nearby:__subpackages__",
+ "//packages/modules/Connectivity/remoteauth:__subpackages__",
"//frameworks/base",
// Tests using hidden APIs
diff --git a/framework-t/api/module-lib-current.txt b/framework-t/api/module-lib-current.txt
index 5a8d47b..42c83d8 100644
--- a/framework-t/api/module-lib-current.txt
+++ b/framework-t/api/module-lib-current.txt
@@ -207,3 +207,43 @@
}
+package android.remoteauth {
+
+ public interface DeviceDiscoveryCallback {
+ method public void onDeviceUpdate(@NonNull android.remoteauth.RemoteDevice, int);
+ method public void onTimeout();
+ field public static final int STATE_LOST = 0; // 0x0
+ field public static final int STATE_SEEN = 1; // 0x1
+ }
+
+ public final class RemoteAuthFrameworkInitializer {
+ method public static void registerServiceWrappers();
+ }
+
+ public class RemoteAuthManager {
+ method public boolean isRemoteAuthSupported();
+ method public boolean startDiscovery(int, @NonNull java.util.concurrent.Executor, @NonNull android.remoteauth.DeviceDiscoveryCallback);
+ method public void stopDiscovery(@NonNull android.remoteauth.DeviceDiscoveryCallback);
+ }
+
+ public final class RemoteDevice implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public int getConnectionId();
+ method @Nullable public String getName();
+ method public int getRegistrationState();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.remoteauth.RemoteDevice> CREATOR;
+ field public static final int STATE_NOT_REGISTERED = 0; // 0x0
+ field public static final int STATE_REGISTERED = 1; // 0x1
+ }
+
+ public static final class RemoteDevice.Builder {
+ ctor public RemoteDevice.Builder(int);
+ method @NonNull public android.remoteauth.RemoteDevice build();
+ method @NonNull public android.remoteauth.RemoteDevice.Builder setConnectionId(int);
+ method @NonNull public android.remoteauth.RemoteDevice.Builder setName(@Nullable String);
+ method @NonNull public android.remoteauth.RemoteDevice.Builder setRegistrationState(int);
+ }
+
+}
+