diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml index 981afb3b3e6..a4b5faa146f 100644 --- a/res/xml/network_provider_internet.xml +++ b/res/xml/network_provider_internet.xml @@ -42,7 +42,7 @@ settings:keywords="@string/calls_and_sms" settings:useAdminDisabledSummary="true" /> - mSubInfoEntityList; @@ -89,6 +89,7 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController mUserManager = context.getSystemService(UserManager.class); mLifecycleOwner = lifecycleOwner; mMobileNetworkRepository = MobileNetworkRepository.create(context, this); + mIsAirplaneModeOn = mMobileNetworkRepository.isAirplaneModeOn(); if (lifecycle != null) { lifecycle.addObserver(this); } @@ -152,7 +153,6 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController private void initPreference() { refreshSummary(mPreference); mPreference.setOnPreferenceClickListener(null); - mPreference.setOnAddClickListener(null); mPreference.setFragment(null); mPreference.setEnabled(!mIsAirplaneModeOn); } @@ -179,33 +179,7 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController return; } - // We have one or more existing subscriptions, so we want the plus button if eSIM is - // supported. - if (MobileNetworkUtils.showEuiccSettingsDetecting(mContext)) { - mPreference.setAddWidgetEnabled(!mIsAirplaneModeOn); - mPreference.setOnAddClickListener(p -> { - logPreferenceClick(p); - startAddSimFlow(); - }); - } - - if (mSubInfoEntityList.size() == 1) { - mPreference.setOnPreferenceClickListener((Preference pref) -> { - logPreferenceClick(pref); - SubscriptionInfoEntity info = mSubInfoEntityList.get(0); - if (info.isEmbedded || mUiccInfoEntityList.get(0).isActive - || mMobileNetworkInfoEntityList.get(0).showToggleForPhysicalSim) { - MobileNetworkUtils.launchMobileNetworkSettings(mContext, info); - return true; - } - - SubscriptionUtil.startToggleSubscriptionDialogActivity( - mContext, Integer.parseInt(info.subId), true); - return true; - }); - } else { - mPreference.setFragment(MobileNetworkListFragment.class.getCanonicalName()); - } + mPreference.setFragment(MobileNetworkListFragment.class.getCanonicalName()); } @Override @@ -221,8 +195,10 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController @Override public void onAirplaneModeChanged(boolean airplaneModeEnabled) { - mIsAirplaneModeOn = airplaneModeEnabled; - update(); + if (mIsAirplaneModeOn != airplaneModeEnabled) { + mIsAirplaneModeOn = airplaneModeEnabled; + update(); + } } @Override @@ -239,14 +215,19 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController @Override public void onAllUiccInfoChanged(List uiccInfoEntityList) { - mUiccInfoEntityList = uiccInfoEntityList; - update(); + if (DataServiceUtils.shouldUpdateEntityList(mUiccInfoEntityList, uiccInfoEntityList)) { + mUiccInfoEntityList = uiccInfoEntityList; + update(); + } } @Override public void onAllMobileNetworkInfoChanged( List mobileNetworkInfoEntityList) { - mMobileNetworkInfoEntityList = mobileNetworkInfoEntityList; - update(); + if (DataServiceUtils.shouldUpdateEntityList(mMobileNetworkInfoEntityList, + mobileNetworkInfoEntityList)) { + mMobileNetworkInfoEntityList = mobileNetworkInfoEntityList; + update(); + } } }