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

Commit 692a8748 authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by Gerrit Code Review
Browse files

Merge "Do not query CS in NetworkProvider constructor"

parents deb1024b a1bef5bb
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())