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

Commit 8c09b9d7 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 am: 46c03b41

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

Change-Id: Ie9914abd1527c6478f69a0d27e64b69174badd5d
parents 64a1c1a4 46c03b41
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())