Replace public ctor with manager creation
Bug: 267765640
Test: atest SharedConnectivityManagerTest
Change-Id: I63a00ac2c77b2943e755be3c528bcd3ecb885626
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 4a0b2eb..5750b9f 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -3272,6 +3272,7 @@
field public static final String SAFETY_CENTER_SERVICE = "safety_center";
field public static final String SEARCH_UI_SERVICE = "search_ui";
field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
+ field public static final String SHARED_CONNECTIVITY_SERVICE = "shared_connectivity";
field public static final String SMARTSPACE_SERVICE = "smartspace";
field public static final String STATS_MANAGER = "stats";
field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
@@ -9838,7 +9839,6 @@
}
public class SharedConnectivityManager {
- ctor public SharedConnectivityManager(@NonNull android.content.Context);
method public boolean connectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
method public boolean connectTetherNetwork(@NonNull android.net.wifi.sharedconnectivity.app.TetherNetwork);
method public boolean disconnectTetherNetwork();
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index 031d351..0365f8c 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -156,6 +156,7 @@
import android.net.vcn.VcnManager;
import android.net.wifi.WifiFrameworkInitializer;
import android.net.wifi.nl80211.WifiNl80211Manager;
+import android.net.wifi.sharedconnectivity.app.SharedConnectivityManager;
import android.nfc.NfcManager;
import android.ondevicepersonalization.OnDevicePersonalizationFrameworkInitializer;
import android.os.BatteryManager;
@@ -1572,6 +1573,13 @@
Context.GRAMMATICAL_INFLECTION_SERVICE)));
}});
+ registerService(Context.SHARED_CONNECTIVITY_SERVICE, SharedConnectivityManager.class,
+ new CachedServiceFetcher<SharedConnectivityManager>() {
+ @Override
+ public SharedConnectivityManager createService(ContextImpl ctx) {
+ return new SharedConnectivityManager(ctx);
+ }
+ });
sInitializing = true;
try {
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 6aa7f3f..0d330ce 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -6232,6 +6232,18 @@
public static final String SATELLITE_SERVICE = "satellite";
/**
+ * Use with {@link #getSystemService(String)} to retrieve a
+ * {@link android.net.wifi.sharedconnectivity.app.SharedConnectivityManager} for accessing
+ * shared connectivity services.
+ *
+ * @see #getSystemService(String)
+ * @see android.net.wifi.sharedconnectivity.app.SharedConnectivityManager
+ * @hide
+ */
+ @SystemApi
+ public static final String SHARED_CONNECTIVITY_SERVICE = "shared_connectivity";
+
+ /**
* Determine whether the given permission is allowed for a particular
* process and user ID running in the system.
*
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java
index b43e4f7..9d9d24b 100644
--- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java
+++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManager.java
@@ -19,7 +19,6 @@
import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.content.ComponentName;
@@ -114,8 +113,9 @@
*
* Automatically binds to implementation of {@link SharedConnectivityService} specified in
* device overlay.
+ *
+ * @hide
*/
- @SuppressLint("ManagerConstructor")
public SharedConnectivityManager(@NonNull Context context) {
ServiceConnection serviceConnection = new ServiceConnection() {
@Override