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
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1ffdba1..8cad8a4 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -130,7 +130,7 @@
android:value="true" />
</activity>
- <activity android:name=".network.telephony.MobileSettingsActivity"
+ <activity android:name=".network.telephony.MobileNetworkActivity"
android:label="@string/network_settings_title"
android:theme="@style/Theme.Settings.Home"
android:launchMode="singleTask">
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 459a269..0478664 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" />
<PreferenceCategory
- android:key="calling"
+ android:key="calling_category"
android:title="@string/call_category">
<PreferenceScreen
diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java
index bf5ca00..3813435 100644
--- a/src/com/android/settings/network/MobileNetworkPreferenceController.java
+++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java
@@ -36,7 +36,7 @@
import com.android.settings.core.FeatureFlags;
import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.network.telephony.MobileSettingsActivity;
+import com.android.settings.network.telephony.MobileNetworkActivity;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.Utils;
@@ -147,7 +147,7 @@
public boolean handlePreferenceTreeClick(Preference preference) {
if (KEY_MOBILE_NETWORK_SETTINGS.equals(preference.getKey())) {
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.MOBILE_NETWORK_V2)) {
- final Intent intent = new Intent(mContext, MobileSettingsActivity.class);
+ final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
mContext.startActivity(intent);
} else {
final Intent intent = new Intent(Intent.ACTION_MAIN);
diff --git a/src/com/android/settings/network/telephony/MobileSettingsActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
similarity index 95%
rename from src/com/android/settings/network/telephony/MobileSettingsActivity.java
rename to src/com/android/settings/network/telephony/MobileNetworkActivity.java
index b2bceb9..9f3dfb2 100644
--- a/src/com/android/settings/network/telephony/MobileSettingsActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -48,7 +48,7 @@
import java.util.List;
import java.util.Objects;
-public class MobileSettingsActivity extends SettingsBaseActivity {
+public class MobileNetworkActivity extends SettingsBaseActivity {
private static final String TAG = "MobileSettingsActivity";
@VisibleForTesting
@@ -79,7 +79,8 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.mobile_settings_container);
+
+ setContentView(R.layout.mobile_network_settings_container);
setActionBar(findViewById(R.id.mobile_action_bar));
mPhoneChangeReceiver = new PhoneChangeReceiver();
mSubscriptionManager = getSystemService(SubscriptionManager.class);
@@ -130,7 +131,7 @@
updateBottomNavigationView();
if (savedInstanceState == null) {
- switchFragment(new MobileNetworkFragment(), getSubscriptionId());
+ switchFragment(new MobileNetworkSettings(), getSubscriptionId());
}
}
@@ -172,7 +173,7 @@
.setIcon(R.drawable.ic_settings_sim);
}
navigation.setOnNavigationItemSelectedListener(item -> {
- switchFragment(new MobileNetworkFragment(), item.getItemId());
+ switchFragment(new MobileNetworkSettings(), item.getItemId());
return true;
});
}
@@ -211,7 +212,7 @@
// 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 e6db51c..ebc38e4 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.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 @@
private UserManager mUserManager;
private String mClickedPrefKey;
- public MobileNetworkFragment() {
+ public MobileNetworkSettings() {
super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
}
@@ -107,6 +107,7 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
+
mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
@@ -162,7 +163,7 @@
@Override
protected int getPreferenceScreenResId() {
- return R.xml.network_setting_fragment;
+ return R.xml.mobile_network_settings;
}
@Override
@@ -209,7 +210,7 @@
final ArrayList<SearchIndexableResource> 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 09bf2d7..48fb710 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
@@ -46,6 +46,9 @@
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 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 d5c704a..6899054 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.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 df5e151..23de056 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.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 ea184fd..68634a8 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.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<SubscriptionInfo> mSubscriptionInfos;
private Fragment mShowFragment;
private Fragment mHideFragment;
@@ -85,19 +85,19 @@
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 @@
mSubscriptionInfos.add(mSubscriptionInfo);
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList();
- mMobileSettingsActivity.updateBottomNavigationView();
+ mMobileNetworkActivity.updateBottomNavigationView();
verify(mBottomNavigationView).setVisibility(View.GONE);
}
@@ -123,16 +123,16 @@
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 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 35297bd..a209b00 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 @@
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 @@
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 @@
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 @@
@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();
+ }
+
}