Use new TelephonyManager API to get CdmaEriInformation
Bug: 147839123
Test: Basic telephony testing
atest frameworks/base/packages/SystemUI/tests
Change-Id: I6a3f5772acaa2c777eb2d35588f99d12254c6649
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index cca100f..a76d41c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -27,6 +27,7 @@
import android.os.Message;
import android.provider.Settings.Global;
import android.telephony.Annotation;
+import android.telephony.CdmaEriInformation;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthCdma;
import android.telephony.NetworkRegistrationInfo;
@@ -41,7 +42,6 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.cdma.EriInfo;
import com.android.settingslib.Utils;
import com.android.settingslib.graph.SignalDrawable;
import com.android.settingslib.net.SignalStrengthUtil;
@@ -415,10 +415,10 @@
return false;
}
if (isCdma() && mServiceState != null) {
- final int iconMode = mServiceState.getCdmaEriIconMode();
- return mServiceState.getCdmaEriIconIndex() != EriInfo.ROAMING_INDICATOR_OFF
- && (iconMode == EriInfo.ROAMING_ICON_MODE_NORMAL
- || iconMode == EriInfo.ROAMING_ICON_MODE_FLASH);
+ final int iconMode = mPhone.getCdmaEriInformation().getEriIconMode();
+ return mPhone.getCdmaEriInformation().getEriIconIndex() != CdmaEriInformation.ERI_OFF
+ && (iconMode == CdmaEriInformation.ERI_ICON_MODE_NORMAL
+ || iconMode == CdmaEriInformation.ERI_ICON_MODE_FLASH);
} else {
return mServiceState != null && mServiceState.getRoaming();
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
index 13f3a5f..cc3c3cc 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
@@ -42,6 +42,7 @@
import android.os.Handler;
import android.provider.Settings;
import android.provider.Settings.Global;
+import android.telephony.CdmaEriInformation;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -111,6 +112,8 @@
private NetworkCapabilities mNetCapabilities;
private ConnectivityManager.NetworkCallback mNetworkCallback;
+ private CdmaEriInformation mEriInformation;
+
@Rule
public TestWatcher failWatcher = new TestWatcher() {
@Override
@@ -155,6 +158,10 @@
mSignalStrength = mock(SignalStrength.class);
mServiceState = mock(ServiceState.class);
+ mEriInformation = new CdmaEriInformation(CdmaEriInformation.ERI_OFF,
+ CdmaEriInformation.ERI_ICON_MODE_NORMAL);
+ when(mMockTm.getCdmaEriInformation()).thenReturn(mEriInformation);
+
mConfig = new Config();
mConfig.hspaDataDistinguishable = true;
mCallbackHandler = mock(CallbackHandler.class);
@@ -305,11 +312,9 @@
}
public void setCdmaRoaming(boolean isRoaming) {
- when(mServiceState.getCdmaEriIconIndex()).thenReturn(isRoaming ?
- EriInfo.ROAMING_INDICATOR_ON : EriInfo.ROAMING_INDICATOR_OFF);
- when(mServiceState.getCdmaEriIconMode()).thenReturn(isRoaming ?
- EriInfo.ROAMING_ICON_MODE_NORMAL : -1);
- updateServiceState();
+ mEriInformation.setEriIconIndex(isRoaming ?
+ CdmaEriInformation.ERI_ON : CdmaEriInformation.ERI_OFF);
+ when(mMockTm.getCdmaEriInformation()).thenReturn(mEriInformation);
}
public void setVoiceRegState(int voiceRegState) {