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

Commit 09564bbb 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 am: 8c09b9d7

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

Change-Id: I194f6fed28011702dd86676e5aa422129a903d9c
parents 386bec73 8c09b9d7
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())