Snap for 9264471 from af96b1ea7a to tm-qpr2-release

Change-Id: Ieb8d80c1b32a7558b44a81ed57351b4a2202f441
This commit is contained in:
Android Build Coastguard Worker
2022-11-08 00:35:13 +00:00
34 changed files with 205 additions and 15 deletions

View File

@@ -636,4 +636,8 @@
<!-- Whether to enable the app battery usage list page feature. -->
<bool name="config_app_battery_usage_list_enabled">false</bool>
<!-- Whether sim related information is visible to the end user. -->
<bool name="config_show_sim_info">true</bool>
</resources>

View File

@@ -58,6 +58,7 @@
android:title="@string/status_number"
android:summary="@string/summary_placeholder"
android:selectable="false"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
settings:enableCopying="true"/>
</PreferenceCategory>
@@ -99,6 +100,7 @@
android:title="@string/sim_status_title"
settings:keywords="@string/keywords_sim_status"
android:summary="@string/summary_placeholder"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:enableCopying="true"/>
<!-- Model & hardware -->
@@ -120,6 +122,7 @@
android:summary="@string/summary_placeholder"
settings:keywords="@string/keywords_imei_info"
settings:enableCopying="true"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.deviceinfo.imei.ImeiInfoPreferenceController"/>
<!-- Android version -->

View File

@@ -37,6 +37,7 @@
android:icon="@drawable/ic_calls_sms"
android:order="-20"
android:summary="@string/summary_placeholder"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:allowDividerBelow="true"
settings:keywords="@string/calls_and_sms"
settings:useAdminDisabledSummary="true" />
@@ -49,6 +50,7 @@
android:order="-15"
settings:keywords="@string/keywords_more_mobile_networks"
settings:userRestriction="no_config_mobile_networks"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:allowDividerAbove="true"
settings:useAdminDisabledSummary="true" />
@@ -66,6 +68,7 @@
android:persistent="false"
android:order="19"
settings:userRestriction="no_config_mobile_networks"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:useAdminDisabledSummary="true" />
<com.android.settingslib.RestrictedPreference

View File

@@ -46,6 +46,7 @@
android:key="provider_model_mobile_network"
android:title="@string/summary_placeholder"
android:layout="@layout/preference_category_no_label"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.network.NetworkMobileProviderController"/>
<com.android.settingslib.RestrictedSwitchPreference

View File

@@ -37,6 +37,7 @@
<Preference
android:key="erase_euicc_data"
android:title="@string/reset_esim_title"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.network.EraseEuiccDataController" />
<!-- Factory reset -->

View File

@@ -64,6 +64,7 @@
android:order="50"
android:key="sim_lock_settings"
android:title="@string/sim_lock_settings_category"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.security.SimLockPreferenceController">
<intent
@@ -103,6 +104,7 @@
android:key="confirm_sim_deletion"
android:title="@string/confirm_sim_deletion_title"
android:summary="@string/confirm_sim_deletion_description"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.security.ConfirmSimDeletionPreferenceController" />
<!-- work profile security section -->

View File

