Hide number label if info is opportunistic
Fixes: 125855323
Test: RunSettingsRoboTests
Change-Id: I6f77d65691319097c9bf56232710ba12fa7360f3
diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
index 7a131d7..f7e7de5 100644
--- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
@@ -109,7 +109,7 @@
@VisibleForTesting
protected void populateView(View view) {
- mNameView = (EditText) view.findViewById(R.id.edittext);
+ mNameView = view.findViewById(R.id.edittext);
final SubscriptionInfo info = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
if (info == null) {
Log.w(TAG, "got null SubscriptionInfo for mSubId:" + mSubId);
@@ -125,6 +125,9 @@
final ServiceState serviceState = mTelephonyManager.getServiceStateForSubscriber(mSubId);
operatorName.setText(serviceState.getOperatorAlphaLong());
+ final TextView phoneTitle = view.findViewById(R.id.number_label);
+ phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
+
final TextView phoneNumber = view.findViewById(R.id.number_value);
final String formattedNumber = DeviceInfoUtils.getFormattedPhoneNumber(getContext(), info);
phoneNumber.setText(BidiFormatter.getInstance().unicodeWrap(formattedNumber,
diff --git a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
index 70816ea..5b008be 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
@@ -34,9 +34,15 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.view.LayoutInflater;
+import android.view.View;
import android.widget.Button;
import android.widget.EditText;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import org.junit.Before;
@@ -49,9 +55,6 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentActivity;
-
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowAlertDialogCompat.class)
public class RenameMobileNetworkDialogFragmentTest {
@@ -123,6 +126,20 @@
assertThat(captor.getValue()).isEqualTo("test2");
}
+ @Test
+ public void populateView_infoIsOpportunistic_hideNumberLabel() {
+ final View view = LayoutInflater.from(mActivity).inflate(
+ R.layout.dialog_mobile_network_rename, null);
+ when(mSubscriptionMgr.getActiveSubscriptionInfo(mSubscriptionId)).thenReturn(
+ mSubscriptionInfo);
+ when(mSubscriptionInfo.isOpportunistic()).thenReturn(true);
+
+ startDialog();
+ mFragment.populateView(view);
+
+ assertThat(view.findViewById(R.id.number_label).getVisibility()).isEqualTo(View.GONE);
+ }
+
/** Helper method to start the dialog */
private AlertDialog startDialog() {
mFragment.show(mActivity.getSupportFragmentManager(), null);