Merge "Move override logic from SysUI to Telephony"
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 f6e1681..cebcf76 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -15,24 +15,18 @@
*/
package com.android.systemui.statusbar.policy;
-import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
-import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
-
import android.content.Context;
import android.content.Intent;
import android.database.ContentObserver;
import android.net.NetworkCapabilities;
import android.os.Handler;
import android.os.Looper;
-import android.os.Message;
import android.provider.Settings.Global;
-import android.telephony.AccessNetworkConstants;
import android.telephony.Annotation;
import android.telephony.CdmaEriInformation;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthCdma;
-import android.telephony.DataSpecificRegistrationInfo;
-import android.telephony.NetworkRegistrationInfo;
+import android.telephony.DisplayInfo;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
@@ -60,16 +54,10 @@
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.Executor;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
public class MobileSignalController extends SignalController<
MobileSignalController.MobileState, MobileSignalController.MobileIconGroup> {
-
- // The message to display Nr5G icon gracfully by CarrierConfig timeout
- private static final int MSG_DISPLAY_GRACE = 1;
-
private final TelephonyManager mPhone;
private final SubscriptionDefaults mDefaults;
private final String mNetworkNameDefault;
@@ -86,19 +74,15 @@
// Since some pieces of the phone state are interdependent we store it locally,
// this could potentially become part of MobileState for simplification/complication
// of code.
- private int mDataNetType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
- private boolean mCA = false;
- private boolean mCAPlus = false;
private int mDataState = TelephonyManager.DATA_DISCONNECTED;
+ private DisplayInfo mDisplayInfo = new DisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
private ServiceState mServiceState;
private SignalStrength mSignalStrength;
private MobileIconGroup mDefaultIcons;
private Config mConfig;
- private final Handler mDisplayGraceHandler;
@VisibleForTesting
boolean mInflateSignalStrengths = false;
- @VisibleForTesting
- boolean mIsShowingIconGracefully = false;
// TODO: Reduce number of vars passed in, if we have the NetworkController, probably don't
// need listener lists anymore.
@@ -136,16 +120,6 @@
updateTelephony();
}
};
-
- mDisplayGraceHandler = new Handler(receiverLooper) {
- @Override
- public void handleMessage(Message msg) {
- if (msg.what == MSG_DISPLAY_GRACE) {
- mIsShowingIconGracefully = false;
- updateTelephony();
- }
- }
- };
}
public void setConfiguration(Config config) {
@@ -190,7 +164,8 @@
| PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
| PhoneStateListener.LISTEN_DATA_ACTIVITY
| PhoneStateListener.LISTEN_CARRIER_NETWORK_CHANGE
- | PhoneStateListener.LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE);
+ | PhoneStateListener.LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE
+ | PhoneStateListener.LISTEN_DISPLAY_INFO_CHANGED);
mContext.getContentResolver().registerContentObserver(Global.getUriFor(Global.MOBILE_DATA),
true, mObserver);
mContext.getContentResolver().registerContentObserver(Global.getUriFor(
@@ -268,52 +243,60 @@
mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_LTE),
TelephonyIcons.FOUR_G);
if (mConfig.hideLtePlus) {
- mNetworkToIconLookup.put(toIconKeyCA(TelephonyManager.NETWORK_TYPE_LTE),
- TelephonyIcons.FOUR_G);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), TelephonyIcons.FOUR_G);
} else {
- mNetworkToIconLookup.put(toIconKeyCA(TelephonyManager.NETWORK_TYPE_LTE),
- TelephonyIcons.FOUR_G_PLUS);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), TelephonyIcons.FOUR_G_PLUS);
}
} else {
mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_LTE),
TelephonyIcons.LTE);
if (mConfig.hideLtePlus) {
- mNetworkToIconLookup.put(toIconKeyCA(TelephonyManager.NETWORK_TYPE_LTE),
- TelephonyIcons.LTE);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), TelephonyIcons.LTE);
} else {
- mNetworkToIconLookup.put(toIconKeyCA(TelephonyManager.NETWORK_TYPE_LTE),
- TelephonyIcons.LTE_PLUS);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), TelephonyIcons.LTE_PLUS);
}
}
- mNetworkToIconLookup.put(toIconKeyCAPlus(TelephonyManager.NETWORK_TYPE_LTE),
- TelephonyIcons.LTE_CA_5G_E);
mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_IWLAN),
TelephonyIcons.WFC);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO), TelephonyIcons.LTE_CA_5G_E);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA), TelephonyIcons.NR_5G);
+ mNetworkToIconLookup.put(toDisplayIconKey(
+ DisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE), TelephonyIcons.NR_5G_PLUS);
}
private String getIconKey() {
- if (mCA) {
- return toIconKeyCA(mDataNetType);
- } else if (mCAPlus) {
- return toIconKeyCAPlus(mDataNetType);
+ if (mDisplayInfo.getOverrideNetworkType() == DisplayInfo.OVERRIDE_NETWORK_TYPE_NONE) {
+ return toIconKey(mDisplayInfo.getNetworkType());
} else {
- return toIconKey(mDataNetType);
+ return toDisplayIconKey(mDisplayInfo.getOverrideNetworkType());
}
}
- // Some specific carriers have 5GE network which is special CA network.
- private String toIconKeyCAPlus(@Annotation.NetworkType int networkType) {
- return toIconKeyCA(networkType) + "_Plus";
- }
-
- private String toIconKeyCA(@Annotation.NetworkType int networkType) {
- return toIconKey(networkType) + "_CA";
- }
-
private String toIconKey(@Annotation.NetworkType int networkType) {
return Integer.toString(networkType);
}
+ private String toDisplayIconKey(@Annotation.OverrideNetworkType int displayNetworkType) {
+ switch (displayNetworkType) {
+ case DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA:
+ return toIconKey(TelephonyManager.NETWORK_TYPE_LTE) + "_CA";
+ case DisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO:
+ return toIconKey(TelephonyManager.NETWORK_TYPE_LTE) + "_CA_Plus";
+ case DisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA:
+ return "5G";
+ case DisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE:
+ return "5G_Plus";
+ default:
+ return "unsupported";
+ }
+ }
+
private void updateInflateSignalStrength() {
mInflateSignalStrengths = SignalStrengthUtil.shouldInflateSignalStrength(mContext,
mSubscriptionInfo.getSubscriptionId());
@@ -465,26 +448,6 @@
}
}
- private boolean isCarrierSpecificDataIcon() {
- if (mConfig.patternOfCarrierSpecificDataIcon == null
- || mConfig.patternOfCarrierSpecificDataIcon.length() == 0) {
- return false;
- }
-
- Pattern stringPattern = Pattern.compile(mConfig.patternOfCarrierSpecificDataIcon);
- String[] operatorNames = new String[]{mServiceState.getOperatorAlphaLongRaw(),
- mServiceState.getOperatorAlphaShortRaw()};
- for (String opName : operatorNames) {
- if (!TextUtils.isEmpty(opName)) {
- Matcher matcher = stringPattern.matcher(opName);
- if (matcher.find()) {
- return true;
- }
- }
- }
- return false;
- }
-
/**
* Updates the network's name based on incoming spn and plmn.
*/
@@ -538,18 +501,18 @@
}
/**
- * Updates the current state based on mServiceState, mSignalStrength, mDataNetType,
- * mDataState, and mSimState. It should be called any time one of these is updated.
+ * Updates the current state based on mServiceState, mSignalStrength, mDataState,
+ * mDisplayInfo, and mSimState. It should be called any time one of these is updated.
* This will call listeners if necessary.
*/
private final void updateTelephony() {
if (DEBUG) {
Log.d(mTag, "updateTelephonySignalStrength: hasService=" +
- Utils.isInService(mServiceState) + " ss=" + mSignalStrength);
+ Utils.isInService(mServiceState) + " ss=" + mSignalStrength
+ + " displayInfo=" + mDisplayInfo);
}
checkDefaultData();
- mCurrentState.connected = Utils.isInService(mServiceState)
- && mSignalStrength != null;
+ mCurrentState.connected = Utils.isInService(mServiceState) && mSignalStrength != null;
if (mCurrentState.connected) {
if (!mSignalStrength.isGsm() && mConfig.alwaysShowCdmaRssi) {
mCurrentState.level = getCdmaLevel();
@@ -558,17 +521,8 @@
}
}
- // When the device is camped on a 5G Non-Standalone network, the data network type is still
- // LTE. In this case, we first check which 5G icon should be shown.
- MobileIconGroup nr5GIconGroup = getNr5GIconGroup();
- if (mConfig.nrIconDisplayGracePeriodMs > 0) {
- nr5GIconGroup = adjustNr5GIconGroupByDisplayGraceTime(nr5GIconGroup);
- }
-
String iconKey = getIconKey();
- if (nr5GIconGroup != null) {
- mCurrentState.iconGroup = nr5GIconGroup;
- } else if (mNetworkToIconLookup.get(iconKey) != null) {
+ if (mNetworkToIconLookup.get(iconKey) != null) {
mCurrentState.iconGroup = mNetworkToIconLookup.get(iconKey);
} else {
mCurrentState.iconGroup = mDefaultIcons;
@@ -580,8 +534,7 @@
if (isCarrierNetworkChangeActive()) {
mCurrentState.iconGroup = TelephonyIcons.CARRIER_NETWORK_CHANGE;
} else if (isDataDisabled() && !mConfig.alwaysShowDataRatIcon) {
- if (mSubscriptionInfo.getSubscriptionId()
- != mDefaults.getDefaultDataSubId()) {
+ if (mSubscriptionInfo.getSubscriptionId() != mDefaults.getDefaultDataSubId()) {
mCurrentState.iconGroup = TelephonyIcons.NOT_DEFAULT_DATA;
} else {
mCurrentState.iconGroup = TelephonyIcons.DATA_DISABLED;
@@ -623,91 +576,6 @@
notifyListenersIfNecessary();
}
- private int getNrState(ServiceState serviceState) {
- NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
- NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
- if (nri != null) {
- return nri.getNrState();
- }
- return NetworkRegistrationInfo.NR_STATE_NONE;
- }
-
- private MobileIconGroup getNr5GIconGroup() {
- if (mServiceState == null) return null;
-
- int nrState = getNrState(mServiceState);
- if (nrState == NetworkRegistrationInfo.NR_STATE_CONNECTED) {
- // Check if the NR 5G is using millimeter wave and the icon is config.
- if (mServiceState.getNrFrequencyRange() == ServiceState.FREQUENCY_RANGE_MMWAVE) {
- if (mConfig.nr5GIconMap.containsKey(Config.NR_CONNECTED_MMWAVE)) {
- return mConfig.nr5GIconMap.get(Config.NR_CONNECTED_MMWAVE);
- }
- }
-
- // If NR 5G is not using millimeter wave or there is no icon for millimeter wave, we
- // check the normal 5G icon.
- if (mConfig.nr5GIconMap.containsKey(Config.NR_CONNECTED)) {
- return mConfig.nr5GIconMap.get(Config.NR_CONNECTED);
- }
- } else if (nrState == NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED) {
- if (mCurrentState.activityDormant) {
- if (mConfig.nr5GIconMap.containsKey(Config.NR_NOT_RESTRICTED_RRC_IDLE)) {
- return mConfig.nr5GIconMap.get(Config.NR_NOT_RESTRICTED_RRC_IDLE);
- }
- } else {
- if (mConfig.nr5GIconMap.containsKey(Config.NR_NOT_RESTRICTED_RRC_CON)) {
- return mConfig.nr5GIconMap.get(Config.NR_NOT_RESTRICTED_RRC_CON);
- }
- }
- } else if (nrState == NetworkRegistrationInfo.NR_STATE_RESTRICTED) {
- if (mConfig.nr5GIconMap.containsKey(Config.NR_RESTRICTED)) {
- return mConfig.nr5GIconMap.get(Config.NR_RESTRICTED);
- }
- }
-
- return null;
- }
-
- /**
- * The function to adjust MobileIconGroup depend on CarrierConfig's time
- * nextIconGroup == null imply next state could be 2G/3G/4G/4G+
- * nextIconGroup != null imply next state will be 5G/5G+
- * Flag : mIsShowingIconGracefully
- * ---------------------------------------------------------------------------------
- * | Last state | Current state | Flag | Action |
- * ---------------------------------------------------------------------------------
- * | 5G/5G+ | 2G/3G/4G/4G+ | true | return previous IconGroup |
- * | 5G/5G+ | 5G/5G+ | true | Bypass |
- * | 2G/3G/4G/4G+ | 5G/5G+ | true | Bypass |
- * | 2G/3G/4G/4G+ | 2G/3G/4G/4G+ | true | Bypass |
- * | SS.connected | SS.disconnect | T|F | Reset timer |
- * |NETWORK_TYPE_LTE|!NETWORK_TYPE_LTE| T|F | Reset timer |
- * | 5G/5G+ | 2G/3G/4G/4G+ | false| Bypass |
- * | 5G/5G+ | 5G/5G+ | false| Bypass |
- * | 2G/3G/4G/4G+ | 5G/5G+ | false| SendMessageDelay(time), flag->true |
- * | 2G/3G/4G/4G+ | 2G/3G/4G/4G+ | false| Bypass |
- * ---------------------------------------------------------------------------------
- */
- private MobileIconGroup adjustNr5GIconGroupByDisplayGraceTime(
- MobileIconGroup candidateIconGroup) {
- if (mIsShowingIconGracefully && candidateIconGroup == null) {
- candidateIconGroup = (MobileIconGroup) mCurrentState.iconGroup;
- } else if (!mIsShowingIconGracefully && candidateIconGroup != null
- && mLastState.iconGroup != candidateIconGroup) {
- mDisplayGraceHandler.sendMessageDelayed(
- mDisplayGraceHandler.obtainMessage(MSG_DISPLAY_GRACE),
- mConfig.nrIconDisplayGracePeriodMs);
- mIsShowingIconGracefully = true;
- } else if (!mCurrentState.connected || mDataState == TelephonyManager.DATA_DISCONNECTED
- || candidateIconGroup == null) {
- mDisplayGraceHandler.removeMessages(MSG_DISPLAY_GRACE);
- mIsShowingIconGracefully = false;
- candidateIconGroup = null;
- }
-
- return candidateIconGroup;
- }
-
boolean isDataDisabled() {
return !mPhone.isDataConnectionEnabled();
}
@@ -718,8 +586,6 @@
|| activity == TelephonyManager.DATA_ACTIVITY_IN;
mCurrentState.activityOut = activity == TelephonyManager.DATA_ACTIVITY_INOUT
|| activity == TelephonyManager.DATA_ACTIVITY_OUT;
- mCurrentState.activityDormant = activity == TelephonyManager.DATA_ACTIVITY_DORMANT;
-
notifyListenersIfNecessary();
}
@@ -729,13 +595,10 @@
pw.println(" mSubscription=" + mSubscriptionInfo + ",");
pw.println(" mServiceState=" + mServiceState + ",");
pw.println(" mSignalStrength=" + mSignalStrength + ",");
+ pw.println(" mDisplayInfo=" + mDisplayInfo + ",");
pw.println(" mDataState=" + mDataState + ",");
- pw.println(" mDataNetType=" + mDataNetType + ",");
- pw.println(" mCA=" + mCA + ",");
- pw.println(" mCAPlus=" + mCAPlus + ",");
pw.println(" mInflateSignalStrengths=" + mInflateSignalStrengths + ",");
pw.println(" isDataDisabled=" + isDataDisabled() + ",");
- pw.println(" mIsShowingIconGracefully=" + mIsShowingIconGracefully + ",");
}
class MobilePhoneStateListener extends PhoneStateListener {
@@ -760,14 +623,8 @@
+ " dataState=" + state.getDataRegistrationState());
}
mServiceState = state;
- if (mServiceState != null) {
- NetworkRegistrationInfo regInfo = mServiceState.getNetworkRegistrationInfo(
- DOMAIN_PS, TRANSPORT_TYPE_WWAN);
- if (regInfo != null) {
- updateDataNetType(regInfo.getAccessNetworkTechnology());
- }
- }
- updateTelephony();
+ // onDisplayInfoChanged is invoked directly after onServiceStateChanged, so not calling
+ // updateTelephony() to prevent icon flickering in case of overrides.
}
@Override
@@ -777,35 +634,12 @@
+ " type=" + networkType);
}
mDataState = state;
- updateDataNetType(networkType);
+ if (networkType != mDisplayInfo.getNetworkType()) {
+ mDisplayInfo = new DisplayInfo(networkType, DisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
+ }
updateTelephony();
}
- private void updateDataNetType(int networkType) {
- mDataNetType = networkType;
- mCA = false;
- mCAPlus = false;
- if (mDataNetType == TelephonyManager.NETWORK_TYPE_LTE) {
- if (isCarrierSpecificDataIcon()) {
- mCAPlus = true;
- } else if (mServiceState != null && isUsingCarrierAggregation(mServiceState)) {
- mCA = true;
- }
- }
- }
-
- private boolean isUsingCarrierAggregation(ServiceState serviceState) {
- NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
- NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
- if (nri != null) {
- DataSpecificRegistrationInfo dsri = nri.getDataSpecificInfo();
- if (dsri != null) {
- return dsri.isUsingCarrierAggregation();
- }
- }
- return false;
- }
-
@Override
public void onDataActivity(int direction) {
if (DEBUG) {
@@ -820,7 +654,6 @@
Log.d(mTag, "onCarrierNetworkChange: active=" + active);
}
mCurrentState.carrierNetworkChangeMode = active;
-
updateTelephony();
}
@@ -830,7 +663,16 @@
updateDataSim();
updateTelephony();
}
- };
+
+ @Override
+ public void onDisplayInfoChanged(DisplayInfo displayInfo) {
+ if (DEBUG) {
+ Log.d(mTag, "onDisplayInfoChanged: displayInfo=" + displayInfo);
+ }
+ mDisplayInfo = displayInfo;
+ updateTelephony();
+ }
+ }
static class MobileIconGroup extends SignalController.IconGroup {
final int mDataContentDescription; // mContentDescriptionDataType
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 4f382e7..9003de1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -49,7 +49,6 @@
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
-import android.text.format.DateUtils;
import android.util.Log;
import android.util.MathUtils;
import android.util.SparseArray;
@@ -64,7 +63,6 @@
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.settings.CurrentUserTracker;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
-import com.android.systemui.statusbar.policy.MobileSignalController.MobileIconGroup;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -72,10 +70,8 @@
import java.util.BitSet;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashMap;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -846,12 +842,6 @@
pw.println(emergencyToString(mEmergencySource));
pw.println(" - config ------");
- pw.print(" patternOfCarrierSpecificDataIcon=");
- pw.println(mConfig.patternOfCarrierSpecificDataIcon);
- pw.print(" nr5GIconMap=");
- pw.println(mConfig.nr5GIconMap.toString());
- pw.print(" nrIconDisplayGracePeriodMs=");
- pw.println(mConfig.nrIconDisplayGracePeriodMs);
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
mobileSignalController.dump(pw);
@@ -1132,14 +1122,6 @@
@VisibleForTesting
static class Config {
- static final int NR_CONNECTED_MMWAVE = 1;
- static final int NR_CONNECTED = 2;
- static final int NR_NOT_RESTRICTED_RRC_IDLE = 3;
- static final int NR_NOT_RESTRICTED_RRC_CON = 4;
- static final int NR_RESTRICTED = 5;
-
- Map<Integer, MobileIconGroup> nr5GIconMap = new HashMap<>();
-
boolean showAtLeast3G = false;
boolean show4gFor3g = false;
boolean alwaysShowCdmaRssi = false;
@@ -1148,22 +1130,6 @@
boolean hspaDataDistinguishable;
boolean inflateSignalStrengths = false;
boolean alwaysShowDataRatIcon = false;
- public String patternOfCarrierSpecificDataIcon = "";
- public long nrIconDisplayGracePeriodMs;
-
- /**
- * Mapping from NR 5G status string to an integer. The NR 5G status string should match
- * those in carrier config.
- */
- private static final Map<String, Integer> NR_STATUS_STRING_TO_INDEX;
- static {
- NR_STATUS_STRING_TO_INDEX = new HashMap<>(5);
- NR_STATUS_STRING_TO_INDEX.put("connected_mmwave", NR_CONNECTED_MMWAVE);
- NR_STATUS_STRING_TO_INDEX.put("connected", NR_CONNECTED);
- NR_STATUS_STRING_TO_INDEX.put("not_restricted_rrc_idle", NR_NOT_RESTRICTED_RRC_IDLE);
- NR_STATUS_STRING_TO_INDEX.put("not_restricted_rrc_con", NR_NOT_RESTRICTED_RRC_CON);
- NR_STATUS_STRING_TO_INDEX.put("restricted", NR_RESTRICTED);
- }
static Config readConfig(Context context) {
Config config = new Config();
@@ -1192,64 +1158,9 @@
CarrierConfigManager.KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL);
config.hideLtePlus = b.getBoolean(
CarrierConfigManager.KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL);
- config.patternOfCarrierSpecificDataIcon = b.getString(
- CarrierConfigManager.KEY_SHOW_CARRIER_DATA_ICON_PATTERN_STRING);
- String nr5GIconConfiguration =
- b.getString(CarrierConfigManager.KEY_5G_ICON_CONFIGURATION_STRING);
- if (!TextUtils.isEmpty(nr5GIconConfiguration)) {
- String[] nr5GIconConfigPairs = nr5GIconConfiguration.trim().split(",");
- for (String pair : nr5GIconConfigPairs) {
- add5GIconMapping(pair, config);
- }
- }
- setDisplayGraceTime(
- b.getInt(CarrierConfigManager.KEY_5G_ICON_DISPLAY_GRACE_PERIOD_SEC_INT),
- config);
}
return config;
}
-
- /**
- * Add a mapping from NR 5G status to the 5G icon. All the icon resources come from
- * {@link TelephonyIcons}.
- *
- * @param keyValuePair the NR 5G status and icon name separated by a colon.
- * @param config container that used to store the parsed configs.
- */
- @VisibleForTesting
- static void add5GIconMapping(String keyValuePair, Config config) {
- String[] kv = (keyValuePair.trim().toLowerCase()).split(":");
-
- if (kv.length != 2) {
- if (DEBUG) Log.e(TAG, "Invalid 5G icon configuration, config = " + keyValuePair);
- return;
- }
-
- String key = kv[0], value = kv[1];
-
- // There is no icon config for the specific 5G status.
- if (value.equals("none")) return;
-
- if (NR_STATUS_STRING_TO_INDEX.containsKey(key)
- && TelephonyIcons.ICON_NAME_TO_ICON.containsKey(value)) {
- config.nr5GIconMap.put(
- NR_STATUS_STRING_TO_INDEX.get(key),
- TelephonyIcons.ICON_NAME_TO_ICON.get(value));
- }
- }
-
- /**
- * Set display gracefully period time(MS) depend on carrierConfig KEY
- * KEY_5G_ICON_DISPLAY_GRACE_PERIOD_SEC_INT, and this function will convert to ms.
- * {@link CarrierConfigManager}.
- *
- * @param time showing 5G icon gracefully in the period of the time(SECOND)
- * @param config container that used to store the parsed configs.
- */
- @VisibleForTesting
- static void setDisplayGraceTime(int time, Config config) {
- config.nrIconDisplayGracePeriodMs = time * DateUtils.SECOND_IN_MILLIS;
- }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java
index 749b56c..3a45691 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java
@@ -261,7 +261,6 @@
boolean enabled;
boolean activityIn;
boolean activityOut;
- public boolean activityDormant;
int level;
IconGroup iconGroup;
int inetCondition;
@@ -278,7 +277,6 @@
inetCondition = state.inetCondition;
activityIn = state.activityIn;
activityOut = state.activityOut;
- activityDormant = state.activityDormant;
rssi = state.rssi;
time = state.time;
}
@@ -302,7 +300,6 @@
.append("iconGroup=").append(iconGroup).append(',')
.append("activityIn=").append(activityIn).append(',')
.append("activityOut=").append(activityOut).append(',')
- .append("activityDormant=").append(activityDormant).append(',')
.append("rssi=").append(rssi).append(',')
.append("lastModified=").append(sSDF.format(time));
}
@@ -320,7 +317,6 @@
&& other.iconGroup == iconGroup
&& other.activityIn == activityIn
&& other.activityOut == activityOut
- && other.activityDormant == activityDormant
&& other.rssi == rssi;
}
}
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 9a0e97a..a0d551c 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
@@ -45,6 +45,7 @@
import android.provider.Settings.Global;
import android.telephony.CdmaEriInformation;
import android.telephony.CellSignalStrength;
+import android.telephony.DisplayInfo;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -96,6 +97,7 @@
protected PhoneStateListener mPhoneStateListener;
protected SignalStrength mSignalStrength;
protected ServiceState mServiceState;
+ protected DisplayInfo mDisplayInfo;
protected NetworkRegistrationInfo mFakeRegInfo;
protected ConnectivityManager mMockCm;
protected WifiManager mMockWm;
@@ -159,6 +161,7 @@
mSignalStrength = mock(SignalStrength.class);
mServiceState = mock(ServiceState.class);
+ mDisplayInfo = mock(DisplayInfo.class);
mFakeRegInfo = new NetworkRegistrationInfo.Builder()
.setTransportType(TRANSPORT_TYPE_WWAN)
@@ -167,6 +170,9 @@
.build();
doReturn(mFakeRegInfo).when(mServiceState)
.getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN);
+ doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mDisplayInfo).getNetworkType();
+ doReturn(DisplayInfo.OVERRIDE_NETWORK_TYPE_NONE).when(mDisplayInfo)
+ .getOverrideNetworkType();
mEriInformation = new CdmaEriInformation(CdmaEriInformation.ERI_OFF,
CdmaEriInformation.ERI_ICON_MODE_NORMAL);
@@ -260,33 +266,6 @@
NetworkCapabilities.TRANSPORT_CELLULAR, true, true);
}
- public void setupDefaultNr5GIconConfiguration() {
- NetworkControllerImpl.Config.add5GIconMapping("connected_mmwave:5g_plus", mConfig);
- NetworkControllerImpl.Config.add5GIconMapping("connected:5g", mConfig);
- }
-
- public void setupNr5GIconConfigurationForNotRestrictedRrcCon() {
- NetworkControllerImpl.Config.add5GIconMapping("connected_mmwave:5g_plus", mConfig);
- NetworkControllerImpl.Config.add5GIconMapping("connected:5g_plus", mConfig);
- NetworkControllerImpl.Config.add5GIconMapping("not_restricted_rrc_con:5g", mConfig);
- }
-
- public void setupNr5GIconConfigurationForNotRestrictedRrcIdle() {
- NetworkControllerImpl.Config.add5GIconMapping("connected_mmwave:5g_plus", mConfig);
- NetworkControllerImpl.Config.add5GIconMapping("connected:5g_plus", mConfig);
- NetworkControllerImpl.Config.add5GIconMapping("not_restricted_rrc_idle:5g", mConfig);
- }
-
- public void setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds() {
- final int enableDisplayGraceTimeSec = 30;
- NetworkControllerImpl.Config.setDisplayGraceTime(enableDisplayGraceTimeSec, mConfig);
- }
-
- public void setupDefaultNr5GIconDisplayGracePeriodTime_disabled() {
- final int disableDisplayGraceTimeSec = 0;
- NetworkControllerImpl.Config.setDisplayGraceTime(disableDisplayGraceTimeSec, mConfig);
- }
-
public void setConnectivityViaBroadcast(
int networkType, boolean validated, boolean isConnected) {
setConnectivityCommon(networkType, validated, isConnected);
@@ -369,6 +348,7 @@
protected void updateServiceState() {
Log.d(TAG, "Sending Service State: " + mServiceState);
mPhoneStateListener.onServiceStateChanged(mServiceState);
+ mPhoneStateListener.onDisplayInfoChanged(mDisplayInfo);
}
public void updateCallState(int state) {
@@ -384,6 +364,7 @@
.build();
when(mServiceState.getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN))
.thenReturn(fakeRegInfo);
+ when(mDisplayInfo.getNetworkType()).thenReturn(dataNetType);
mPhoneStateListener.onDataConnectionStateChanged(dataState, dataNetType);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
index a906d9f..3eb0c44 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
@@ -3,17 +3,13 @@
import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.anyInt;
-import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.net.NetworkCapabilities;
import android.os.Looper;
import android.telephony.NetworkRegistrationInfo;
-import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
@@ -24,7 +20,6 @@
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mockito;
@SmallTest
@RunWith(AndroidTestingRunner.class)
@@ -180,254 +175,6 @@
}
@Test
- public void testNr5GIcon_NrNotRestrictedRrcCon_show5GIcon() {
- setupNr5GIconConfigurationForNotRestrictedRrcCon();
- setupDefaultSignal();
- updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT);
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED);
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, TelephonyIcons.ICON_5G,
- true, DEFAULT_QS_SIGNAL_STRENGTH, TelephonyIcons.ICON_5G, true, true);
- }
-
- @Test
- public void testNr5GIcon_NrNotRestrictedRrcIdle_show5GIcon() {
- setupNr5GIconConfigurationForNotRestrictedRrcIdle();
- setupDefaultSignal();
- updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- updateDataActivity(TelephonyManager.DATA_ACTIVITY_DORMANT);
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED);
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
- }
-
- @Test
- public void testNr5GIcon_NrConnectedWithoutMMWave_show5GIcon() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultSignal();
- updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
- }
-
- @Test
- public void testNr5GIcon_NrConnectedWithMMWave_show5GPlusIcon() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultSignal();
- updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(ss).getNrFrequencyRange();
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G_PLUS);
- }
-
- @Test
- public void testNr5GIcon_NrRestricted_showLteIcon() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultSignal();
- updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_RESTRICTED);
- mPhoneStateListener.onServiceStateChanged(mServiceState);
-
- verifyDataIndicators(TelephonyIcons.ICON_LTE);
- }
-
- @Test
- public void testNr5GIcon_displayGracePeriodTime_enabled() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds();
- setupDefaultSignal();
- mNetworkController.handleConfigurationChanged();
- mPhoneStateListener.onServiceStateChanged(mServiceState);
-
- ServiceState ss = Mockito.mock(ServiceState.class);
- // While nrIconDisplayGracePeriodMs > 0 & is Nr5G, mIsShowingIconGracefully should be true
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss);
-
- assertTrue(mConfig.nrIconDisplayGracePeriodMs > 0);
- assertTrue(mMobileSignalController.mIsShowingIconGracefully);
- }
-
- @Test
- public void testNr5GIcon_displayGracePeriodTime_disabled() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_disabled();
- setupDefaultSignal();
-
- assertTrue(mConfig.nrIconDisplayGracePeriodMs == 0);
-
- // While nrIconDisplayGracePeriodMs <= 0, mIsShowingIconGracefully should be false
- setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
-
- assertFalse(mMobileSignalController.mIsShowingIconGracefully);
- }
-
- @Test
- public void testNr5GIcon_enableDisplayGracePeriodTime_showIconGracefully() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds();
- setupDefaultSignal();
- mNetworkController.handleConfigurationChanged();
- mPhoneStateListener.onServiceStateChanged(mServiceState);
-
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
-
- // Enabled timer Nr5G switch to None Nr5G, showing 5G icon gracefully
- ServiceState ssLte = Mockito.mock(ServiceState.class);
- setNrState(ssLte, NetworkRegistrationInfo.NR_STATE_NONE);
- doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(ssLte).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ssLte);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
- }
-
- @Test
- public void testNr5GIcon_disableDisplayGracePeriodTime_showLatestIconImmediately() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_disabled();
- setupDefaultSignal();
- mNetworkController.handleConfigurationChanged();
-
- setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
-
- setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_NONE);
- doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(mServiceState).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
-
- verifyDataIndicators(TelephonyIcons.ICON_LTE);
- }
-
- @Test
- public void testNr5GIcon_resetDisplayGracePeriodTime_whenDataDisconnected() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds();
- setupDefaultSignal();
- mNetworkController.handleConfigurationChanged();
- setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
-
- // Disabled timer, when out of service, reset timer to display latest state
- updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_NONE);
- doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(mServiceState).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_DISCONNECTED,
- TelephonyManager.NETWORK_TYPE_UMTS);
-
- verifyDataIndicators(0);
- }
-
- @Test
- public void testNr5GIcon_enableDisplayGracePeriodTime_show5G_switching_5GPlus() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds();
- setupDefaultSignal();
- mNetworkController.handleConfigurationChanged();
- mPhoneStateListener.onServiceStateChanged(mServiceState);
-
- ServiceState ss5G = Mockito.mock(ServiceState.class);
- setNrState(ss5G, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss5G).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss5G);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
-
- // When timeout enabled, 5G/5G+ switching should be updated immediately
- ServiceState ss5GPlus = Mockito.mock(ServiceState.class);
- setNrState(ss5GPlus, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(ss5GPlus).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss5GPlus);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G_PLUS);
- }
-
- @Test
- public void testNr5GIcon_carrierDisabledDisplayGracePeriodTime_shouldUpdateIconImmediately() {
- setupDefaultNr5GIconConfiguration();
- setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds();
- setupDefaultSignal();
- mNetworkController.handleConfigurationChanged();
- mPhoneStateListener.onServiceStateChanged(mServiceState);
-
- ServiceState ss = Mockito.mock(ServiceState.class);
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
-
- // State from NR_5G to NONE NR_5G with timeout, should show previous 5G icon
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_NONE);
- doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(ss).getNrFrequencyRange();
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss);
-
- verifyDataIndicators(TelephonyIcons.ICON_5G);
-
- // Update nrIconDisplayGracePeriodMs to 0
- setupDefaultNr5GIconDisplayGracePeriodTime_disabled();
- mNetworkController.handleConfigurationChanged();
-
- // State from NR_5G to NONE NR_STATE_RESTRICTED, showing corresponding icon
- setNrState(ss, NetworkRegistrationInfo.NR_STATE_RESTRICTED);
- mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
- TelephonyManager.NETWORK_TYPE_LTE);
-
- assertTrue(mConfig.nrIconDisplayGracePeriodMs == 0);
- verifyDataIndicators(TelephonyIcons.ICON_LTE);
- }
-
- @Test
public void testDataDisabledIcon_UserNotSetup() {
setupNetworkController();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false);
@@ -488,6 +235,7 @@
.build();
when(mServiceState.getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN))
.thenReturn(fakeRegInfo);
+ when(mDisplayInfo.getNetworkType()).thenReturn(TelephonyManager.NETWORK_TYPE_HSPA);
updateServiceState();
verifyDataIndicators(TelephonyIcons.ICON_H);
}
@@ -523,10 +271,4 @@
true, DEFAULT_QS_SIGNAL_STRENGTH, dataIcon, false,
false);
}
-
- private void setNrState(ServiceState ss, int nrState) {
- mFakeRegInfo.setNrState(nrState);
- doReturn(mFakeRegInfo).when(ss)
- .getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN);
- }
}