Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46c03b41 authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by Automerger Merge Worker
Browse files

Merge "Do not query CS in NetworkProvider constructor" am: 692a8748

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512873

Change-Id: I227076074a2d58a4b9e5e8aaa972c6338887f568
parents 839fca8a 692a8748
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ public class NetworkProvider {

    private final Messenger mMessenger;
    private final String mName;
    private final ConnectivityManager mCm;
    private final Context mContext;

    private int mProviderId = ID_NONE;

@@ -78,8 +78,6 @@ public class NetworkProvider {
     */
    @SystemApi
    public NetworkProvider(@NonNull Context context, @NonNull Looper looper, @NonNull String name) {
        mCm = ConnectivityManager.from(context);

        Handler handler = new Handler(looper) {
            @Override
            public void handleMessage(Message m) {
@@ -95,6 +93,7 @@ public class NetworkProvider {
                }
            }
        };
        mContext = context;
        mMessenger = new Messenger(handler);
        mName = name;
    }
@@ -158,6 +157,6 @@ public class NetworkProvider {
    @SystemApi
    @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
    public void declareNetworkRequestUnfulfillable(@NonNull NetworkRequest request) {
        mCm.declareNetworkRequestUnfulfillable(request);
        ConnectivityManager.from(mContext).declareNetworkRequestUnfulfillable(request);
    }
}
+11 −3
Original line number Diff line number Diff line
@@ -33,6 +33,9 @@ import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.mock
import org.mockito.Mockito.verifyNoMoreInteractions
import java.util.UUID
import kotlin.test.assertEquals
import kotlin.test.assertNotEquals
@@ -87,8 +90,8 @@ class NetworkProviderTest {
        ) = seenEvents.poll(DEFAULT_TIMEOUT_MS) { it is T && predicate(it) }
    }

    private fun createNetworkProvider(): TestNetworkProvider {
        return TestNetworkProvider(context, mHandlerThread.looper)
    private fun createNetworkProvider(ctx: Context = context): TestNetworkProvider {
        return TestNetworkProvider(ctx, mHandlerThread.looper)
    }

    @Test
@@ -169,7 +172,12 @@ class NetworkProviderTest {

    @Test
    fun testDeclareNetworkRequestUnfulfillable() {
        val provider = createNetworkProvider()
        val mockContext = mock(Context::class.java)
        val provider = createNetworkProvider(mockContext)
        // ConnectivityManager not required at creation time
        verifyNoMoreInteractions(mockContext)
        doReturn(mCm).`when`(mockContext).getSystemService(Context.CONNECTIVITY_SERVICE)

        mCm.registerNetworkProvider(provider)

        val specifier = StringNetworkSpecifier(UUID.randomUUID().toString())