diff options
3 files changed, 39 insertions, 25 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 6581c421f970..95e331e98ee9 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -10152,7 +10152,6 @@ package android.net.wifi.sharedconnectivity.service { public abstract class SharedConnectivityService extends android.app.Service { ctor public SharedConnectivityService(); - ctor public SharedConnectivityService(@NonNull android.os.Handler); method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); method public abstract void onConnectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork); method public abstract void onConnectTetherNetwork(@NonNull android.net.wifi.sharedconnectivity.app.TetherNetwork); diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java b/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java index 13084f47efe6..f3af06247576 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityService.java @@ -59,7 +59,7 @@ public abstract class SharedConnectivityService extends Service { private static final String TAG = SharedConnectivityService.class.getSimpleName(); private static final boolean DEBUG = true; - private final 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 = @@ -71,14 +71,6 @@ public abstract class SharedConnectivityService extends Service { private TetherNetworkConnectionStatus mTetherNetworkConnectionStatus; private KnownNetworkConnectionStatus mKnownNetworkConnectionStatus; - public SharedConnectivityService() { - mHandler = new Handler(getMainLooper()); - } - - public SharedConnectivityService(@NonNull Handler handler) { - mHandler = handler; - } - private final class DeathRecipient implements IBinder.DeathRecipient { ISharedConnectivityCallback mCallback; @@ -97,6 +89,7 @@ public abstract class SharedConnectivityService extends Service { @Nullable public final IBinder onBind(@NonNull Intent intent) { if (DEBUG) Log.i(TAG, "onBind intent=" + intent); + mHandler = new Handler(getMainLooper()); return new ISharedConnectivityService.Stub() { @Override public void registerCallback(ISharedConnectivityCallback callback) { diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java index fb8d7bf95ea0..d7f7fea4df3e 100644 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java +++ b/wifi/tests/src/android/net/wifi/sharedconnectivity/service/SharedConnectivityServiceTest.java @@ -17,16 +17,21 @@ package android.net.wifi.sharedconnectivity.service; import static org.junit.Assert.assertNotNull; +import static org.mockito.Mockito.when; +import android.content.Context; import android.content.Intent; import android.net.wifi.sharedconnectivity.app.KnownNetwork; import android.net.wifi.sharedconnectivity.app.TetherNetwork; -import android.os.Handler; -import android.os.test.TestLooper; +import android.os.Looper; +import androidx.annotation.NonNull; import androidx.test.filters.SmallTest; +import org.junit.Before; import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; /** * Unit tests for {@link android.net.wifi.sharedconnectivity.service.SharedConnectivityService}. @@ -34,6 +39,33 @@ import org.junit.Test; @SmallTest public class SharedConnectivityServiceTest { + @Mock + Context mContext; + + static class FakeSharedConnectivityService extends SharedConnectivityService { + public void attachBaseContext(Context context) { + super.attachBaseContext(context); + } + + @Override + public void onConnectTetherNetwork(@NonNull TetherNetwork network) {} + + @Override + public void onDisconnectTetherNetwork(@NonNull TetherNetwork network) {} + + @Override + public void onConnectKnownNetwork(@NonNull KnownNetwork network) {} + + @Override + public void onForgetKnownNetwork(@NonNull KnownNetwork network) {} + } + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + when(mContext.getMainLooper()).thenReturn(Looper.getMainLooper()); + } + /** * Verifies service returns */ @@ -51,18 +83,8 @@ public class SharedConnectivityServiceTest { } private SharedConnectivityService createService() { - return new SharedConnectivityService(new Handler(new TestLooper().getLooper())) { - @Override - public void onConnectTetherNetwork(TetherNetwork network) {} - - @Override - public void onDisconnectTetherNetwork(TetherNetwork network) {} - - @Override - public void onConnectKnownNetwork(KnownNetwork network) {} - - @Override - public void onForgetKnownNetwork(KnownNetwork network) {} - }; + FakeSharedConnectivityService service = new FakeSharedConnectivityService(); + service.attachBaseContext(mContext); + return service; } } |