@@ -174,8 +174,9 @@ public class IccLockSettings extends SettingsPreferenceFragment
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Utils.isMonkeyRunning()) {
finish();
if (Utils.isMonkeyRunning() ||
!SubscriptionUtil.isSimHardwareVisible(getContext())) {
finishFragment();
return;
}

View File

@@ -64,6 +64,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -381,6 +382,14 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis
mScrollView.getViewTreeObserver().addOnGlobalLayoutListener(this);
}
/**
* Whether to show any UI which is SIM related.
*/
@VisibleForTesting
boolean showAnySubscriptionInfo(Context context) {
return (context != null) && SubscriptionUtil.isSimHardwareVisible(context);
}
/**
* Whether to show strings indicating that the eUICC will be wiped.
*
@@ -390,7 +399,7 @@ public class MainClear extends InstrumentedFragment implements OnGlobalLayoutLis
@VisibleForTesting
boolean showWipeEuicc() {
Context context = getContext();
if (!isEuiccEnabled(context)) {
if (!showAnySubscriptionInfo(context) || !isEuiccEnabled(context)) {
return false;
}
ContentResolver cr = context.getContentResolver();

View File

@@ -239,6 +239,9 @@ public class ResetNetwork extends InstrumentedFragment {
}
private List<SubscriptionInfo> getActiveSubscriptionInfoList() {
if (!SubscriptionUtil.isSimHardwareVisible(getActivity())) {
return Collections.emptyList();
}
SubscriptionManager mgr = getActivity().getSystemService(SubscriptionManager.class);
if (mgr == null) {
Log.w(TAG, "No SubscriptionManager");

View File

@@ -29,6 +29,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.DeviceInfoUtils;
import java.util.ArrayList;
@@ -51,7 +52,8 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return mTelephonyManager.isVoiceCapable() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
return SubscriptionUtil.isSimHardwareVisible(mContext) ?
AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override
@@ -62,6 +64,9 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (!SubscriptionUtil.isSimHardwareVisible(mContext)) {
return;
}
final Preference preference = screen.findPreference(getPreferenceKey());
final PreferenceCategory category = screen.findPreference(KEY_PREFERENCE_CATEGORY);
mPreferenceList.add(preference);

View File

@@ -33,6 +33,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.deviceinfo.PhoneNumberSummaryPreference;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.Utils;
import java.util.ArrayList;
@@ -63,6 +64,9 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (!SubscriptionUtil.isSimHardwareVisible(mContext)) {
return;
}
final Preference preference = screen.findPreference(getPreferenceKey());
final PreferenceCategory category = screen.findPreference(KEY_PREFERENCE_CATEGORY);
@@ -118,7 +122,8 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return mContext.getSystemService(UserManager.class).isAdminUser()
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
mContext.getSystemService(UserManager.class).isAdminUser()
&& !Utils.isWifiOnly(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}

View File

@@ -29,6 +29,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.deviceinfo.AbstractSimStatusImeiInfoPreferenceController;
import java.util.ArrayList;
@@ -59,9 +60,18 @@ public class SimStatusPreferenceController extends
return KEY_SIM_STATUS;
}
@Override
public boolean isAvailable() {
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
super.isAvailable();
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (!SubscriptionUtil.isSimHardwareVisible(mContext)) {
return;
}
final Preference preference = screen.findPreference(getPreferenceKey());
if (!isAvailable() || preference == null || !preference.isVisible()) {
return;

View File

@@ -51,7 +51,8 @@ public class EraseEuiccDataController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return mContext.getPackageManager().hasSystemFeature(
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE
: UNSUPPORTED_ON_DEVICE;
}

View File

@@ -60,6 +60,10 @@ public class MobileNetworkListFragment extends DashboardFragment {
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
if (!SubscriptionUtil.isSimHardwareVisible(getContext())) {
finish();
return controllers;
}
NetworkProviderSimsCategoryController simCategoryPrefCtrl =
new NetworkProviderSimsCategoryController(context, KEY_PREFERENCE_CATEGORY_SIM,
@@ -88,7 +92,8 @@ public class MobileNetworkListFragment extends DashboardFragment {
@Override
protected boolean isPageSearchEnabled(Context context) {
return context.getSystemService(UserManager.class).isAdminUser();
return SubscriptionUtil.isSimHardwareVisible(context) &&
context.getSystemService(UserManager.class).isAdminUser();
}
};
}

View File

@@ -206,7 +206,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
@Override
public boolean isAvailable() {
return !Utils.isWifiOnly(mContext) && mUserManager.isAdminUser();
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
!Utils.isWifiOnly(mContext) && mUserManager.isAdminUser();
}
@Override

View File

@@ -190,7 +190,8 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
@Override
public boolean isAvailable() {
return mUserManager.isAdminUser();
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
mUserManager.isAdminUser();
}
@Override

View File

@@ -100,7 +100,8 @@ public class NetworkProviderCallsSmsFragment extends DashboardFragment {
@Override
protected boolean isPageSearchEnabled(Context context) {
return context.getSystemService(UserManager.class).isAdminUser();
return SubscriptionUtil.isSimHardwareVisible(context) &&
context.getSystemService(UserManager.class).isAdminUser();
}
};
}

View File

@@ -342,7 +342,18 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
}
}
/**
* Whether to show any UI which is SIM related.
*/
@VisibleForTesting
boolean showAnySubscriptionInfo(Context context) {
return (context != null) && SubscriptionUtil.isSimHardwareVisible(context);
}
private void addNetworkMobileProviderController() {
if (!showAnySubscriptionInfo(getContext())) {
return;
}
if (mNetworkMobileProviderController == null) {
mNetworkMobileProviderController = new NetworkMobileProviderController(
getContext(), PREF_KEY_PROVIDER_MOBILE_NETWORK);

View File

@@ -86,6 +86,14 @@ public class SubscriptionUtil {
return subscriptions;
}
/**
* Check if SIM hardware is visible to the end user.
*/
public static boolean isSimHardwareVisible(Context context) {
return context.getResources()
.getBoolean(R.bool.config_show_sim_info);
}
@VisibleForTesting
static boolean isInactiveInsertedPSim(UiccSlotInfo slotInfo) {
if (slotInfo == null) {

View File

@@ -120,6 +120,10 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
if (!SubscriptionUtil.isSimHardwareVisible(context)) {
finish();
return Arrays.asList();
}
if (getArguments() == null) {
Intent intent = getIntent();
if (intent != null) {
@@ -398,7 +402,8 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings {
/** suppress full page if user is not admin */
@Override
protected boolean isPageSearchEnabled(Context context) {
return context.getSystemService(UserManager.class).isAdminUser();
return SubscriptionUtil.isSimHardwareVisible(context) &&
context.getSystemService(UserManager.class).isAdminUser();
}
};

View File

@@ -263,6 +263,9 @@ public class MobileNetworkUtils {
* the user has enabled development mode.
*/
public static boolean showEuiccSettings(Context context) {
if (!SubscriptionUtil.isSimHardwareVisible(context)) {
return false;
}
long timeForAccess = SystemClock.elapsedRealtime();
try {
Boolean isShow = ((Future<Boolean>) ThreadUtils.postOnBackgroundThread(() -> {

View File

@@ -28,6 +28,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.SubscriptionUtil;
import java.util.List;
@@ -50,6 +51,10 @@ public class SimLockPreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
if (!SubscriptionUtil.isSimHardwareVisible(mContext)) {
return UNSUPPORTED_ON_DEVICE;
}
final List<SubscriptionInfo> subInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();

View File

@@ -35,6 +35,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import com.android.settings.R;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.network.telephony.SubscriptionActionDialogActivity;
import java.util.List;
@@ -65,6 +66,11 @@ public class SimDialogActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!SubscriptionUtil.isSimHardwareVisible(this)) {
Log.d(TAG, "Not support on device without SIM.");
finish();
return;
}
SimDialogProhibitService.supportDismiss(this);
getWindow().addSystemFlags(

View File

@@ -77,6 +77,10 @@ public class SimSelectNotification extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (!SubscriptionUtil.isSimHardwareVisible(context)) {
Log.w(TAG, "Received unexpected intent with null action.");
return;
}
String action = intent.getAction();
if (action == null) {

View File

@@ -38,6 +38,7 @@ import androidx.core.content.ContextCompat;
import com.android.settings.R;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.network.SubscriptionUtil;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
@@ -48,6 +49,7 @@ import com.google.common.util.concurrent.MoreExecutors;
import java.util.concurrent.Executors;
public class SmartForwardingActivity extends SettingsBaseActivity {
static final String LOG_TAG = SmartForwardingActivity.class.toString();
final ListeningExecutorService service =
MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
@@ -55,6 +57,12 @@ public class SmartForwardingActivity extends SettingsBaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!SubscriptionUtil.isSimHardwareVisible(this)) {
Log.d(LOG_TAG, "Not support on device without SIM.");
finish();
return;
}
final Toolbar toolbar = findViewById(R.id.action_bar);
toolbar.setVisibility(View.VISIBLE);
setActionBar(toolbar);
@@ -166,4 +174,4 @@ public class SmartForwardingActivity extends SettingsBaseActivity {
.create();
mDialog.show();
}
}
}

View File

@@ -102,7 +102,10 @@ public class MainClearTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mMainClear = spy(new MainClear());
mMainClear = spy(new MainClear() {
@Override
boolean showAnySubscriptionInfo(Context context) { return true; }
});
mActivity = Robolectric.setupActivity(FragmentActivity.class);
mShadowActivity = Shadows.shadowOf(mActivity);
UserManager userManager = mActivity.getSystemService(UserManager.class);

View File

@@ -29,6 +29,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.os.UserManager;
import android.telephony.TelephonyManager;
@@ -69,12 +70,18 @@ public class ImeiInfoPreferenceControllerTest {
private PreferenceCategory mCategory;
private Context mContext;
private Resources mResources;
private ImeiInfoPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
mController = spy(new ImeiInfoPreferenceController(mContext, "imei_info"));
mController.setHost(mFragment);

View File

@@ -25,6 +25,7 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.os.UserManager;
import android.content.res.Resources;
import android.telephony.TelephonyManager;
import androidx.fragment.app.Fragment;
@@ -64,12 +65,18 @@ public class SimStatusPreferenceControllerTest {
private PreferenceCategory mCategory;
private Context mContext;
private Resources mResources;
private SimStatusPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
mController = spy(new SimStatusPreferenceController(mContext, mFragment));
doReturn(true).when(mController).isAvailable();

View File

@@ -21,8 +21,10 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.os.UserManager;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import org.junit.Before;
@@ -38,6 +40,8 @@ public class MobileNetworkListFragmentTest {
@Mock
private Context mContext;
@Mock
private Resources mResources;
@Mock
private UserManager mUserManager;
private MobileNetworkListFragment mFragment;
@@ -55,6 +59,9 @@ public class MobileNetworkListFragmentTest {
final BaseSearchIndexProvider provider =
(BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
final Object obj = ReflectionHelpers.callInstanceMethod(provider, "isPageSearchEnabled",
ReflectionHelpers.ClassParameter.from(Context.class, mContext));
final boolean isEnabled = (Boolean) obj;
@@ -69,6 +76,9 @@ public class MobileNetworkListFragmentTest {
final BaseSearchIndexProvider provider =
(BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
final Object obj = ReflectionHelpers.callInstanceMethod(provider, "isPageSearchEnabled",
ReflectionHelpers.ClassParameter.from(Context.class, mContext));
final boolean isEnabled = (Boolean) obj;

View File

@@ -147,7 +147,10 @@ public class NetworkProviderSettingsTest {
@Before
public void setUp() {
mNetworkProviderSettings = spy(new NetworkProviderSettings());
mNetworkProviderSettings = spy(new NetworkProviderSettings() {
@Override
boolean showAnySubscriptionInfo(Context context) { return true; }
});
doReturn(mContext).when(mNetworkProviderSettings).getContext();
doReturn(mPreferenceManager).when(mNetworkProviderSettings).getPreferenceManager();
doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);

View File

@@ -29,6 +29,7 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.app.usage.NetworkStatsManager;
import android.content.Context;
import android.content.res.Resources;
import android.net.NetworkPolicyManager;
import android.os.Bundle;
import android.os.UserManager;
@@ -37,6 +38,7 @@ import android.telephony.TelephonyManager;
import androidx.fragment.app.FragmentActivity;
import com.android.settings.R;
import com.android.settings.datausage.DataUsageSummaryPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
@@ -68,12 +70,18 @@ public class MobileNetworkSettingsTest {
private FragmentActivity mActivity;
private Context mContext;
private Resources mResources;
private MobileNetworkSettings mFragment;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
when(mActivity.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
when(mContext.getSystemService(NetworkStatsManager.class)).thenReturn(mNetworkStatsManager);

View File

@@ -22,9 +22,11 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.os.PersistableBundle;
import android.os.UserManager;
import android.telephony.CarrierConfigManager;
@@ -35,6 +37,7 @@ import android.telephony.TelephonyManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import org.junit.Before;
@@ -66,6 +69,7 @@ public class SimLockPreferenceControllerTest {
private SimLockPreferenceController mController;
private Preference mPreference;
private Context mContext;
private Resources mResources;
@Before
public void setUp() {
@@ -76,15 +80,28 @@ public class SimLockPreferenceControllerTest {
shadowApplication.setSystemService(Context.CARRIER_CONFIG_SERVICE, mCarrierManager);
shadowApplication.setSystemService(Context.USER_SERVICE, mUserManager);
shadowApplication.setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
mContext = RuntimeEnvironment.application;
mContext = spy(RuntimeEnvironment.application);
mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources);
mController = new SimLockPreferenceController(mContext, "key");
mPreference = new Preference(mContext);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
}
@Test
public void isAvailable_notShowSimUi_false() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(false);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
}
@Test
public void isAvailable_notAdmin_false() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
when(mUserManager.isAdminUser()).thenReturn(false);
assertThat(mController.getAvailabilityStatus())
@@ -93,6 +110,7 @@ public class SimLockPreferenceControllerTest {
@Test
public void isAvailable_simIccNotReady_false() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
when(mUserManager.isAdminUser()).thenReturn(true);
assertThat(mController.getAvailabilityStatus())
@@ -124,6 +142,7 @@ public class SimLockPreferenceControllerTest {
@Test
public void displayPreference_simReady_enablePreference() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
mController.displayPreference(mScreen);
assertThat(mPreference.isEnabled()).isFalse();
@@ -140,12 +159,14 @@ public class SimLockPreferenceControllerTest {
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
mController = new SimLockPreferenceController(mContext, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
private void setupMockIcc() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
final List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
SubscriptionInfo info = mock(SubscriptionInfo.class);
subscriptionInfoList.add(info);
@@ -156,6 +177,7 @@ public class SimLockPreferenceControllerTest {
}
private void setupMockSimReady() {
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
final List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
SubscriptionInfo info = mock(SubscriptionInfo.class);
subscriptionInfoList.add(info);

View File

@@ -143,6 +143,7 @@ public class SimSelectNotificationTest {
when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName);
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
when(mResources.getText(R.string.enable_sending_mms_notification_title))
.thenReturn(mFakeNotificationTitle);
when(mResources.getText(R.string.enable_mms_notification_channel_title))

View File

@@ -25,11 +25,14 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import com.android.settings.R;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -58,6 +61,8 @@ public class SubscriptionUtilTest {
private SubscriptionManager mSubMgr;
@Mock
private TelephonyManager mTelMgr;
@Mock
private Resources mResources;
@Before
@@ -443,4 +448,22 @@ public class SubscriptionUtilTest {
public void isInactiveInsertedPSim_nullSubInfo_doesNotCrash() {
assertThat(SubscriptionUtil.isInactiveInsertedPSim(null)).isFalse();
}
@Test
public void isSimHardwareVisible_configAsInvisible_returnFalse() {
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info))
.thenReturn(false);
assertThat(SubscriptionUtil.isSimHardwareVisible(mContext)).isFalse();
}
@Test
public void isSimHardwareVisible_configAsVisible_returnTrue() {
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info))
.thenReturn(true);
assertTrue(SubscriptionUtil.isSimHardwareVisible(mContext));
}
}