Use the getBidiFormattedPhoneNumber to replace getFormattedPhoneNumber
Fixes: 123698996 Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.PhoneNumberPreferenceControllerTest Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.simstatus.SimStatusDialogControllerTest Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.network.telephony.RenameMobileNetworkDialogFragmentTest Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage.contextualcards.deviceinfo.DeviceInfoSliceTest Change-Id: I5dfb71ceb87a8f658ef7fbceacf460ef8d35593a
This commit is contained in:
@@ -24,8 +24,6 @@ import android.content.Context;
|
|||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.BidiFormatter;
|
|
||||||
import android.text.TextDirectionHeuristics;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@@ -160,10 +158,10 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
|
CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
|
||||||
final String phoneNumber = DeviceInfoUtils.getFormattedPhoneNumber(mContext,
|
final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
|
||||||
subscriptionInfo);
|
subscriptionInfo);
|
||||||
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
|
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
|
||||||
: BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
|
: phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@@ -26,17 +26,15 @@ import android.os.Bundle;
|
|||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
import android.telephony.SmsCbMessage;
|
|
||||||
import android.telephony.PhoneStateListener;
|
import android.telephony.PhoneStateListener;
|
||||||
import android.telephony.ServiceState;
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.SignalStrength;
|
import android.telephony.SignalStrength;
|
||||||
|
import android.telephony.SmsCbMessage;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
|
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.telephony.euicc.EuiccManager;
|
import android.telephony.euicc.EuiccManager;
|
||||||
import android.text.BidiFormatter;
|
|
||||||
import android.text.TextDirectionHeuristics;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -143,9 +141,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
mSlotIndex = slotId;
|
mSlotIndex = slotId;
|
||||||
mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
|
mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
|
||||||
|
|
||||||
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
||||||
mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
|
mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
|
||||||
mEuiccManager = mContext.getSystemService(EuiccManager.class);
|
mEuiccManager = mContext.getSystemService(EuiccManager.class);
|
||||||
mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
|
mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
|
||||||
|
|
||||||
mRes = mContext.getResources();
|
mRes = mContext.getResources();
|
||||||
@@ -184,9 +182,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
|
|
||||||
mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
|
mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
|
||||||
.listen(mPhoneStateListener,
|
.listen(mPhoneStateListener,
|
||||||
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
|
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
|
||||||
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
|
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
|
||||||
| PhoneStateListener.LISTEN_SERVICE_STATE);
|
| PhoneStateListener.LISTEN_SERVICE_STATE);
|
||||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
|
mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
|
||||||
|
|
||||||
if (mShowLatestAreaInfo) {
|
if (mShowLatestAreaInfo) {
|
||||||
@@ -224,8 +222,8 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
|
|
||||||
private void updatePhoneNumber() {
|
private void updatePhoneNumber() {
|
||||||
// If formattedNumber is null or empty, it'll display as "Unknown".
|
// If formattedNumber is null or empty, it'll display as "Unknown".
|
||||||
mDialog.setText(PHONE_NUMBER_VALUE_ID, BidiFormatter.getInstance().unicodeWrap(
|
mDialog.setText(PHONE_NUMBER_VALUE_ID,
|
||||||
getPhoneNumber(), TextDirectionHeuristics.LTR));
|
DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext, mSubscriptionInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateDataState(int state) {
|
private void updateDataState(int state) {
|
||||||
@@ -407,13 +405,14 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
private void updateImsRegistrationState() {
|
private void updateImsRegistrationState() {
|
||||||
final int subscriptionId = mSubscriptionInfo.getSubscriptionId();
|
final int subscriptionId = mSubscriptionInfo.getSubscriptionId();
|
||||||
final PersistableBundle carrierConfig =
|
final PersistableBundle carrierConfig =
|
||||||
mCarrierConfigManager.getConfigForSubId(subscriptionId);
|
mCarrierConfigManager.getConfigForSubId(subscriptionId);
|
||||||
final boolean showImsRegState = carrierConfig == null ? false :
|
final boolean showImsRegState = carrierConfig == null ? false :
|
||||||
carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL);
|
carrierConfig.getBoolean(
|
||||||
|
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL);
|
||||||
if (showImsRegState) {
|
if (showImsRegState) {
|
||||||
final boolean isImsRegistered = mTelephonyManager.isImsRegistered(subscriptionId);
|
final boolean isImsRegistered = mTelephonyManager.isImsRegistered(subscriptionId);
|
||||||
mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(isImsRegistered ?
|
mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(isImsRegistered ?
|
||||||
R.string.ims_reg_status_registered : R.string.ims_reg_status_not_registered));
|
R.string.ims_reg_status_registered : R.string.ims_reg_status_not_registered));
|
||||||
} else {
|
} else {
|
||||||
mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID);
|
mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID);
|
||||||
mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
|
mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
|
||||||
@@ -461,11 +460,6 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
String getPhoneNumber() {
|
|
||||||
return DeviceInfoUtils.getFormattedPhoneNumber(mContext, mSubscriptionInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
SignalStrength getSignalStrength() {
|
SignalStrength getSignalStrength() {
|
||||||
return mTelephonyManager.getSignalStrength();
|
return mTelephonyManager.getSignalStrength();
|
||||||
|
@@ -23,8 +23,6 @@ import android.content.Intent;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.text.BidiFormatter;
|
|
||||||
import android.text.TextDirectionHeuristics;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -100,10 +98,10 @@ public class DeviceInfoSlice implements CustomSliceable {
|
|||||||
if (subscriptionInfo == null) {
|
if (subscriptionInfo == null) {
|
||||||
return mContext.getString(R.string.device_info_default);
|
return mContext.getString(R.string.device_info_default);
|
||||||
}
|
}
|
||||||
final String phoneNumber = DeviceInfoUtils.getFormattedPhoneNumber(mContext,
|
final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
|
||||||
subscriptionInfo);
|
subscriptionInfo);
|
||||||
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
|
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
|
||||||
: BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
|
: phoneNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
private CharSequence getDeviceModel() {
|
private CharSequence getDeviceModel() {
|
||||||
|
@@ -28,29 +28,26 @@ import android.telephony.ServiceState;
|
|||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.BidiFormatter;
|
|
||||||
import android.text.TextDirectionHeuristics;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
|
||||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
|
||||||
import com.android.settingslib.DeviceInfoUtils;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||||
|
import com.android.settingslib.DeviceInfoUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A dialog allowing the display name of a mobile network subscription to be changed
|
* A dialog allowing the display name of a mobile network subscription to be changed
|
||||||
*/
|
*/
|
||||||
@@ -159,9 +156,7 @@ public class RenameMobileNetworkDialogFragment extends InstrumentedDialogFragmen
|
|||||||
phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
|
phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
final TextView phoneNumber = view.findViewById(R.id.number_value);
|
final TextView phoneNumber = view.findViewById(R.id.number_value);
|
||||||
final String formattedNumber = DeviceInfoUtils.getFormattedPhoneNumber(getContext(), info);
|
phoneNumber.setText(DeviceInfoUtils.getBidiFormattedPhoneNumber(getContext(), info));
|
||||||
phoneNumber.setText(BidiFormatter.getInstance().unicodeWrap(formattedNumber,
|
|
||||||
TextDirectionHeuristics.LTR));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,35 +16,21 @@
|
|||||||
|
|
||||||
package com.android.settings.deviceinfo.simstatus;
|
package com.android.settings.deviceinfo.simstatus;
|
||||||
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.CELL_DATA_NETWORK_TYPE_VALUE_ID;
|
||||||
.CELL_DATA_NETWORK_TYPE_VALUE_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.CELL_VOICE_NETWORK_TYPE_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.CELL_VOICE_NETWORK_TYPE_VALUE_ID;
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.EID_INFO_VALUE_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.EID_INFO_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_LABEL_ID;
|
||||||
.ICCID_INFO_LABEL_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.IMS_REGISTRATION_STATE_LABEL_ID;
|
||||||
.ICCID_INFO_VALUE_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.IMS_REGISTRATION_STATE_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.NETWORK_PROVIDER_VALUE_ID;
|
||||||
.IMS_REGISTRATION_STATE_LABEL_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_LABEL_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_VALUE_ID;
|
||||||
.IMS_REGISTRATION_STATE_VALUE_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.PHONE_NUMBER_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ROAMING_INFO_VALUE_ID;
|
||||||
.NETWORK_PROVIDER_VALUE_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SERVICE_STATE_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_LABEL_ID;
|
||||||
.OPERATOR_INFO_LABEL_ID;
|
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_VALUE_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.OPERATOR_INFO_VALUE_ID;
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.PHONE_NUMBER_VALUE_ID;
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.ROAMING_INFO_VALUE_ID;
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.SERVICE_STATE_VALUE_ID;
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.SIGNAL_STRENGTH_LABEL_ID;
|
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
|
|
||||||
.SIGNAL_STRENGTH_VALUE_ID;
|
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
@@ -70,8 +56,11 @@ import android.telephony.euicc.EuiccManager;
|
|||||||
import androidx.lifecycle.LifecycleOwner;
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowDeviceInfoUtils;
|
||||||
|
import com.android.settingslib.DeviceInfoUtils;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -80,10 +69,12 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.Shadows;
|
import org.robolectric.Shadows;
|
||||||
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadows.ShadowPackageManager;
|
import org.robolectric.shadows.ShadowPackageManager;
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
@Config(shadows = {ShadowDeviceInfoUtils.class})
|
||||||
public class SimStatusDialogControllerTest {
|
public class SimStatusDialogControllerTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
@@ -120,11 +111,11 @@ public class SimStatusDialogControllerTest {
|
|||||||
mLifecycleOwner = () -> mLifecycle;
|
mLifecycleOwner = () -> mLifecycle;
|
||||||
mLifecycle = new Lifecycle(mLifecycleOwner);
|
mLifecycle = new Lifecycle(mLifecycleOwner);
|
||||||
mController = spy(new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */));
|
mController = spy(new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */));
|
||||||
|
ShadowDeviceInfoUtils.setPhoneNumber("");
|
||||||
doReturn(mServiceState).when(mController).getCurrentServiceState();
|
doReturn(mServiceState).when(mController).getCurrentServiceState();
|
||||||
doReturn(0).when(mSignalStrength).getDbm();
|
doReturn(0).when(mSignalStrength).getDbm();
|
||||||
doReturn(0).when(mSignalStrength).getAsuLevel();
|
doReturn(0).when(mSignalStrength).getAsuLevel();
|
||||||
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
|
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
|
||||||
doReturn("").when(mController).getPhoneNumber();
|
|
||||||
doReturn(mSignalStrength).when(mController).getSignalStrength();
|
doReturn(mSignalStrength).when(mController).getSignalStrength();
|
||||||
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
|
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
|
||||||
|
|
||||||
@@ -141,12 +132,17 @@ public class SimStatusDialogControllerTest {
|
|||||||
.thenReturn(true);
|
.thenReturn(true);
|
||||||
|
|
||||||
final ShadowPackageManager shadowPackageManager =
|
final ShadowPackageManager shadowPackageManager =
|
||||||
Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager());
|
Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager());
|
||||||
final PackageInfo sysUIPackageInfo = new PackageInfo();
|
final PackageInfo sysUIPackageInfo = new PackageInfo();
|
||||||
sysUIPackageInfo.packageName = "com.android.systemui";
|
sysUIPackageInfo.packageName = "com.android.systemui";
|
||||||
shadowPackageManager.addPackage(sysUIPackageInfo);
|
shadowPackageManager.addPackage(sysUIPackageInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
ShadowDeviceInfoUtils.reset();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
|
public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
|
||||||
final CharSequence carrierName = "foobar";
|
final CharSequence carrierName = "foobar";
|
||||||
@@ -159,8 +155,10 @@ public class SimStatusDialogControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void initialize_updatePhoneNumberWith1111111111_shouldUpdatePhoneNumber() {
|
public void initialize_updatePhoneNumberWith1111111111_shouldUpdatePhoneNumber() {
|
||||||
final String phoneNumber = "1111111111";
|
ShadowDeviceInfoUtils.setPhoneNumber("1111111111");
|
||||||
doReturn(phoneNumber).when(mController).getPhoneNumber();
|
|
||||||
|
final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
|
||||||
|
mSubscriptionInfo);
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
@@ -239,7 +237,7 @@ public class SimStatusDialogControllerTest {
|
|||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
final String signalStrengthString =
|
final String signalStrengthString =
|
||||||
mContext.getString(R.string.sim_signal_strength, signalDbm, signalAsu);
|
mContext.getString(R.string.sim_signal_strength, signalDbm, signalAsu);
|
||||||
verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
|
verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,7 +319,7 @@ public class SimStatusDialogControllerTest {
|
|||||||
public void initialize_doNotShowSignalStrength_shouldRemoveSignalStrengthSetting() {
|
public void initialize_doNotShowSignalStrength_shouldRemoveSignalStrengthSetting() {
|
||||||
when(mPersistableBundle.getBoolean(
|
when(mPersistableBundle.getBoolean(
|
||||||
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL))
|
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL))
|
||||||
.thenReturn(false);
|
.thenReturn(false);
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
@@ -377,31 +375,31 @@ public class SimStatusDialogControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() {
|
public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() {
|
||||||
when(mPersistableBundle.getBoolean(
|
when(mPersistableBundle.getBoolean(
|
||||||
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
|
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
|
||||||
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true);
|
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true);
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
|
verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
|
||||||
mContext.getString(R.string.ims_reg_status_registered));
|
mContext.getString(R.string.ims_reg_status_registered));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void initialize_imsNotRegistered_shouldSetImsRegistrationStateSummaryToNotRegisterd() {
|
public void initialize_imsNotRegistered_shouldSetImsRegistrationStateSummaryToNotRegisterd() {
|
||||||
when(mPersistableBundle.getBoolean(
|
when(mPersistableBundle.getBoolean(
|
||||||
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
|
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
|
||||||
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false);
|
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false);
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
|
verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
|
||||||
mContext.getString(R.string.ims_reg_status_not_registered));
|
mContext.getString(R.string.ims_reg_status_not_registered));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void initialize_showImsRegistration_shouldNotRemoveImsRegistrationStateSetting() {
|
public void initialize_showImsRegistration_shouldNotRemoveImsRegistrationStateSetting() {
|
||||||
when(mPersistableBundle.getBoolean(
|
when(mPersistableBundle.getBoolean(
|
||||||
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
|
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
@@ -411,7 +409,7 @@ public class SimStatusDialogControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void initialize_doNotShowImsRegistration_shouldRemoveImsRegistrationStateSetting() {
|
public void initialize_doNotShowImsRegistration_shouldRemoveImsRegistrationStateSetting() {
|
||||||
when(mPersistableBundle.getBoolean(
|
when(mPersistableBundle.getBoolean(
|
||||||
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(false);
|
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(false);
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
|
@@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.android.settings.testutils.shadow;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.telephony.SubscriptionInfo;
|
||||||
|
|
||||||
|
import org.robolectric.annotation.Implementation;
|
||||||
|
import org.robolectric.annotation.Implements;
|
||||||
|
import org.robolectric.annotation.Resetter;
|
||||||
|
|
||||||
|
@Implements(com.android.settingslib.DeviceInfoUtils.class)
|
||||||
|
public class ShadowDeviceInfoUtils {
|
||||||
|
private static String sPhoneNumber;
|
||||||
|
|
||||||
|
@Resetter
|
||||||
|
public static void reset() {
|
||||||
|
sPhoneNumber = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Implementation
|
||||||
|
public static String getBidiFormattedPhoneNumber(Context context,
|
||||||
|
SubscriptionInfo subscriptionInfo) {
|
||||||
|
return sPhoneNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setPhoneNumber(String phoneNumber) {
|
||||||
|
sPhoneNumber = phoneNumber;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user