Snap for 9264471 from af96b1ea7a to tm-qpr2-release
Change-Id: Ieb8d80c1b32a7558b44a81ed57351b4a2202f441
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -190,7 +190,8 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return mUserManager.isAdminUser();
|
||||
return SubscriptionUtil.isSimHardwareVisible(mContext) &&
|
||||
mUserManager.isAdminUser();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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(() -> {
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user