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

Commit 3a43a0dc authored by Chiachang Wang's avatar Chiachang Wang Committed by Automerger Merge Worker
Browse files

Merge "Update test to adopt new API for check network support" am: 04f42164

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

Change-Id: Ie1c8b049e601138bba43b00787c543e2231b2149
parents 21b092ae 04f42164
Loading
Loading
Loading
Loading
+16 −19
Original line number Diff line number Diff line
@@ -20,9 +20,8 @@ import static com.google.common.truth.Truth.assertThat;

import static org.robolectric.shadow.api.Shadow.extract;

import android.net.ConnectivityManager;
import android.os.UserManager;
import android.util.SparseBooleanArray;
import android.telephony.TelephonyManager;

import org.junit.Before;
import org.junit.Test;
@@ -35,7 +34,7 @@ import org.robolectric.annotation.Implements;

@RunWith(RobolectricTestRunner.class)
@Config(shadows = {SimStatusImeiInfoPreferenceControllerTest.ShadowUserManager.class,
                SimStatusImeiInfoPreferenceControllerTest.ShadowConnectivityManager.class})
                SimStatusImeiInfoPreferenceControllerTest.ShadowTelephonyManager.class})
public class SimStatusImeiInfoPreferenceControllerTest {

    private AbstractSimStatusImeiInfoPreferenceController mController;
@@ -56,9 +55,9 @@ public class SimStatusImeiInfoPreferenceControllerTest {
        ShadowUserManager userManager =
                extract(RuntimeEnvironment.application.getSystemService(UserManager.class));
        userManager.setIsAdminUser(true);
        ShadowConnectivityManager connectivityManager =
                extract(RuntimeEnvironment.application.getSystemService(ConnectivityManager.class));
        connectivityManager.setNetworkSupported(ConnectivityManager.TYPE_MOBILE, true);
        ShadowTelephonyManager telephonyManager =
                extract(RuntimeEnvironment.application.getSystemService(TelephonyManager.class));
        telephonyManager.setDataCapable(true);

        assertThat(mController.isAvailable()).isTrue();
    }
@@ -68,9 +67,9 @@ public class SimStatusImeiInfoPreferenceControllerTest {
        ShadowUserManager userManager =
                extract(RuntimeEnvironment.application.getSystemService(UserManager.class));
        userManager.setIsAdminUser(true);
        ShadowConnectivityManager connectivityManager =
                extract(RuntimeEnvironment.application.getSystemService(ConnectivityManager.class));
        connectivityManager.setNetworkSupported(ConnectivityManager.TYPE_MOBILE, false);
        ShadowTelephonyManager telephonyManager =
                extract(RuntimeEnvironment.application.getSystemService(TelephonyManager.class));
        telephonyManager.setDataCapable(false);

        assertThat(mController.isAvailable()).isFalse();
    }
@@ -99,19 +98,17 @@ public class SimStatusImeiInfoPreferenceControllerTest {
        }
    }

    @Implements(ConnectivityManager.class)
    public static class ShadowConnectivityManager
            extends org.robolectric.shadows.ShadowConnectivityManager {

        private final SparseBooleanArray mSupportedNetworkTypes = new SparseBooleanArray();

        private void setNetworkSupported(int networkType, boolean supported) {
            mSupportedNetworkTypes.put(networkType, supported);
    @Implements(TelephonyManager.class)
    public static class ShadowTelephonyManager
            extends org.robolectric.shadows.ShadowTelephonyManager {
        private boolean mDataCapable = false;
        private void setDataCapable(boolean capable) {
            mDataCapable = capable;
        }

        @Implementation
        public boolean isNetworkSupported(int networkType) {
            return mSupportedNetworkTypes.get(networkType);
        public boolean isDataCapable() {
            return mDataCapable;
        }
    }
}