Merge "Small changes needed to support CTS testing." into udc-dev

This commit is contained in:
Matt Walliser
2023-02-22 19:09:14 +00:00
committed by Android (Google) Code Review
3 changed files with 30 additions and 2 deletions

View File

@@ -1948,12 +1948,21 @@ package android.net {
package android.net.wifi.sharedconnectivity.app {
public class SharedConnectivityManager {
method @Nullable public static android.net.wifi.sharedconnectivity.app.SharedConnectivityManager create(@NonNull android.content.Context, @NonNull String, @NonNull String);
method @Nullable public android.content.ServiceConnection getServiceConnection();
method public void setService(@Nullable android.os.IInterface);
}
}
package android.net.wifi.sharedconnectivity.service {
public abstract class SharedConnectivityService extends android.app.Service {
method public void onBind();
}
}
package android.os {
public final class BatteryStatsManager {

View File

@@ -19,6 +19,7 @@ package android.net.wifi.sharedconnectivity.app;
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;
@@ -172,6 +173,17 @@ public class SharedConnectivityManager {
return null;
}
/**
* @hide
*/
@SuppressLint("ManagerLookup")
@TestApi
@Nullable
public static SharedConnectivityManager create(@NonNull Context context,
@NonNull String servicePackageName, @NonNull String serviceIntentAction) {
return new SharedConnectivityManager(context, servicePackageName, serviceIntentAction);
}
private SharedConnectivityManager(@NonNull Context context, String servicePackageName,
String serviceIntentAction) {
mServiceConnection = new ServiceConnection() {

View File

@@ -23,6 +23,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.app.Service;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -59,7 +60,7 @@ public abstract class SharedConnectivityService extends Service {
private static final String TAG = SharedConnectivityService.class.getSimpleName();
private static final boolean DEBUG = true;
private Handler mHandler;
private Handler mHandler;
private final List<ISharedConnectivityCallback> mCallbacks = new ArrayList<>();
// Used to find DeathRecipient when unregistering a callback to call unlinkToDeath.
private final Map<ISharedConnectivityCallback, DeathRecipient> mDeathRecipientMap =
@@ -90,7 +91,7 @@ public abstract class SharedConnectivityService extends Service {
public final IBinder onBind(@NonNull Intent intent) {
if (DEBUG) Log.i(TAG, "onBind intent=" + intent);
mHandler = new Handler(getMainLooper());
return new ISharedConnectivityService.Stub() {
IBinder serviceStub = new ISharedConnectivityService.Stub() {
@Override
public void registerCallback(ISharedConnectivityCallback callback) {
checkPermissions();
@@ -138,8 +139,14 @@ public abstract class SharedConnectivityService extends Service {
}
}
};
onBind(); // For CTS testing
return serviceStub;
}
/** @hide */
@TestApi
public void onBind() {}
private void onRegisterCallback(ISharedConnectivityCallback callback) {
// Listener gets triggered on first register using cashed data
if (!notifyTetherNetworkUpdate(callback) || !notifyKnownNetworkUpdate(callback)