[Settings][Back port] configuration for hidding SIM provider UI

Hide SIM provider UI based on configuraion.

Bug: 240515161
Test: test cases and local testing
Merged-In: I1cb83787dc1ac1d61bb6bed6aa9c5e7a3ad6e69b
Change-Id: Ie618485ba5c5fd0223f5c8ba279b3ed418c67e11
This commit is contained in:
Bonian Chen
2022-10-24 01:54:36 +00:00
parent 24dd061bba
commit 95dc65667e
7 changed files with 25 additions and 4 deletions

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);