From 2aae67a061b3389349d2243b9b769ee36333e02a Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Mon, 29 Oct 2018 13:46:33 -0700 Subject: [PATCH] Rename a bunch of mobile network files 1. Make them have "MobileNetwork" prefix 2. Also update WifiCallingPreference to remove its category if it is invisible Bug: 114749736 Test: RunSettingsRoboTests Change-Id: I25871d579d6495e902e5583030889942ed2506a8 --- AndroidManifest.xml | 2 +- ... => mobile_network_settings_container.xml} | 0 ...agment.xml => mobile_network_settings.xml} | 2 +- .../MobileNetworkPreferenceController.java | 4 +- ...tivity.java => MobileNetworkActivity.java} | 11 ++--- ...agment.java => MobileNetworkSettings.java} | 9 ++-- .../WifiCallingPreferenceController.java | 10 +++++ .../gsm/AutoSelectPreferenceController.java | 2 +- ...NetworkSelectPagePreferenceController.java | 2 +- ...st.java => MobileNetworkActivityTest.java} | 42 +++++++++---------- .../WifiCallingPreferenceControllerTest.java | 38 +++++++++++++---- 11 files changed, 78 insertions(+), 44 deletions(-) rename res/layout/{mobile_settings_container.xml => mobile_network_settings_container.xml} (100%) rename res/xml/{network_setting_fragment.xml => mobile_network_settings.xml} (99%) rename src/com/android/settings/network/telephony/{MobileSettingsActivity.java => MobileNetworkActivity.java} (95%) rename src/com/android/settings/network/telephony/{MobileNetworkFragment.java => MobileNetworkSettings.java} (97%) rename tests/robotests/src/com/android/settings/network/telephony/{MobileSettingsActivityTest.java => MobileNetworkActivityTest.java} (76%) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1ffdba16ac2..8cad8a4ba6f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -130,7 +130,7 @@ android:value="true" /> - diff --git a/res/layout/mobile_settings_container.xml b/res/layout/mobile_network_settings_container.xml similarity index 100% rename from res/layout/mobile_settings_container.xml rename to res/layout/mobile_network_settings_container.xml diff --git a/res/xml/network_setting_fragment.xml b/res/xml/mobile_network_settings.xml similarity index 99% rename from res/xml/network_setting_fragment.xml rename to res/xml/mobile_network_settings.xml index 459a269ba3f..0478664f0e4 100644 --- a/res/xml/network_setting_fragment.xml +++ b/res/xml/mobile_network_settings.xml @@ -77,7 +77,7 @@ settings:controller="com.android.settings.network.telephony.EuiccPreferenceController" /> { - switchFragment(new MobileNetworkFragment(), item.getItemId()); + switchFragment(new MobileNetworkSettings(), item.getItemId()); return true; }); } @@ -211,7 +212,7 @@ public class MobileSettingsActivity extends SettingsBaseActivity { // When the radio changes (ex: CDMA->GSM), refresh the fragment. // This is very rare to happen. if (mCurSubscriptionId != SUB_ID_NULL) { - switchFragment(new MobileNetworkFragment(), mCurSubscriptionId, + switchFragment(new MobileNetworkSettings(), mCurSubscriptionId, true /* forceUpdate */); } } diff --git a/src/com/android/settings/network/telephony/MobileNetworkFragment.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java similarity index 97% rename from src/com/android/settings/network/telephony/MobileNetworkFragment.java rename to src/com/android/settings/network/telephony/MobileNetworkSettings.java index e6db51cc5a1..ebc38e450cc 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkFragment.java +++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java @@ -49,7 +49,7 @@ import java.util.Arrays; import java.util.List; @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) -public class MobileNetworkFragment extends RestrictedDashboardFragment { +public class MobileNetworkSettings extends RestrictedDashboardFragment { private static final String LOG_TAG = "NetworkSettings"; public static final int REQUEST_CODE_EXIT_ECM = 17; @@ -69,7 +69,7 @@ public class MobileNetworkFragment extends RestrictedDashboardFragment { private UserManager mUserManager; private String mClickedPrefKey; - public MobileNetworkFragment() { + public MobileNetworkSettings() { super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS); } @@ -107,6 +107,7 @@ public class MobileNetworkFragment extends RestrictedDashboardFragment { @Override public void onAttach(Context context) { super.onAttach(context); + mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); @@ -162,7 +163,7 @@ public class MobileNetworkFragment extends RestrictedDashboardFragment { @Override protected int getPreferenceScreenResId() { - return R.xml.network_setting_fragment; + return R.xml.mobile_network_settings; } @Override @@ -209,7 +210,7 @@ public class MobileNetworkFragment extends RestrictedDashboardFragment { final ArrayList result = new ArrayList<>(); final SearchIndexableResource sir = new SearchIndexableResource(context); - sir.xmlResId = R.xml.network_setting_fragment; + sir.xmlResId = R.xml.mobile_network_settings; result.add(sir); return result; } diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java index 09bf2d72ca2..48fb710a4c1 100644 --- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java +++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java @@ -46,6 +46,9 @@ import java.util.List; public class WifiCallingPreferenceController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop { + @VisibleForTesting + static final String KEY_PREFERENCE_CATEGORY = "calling_category"; + private TelephonyManager mTelephonyManager; @VisibleForTesting ImsManager mImsManager; @@ -86,6 +89,13 @@ public class WifiCallingPreferenceController extends BasePreferenceController im public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); + if (!isAvailable()) { + // Set category as invisible + final Preference preferenceCateogry = screen.findPreference(KEY_PREFERENCE_CATEGORY); + if (preferenceCateogry != null) { + preferenceCateogry.setVisible(false); + } + } } @Override diff --git a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java index d5c704ac02e..6899054dc28 100644 --- a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java +++ b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java @@ -31,7 +31,7 @@ import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.TogglePreferenceController; import com.android.settings.network.telephony.MobileNetworkUtils; -import com.android.settings.network.telephony.MobileSettingsActivity; +import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.NetworkSelectSettings; import java.util.ArrayList; diff --git a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java index df5e151c5da..23de056aab6 100644 --- a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java +++ b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java @@ -32,7 +32,7 @@ import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SubSettingLauncher; import com.android.settings.network.telephony.MobileNetworkUtils; -import com.android.settings.network.telephony.MobileSettingsActivity; +import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.NetworkSelectSettings; /** diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileSettingsActivityTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java similarity index 76% rename from tests/robotests/src/com/android/settings/network/telephony/MobileSettingsActivityTest.java rename to tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java index ea184fde789..68634a85eb2 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/MobileSettingsActivityTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java @@ -16,7 +16,7 @@ package com.android.settings.network.telephony; -import static com.android.settings.network.telephony.MobileSettingsActivity.MOBILE_SETTINGS_TAG; +import static com.android.settings.network.telephony.MobileNetworkActivity.MOBILE_SETTINGS_TAG; import static com.google.common.truth.Truth.assertThat; @@ -56,13 +56,13 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -public class MobileSettingsActivityTest { +public class MobileNetworkActivityTest { private static final int CURRENT_SUB_ID = 3; private static final int PREV_SUB_ID = 1; private Context mContext; - private MobileSettingsActivity mMobileSettingsActivity; + private MobileNetworkActivity mMobileNetworkActivity; private List mSubscriptionInfos; private Fragment mShowFragment; private Fragment mHideFragment; @@ -85,19 +85,19 @@ public class MobileSettingsActivityTest { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); - mMobileSettingsActivity = spy(new MobileSettingsActivity()); + mMobileNetworkActivity = spy(new MobileNetworkActivity()); mSubscriptionInfos = new ArrayList<>(); mShowFragment = new Fragment(); mHideFragment = new Fragment(); - mMobileSettingsActivity.mSubscriptionInfos = mSubscriptionInfos; - mMobileSettingsActivity.mSubscriptionManager = mSubscriptionManager; + mMobileNetworkActivity.mSubscriptionInfos = mSubscriptionInfos; + mMobileNetworkActivity.mSubscriptionManager = mSubscriptionManager; when(mSubscriptionInfo.getSubscriptionId()).thenReturn(PREV_SUB_ID); when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(CURRENT_SUB_ID); - doReturn(mSubscriptionManager).when(mMobileSettingsActivity).getSystemService( + doReturn(mSubscriptionManager).when(mMobileNetworkActivity).getSystemService( SubscriptionManager.class); - doReturn(mBottomNavigationView).when(mMobileSettingsActivity).findViewById(R.id.bottom_nav); - doReturn(mFragmentManager).when(mMobileSettingsActivity).getSupportFragmentManager(); + doReturn(mBottomNavigationView).when(mMobileNetworkActivity).findViewById(R.id.bottom_nav); + doReturn(mFragmentManager).when(mMobileNetworkActivity).getSupportFragmentManager(); doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction(); doReturn(mHideFragment).when(mFragmentManager).findFragmentByTag( MOBILE_SETTINGS_TAG + PREV_SUB_ID); @@ -110,7 +110,7 @@ public class MobileSettingsActivityTest { mSubscriptionInfos.add(mSubscriptionInfo); doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(); - mMobileSettingsActivity.updateBottomNavigationView(); + mMobileNetworkActivity.updateBottomNavigationView(); verify(mBottomNavigationView).setVisibility(View.GONE); } @@ -123,16 +123,16 @@ public class MobileSettingsActivityTest { doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(); doReturn(menu).when(mBottomNavigationView).getMenu(); - mMobileSettingsActivity.updateBottomNavigationView(); + mMobileNetworkActivity.updateBottomNavigationView(); assertThat(menu.size()).isEqualTo(2); } @Test public void switchFragment_newFragment_replaceIt() { - mMobileSettingsActivity.mCurSubscriptionId = PREV_SUB_ID; + mMobileNetworkActivity.mCurSubscriptionId = PREV_SUB_ID; - mMobileSettingsActivity.switchFragment(mShowFragment, CURRENT_SUB_ID); + mMobileNetworkActivity.switchFragment(mShowFragment, CURRENT_SUB_ID); verify(mFragmentTransaction).replace(R.id.main_content, mShowFragment, MOBILE_SETTINGS_TAG + CURRENT_SUB_ID); @@ -142,29 +142,29 @@ public class MobileSettingsActivityTest { public void getSubscriptionId_hasIntent_getIdFromIntent() { final Intent intent = new Intent(); intent.putExtra(Settings.EXTRA_SUB_ID, CURRENT_SUB_ID); - doReturn(intent).when(mMobileSettingsActivity).getIntent(); + doReturn(intent).when(mMobileNetworkActivity).getIntent(); doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(CURRENT_SUB_ID); - assertThat(mMobileSettingsActivity.getSubscriptionId()).isEqualTo(CURRENT_SUB_ID); + assertThat(mMobileNetworkActivity.getSubscriptionId()).isEqualTo(CURRENT_SUB_ID); } @Test public void getSubscriptionId_noIntent_firstIdInList() { - doReturn(null).when(mMobileSettingsActivity).getIntent(); + doReturn(null).when(mMobileNetworkActivity).getIntent(); mSubscriptionInfos.add(mSubscriptionInfo); mSubscriptionInfos.add(mSubscriptionInfo2); - assertThat(mMobileSettingsActivity.getSubscriptionId()).isEqualTo(PREV_SUB_ID); + assertThat(mMobileNetworkActivity.getSubscriptionId()).isEqualTo(PREV_SUB_ID); } @Test public void onSaveInstanceState_saveCurrentSubId() { - mMobileSettingsActivity = Robolectric.buildActivity( - MobileSettingsActivity.class).get(); - mMobileSettingsActivity.mCurSubscriptionId = PREV_SUB_ID; + mMobileNetworkActivity = Robolectric.buildActivity( + MobileNetworkActivity.class).get(); + mMobileNetworkActivity.mCurSubscriptionId = PREV_SUB_ID; final Bundle bundle = new Bundle(); - mMobileSettingsActivity.saveInstanceState(bundle); + mMobileNetworkActivity.saveInstanceState(bundle); assertThat(bundle.getInt(Settings.EXTRA_SUB_ID)).isEqualTo( PREV_SUB_ID); diff --git a/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java index 35297bd8d58..a209b00415b 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java @@ -19,14 +19,16 @@ package com.android.settings.network.telephony; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; -import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; import android.content.Context; -import android.telecom.PhoneAccountHandle; +import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceScreen; import com.android.ims.ImsConfig; import com.android.ims.ImsManager; @@ -47,9 +49,12 @@ public class WifiCallingPreferenceControllerTest { private TelephonyManager mTelephonyManager; @Mock private ImsManager mImsManager; + @Mock + private PreferenceScreen mPreferenceScreen; private WifiCallingPreferenceController mController; private Preference mPreference; + private PreferenceCategory mPreferenceCategory; private Context mContext; @Before @@ -57,22 +62,29 @@ public class WifiCallingPreferenceControllerTest { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); - doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE); - doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID); + when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager); + when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager); + when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager); mPreference = new Preference(mContext); mController = new WifiCallingPreferenceController(mContext, "wifi_calling"); mController.init(SUB_ID); mController.mImsManager = mImsManager; mPreference.setKey(mController.getPreferenceKey()); + + mPreferenceCategory = new PreferenceCategory(mContext); + when(mPreferenceScreen.findPreference( + WifiCallingPreferenceController.KEY_PREFERENCE_CATEGORY)).thenReturn( + mPreferenceCategory); + } @Test public void updateState_noSimCallManager_setCorrectSummary() { mController.mSimCallManager = null; - doReturn(true).when(mImsManager).isWfcEnabledByUser(); - doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY).when(mImsManager).getWfcMode( - anyBoolean()); + when(mImsManager.isWfcEnabledByUser()).thenReturn(true); + when(mImsManager.getWfcMode(anyBoolean())).thenReturn( + ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY); mController.updateState(mPreference); @@ -82,11 +94,21 @@ public class WifiCallingPreferenceControllerTest { @Test public void updateState_notCallIdle_disable() { - doReturn(TelephonyManager.CALL_STATE_RINGING).when(mTelephonyManager).getCallState(SUB_ID); + when(mTelephonyManager.getCallState(SUB_ID)).thenReturn( + TelephonyManager.CALL_STATE_RINGING); mController.updateState(mPreference); assertThat(mPreference.isEnabled()).isFalse(); } + @Test + public void displayPreference_notAvailable_setCategoryInvisible() { + mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID); + + mController.displayPreference(mPreferenceScreen); + + assertThat(mPreferenceCategory.isVisible()).isFalse(); + } + }