Remove support for COMBINED_SIGNAL_ICONS

This change removes all of the branches associated with the combined
signal iconography implemented for the provider model behavior for the
following reasons:

1. This flag has been false for a while now, ever since the split out into
   two parts (provider model behavior + provider model setting).
2. The original implementation of this behavior sits at the wrong level
   of abstraction for maintainability and understandability, due to the
   constraints on building that feature out.
3. In order to put the domain logic for this iconography into a better
   place, it makes sense to remove these unused branches now, and
   re-implement in the future if we need to bring it back

Test: atest SystemUITests
Bug: 238425913
Change-Id: I1bef3f309058136f190b1d4494a1a53022786a4f
This commit is contained in:
Evan Laird
2022-07-21 13:46:12 -04:00
parent 4ac9246339
commit d560ba9376
17 changed files with 76 additions and 598 deletions

View File

@@ -44,6 +44,8 @@ public class MobileStatusTracker {
private final Handler mReceiverHandler;
private final MobileTelephonyCallback mTelephonyCallback;
private boolean mListening = false;
/**
* MobileStatusTracker constructors
*
@@ -76,6 +78,7 @@ public class MobileStatusTracker {
* Config the MobileStatusTracker to start or stop monitoring platform signals.
*/
public void setListening(boolean listening) {
mListening = listening;
if (listening) {
mPhone.registerTelephonyCallback(mReceiverHandler::post, mTelephonyCallback);
} else {
@@ -83,6 +86,10 @@ public class MobileStatusTracker {
}
}
public boolean isListening() {
return mListening;
}
private void updateDataSim() {
int activeDataSubId = mDefaults.getActiveDataSubId();
if (SubscriptionManager.isValidSubscriptionId(activeDataSubId)) {

View File

@@ -134,18 +134,9 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
mQSCarrierGroupController
.setOnSingleCarrierChangedListener(mView::setIsSingleCarrier);
List<String> rssiIgnoredSlots;
if (mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
rssiIgnoredSlots = List.of(
getResources().getString(com.android.internal.R.string.status_bar_no_calling),
getResources().getString(com.android.internal.R.string.status_bar_call_strength)
);
} else {
rssiIgnoredSlots = List.of(
getResources().getString(com.android.internal.R.string.status_bar_mobile)
);
}
List<String> rssiIgnoredSlots = List.of(
getResources().getString(com.android.internal.R.string.status_bar_mobile)
);
mView.onAttach(mIconManager, mQSExpansionPathInterpolator, rssiIgnoredSlots,
mInsetsProvider, mFeatureFlags.isEnabled(Flags.COMBINED_QS_HEADERS));

View File

@@ -27,7 +27,6 @@ data class CellSignalState(
@JvmField val contentDescription: String? = null,
@JvmField val typeContentDescription: String? = null,
@JvmField val roaming: Boolean = false,
@JvmField val providerModelBehavior: Boolean = false
) {
/**
* Changes the visibility of this state by returning a copy with the visibility changed.
@@ -41,4 +40,4 @@ data class CellSignalState(
if (this.visible == visible) return this
else return copy(visible = visible)
}
}
}

View File

@@ -45,7 +45,7 @@ public class QSCarrier extends LinearLayout {
private View mSpacer;
@Nullable
private CellSignalState mLastSignalState;
private boolean mProviderModelInitialized = false;
private boolean mMobileSignalInitialized = false;
private boolean mIsSingleCarrier;
public QSCarrier(Context context) {
@@ -96,35 +96,25 @@ public class QSCarrier extends LinearLayout {
mMobileRoaming.setImageTintList(colorStateList);
mMobileSignal.setImageTintList(colorStateList);
if (state.providerModelBehavior) {
if (!mProviderModelInitialized) {
mProviderModelInitialized = true;
mMobileSignal.setImageDrawable(
mContext.getDrawable(R.drawable.ic_qs_no_calling_sms));
}
mMobileSignal.setImageDrawable(mContext.getDrawable(state.mobileSignalIconId));
mMobileSignal.setContentDescription(state.contentDescription);
} else {
if (!mProviderModelInitialized) {
mProviderModelInitialized = true;
mMobileSignal.setImageDrawable(new SignalDrawable(mContext));
}
mMobileSignal.setImageLevel(state.mobileSignalIconId);
StringBuilder contentDescription = new StringBuilder();
if (state.contentDescription != null) {
contentDescription.append(state.contentDescription).append(", ");
}
if (state.roaming) {
contentDescription
.append(mContext.getString(R.string.data_connection_roaming))
.append(", ");
}
// TODO: show mobile data off/no internet text for 5 seconds before carrier text
if (hasValidTypeContentDescription(state.typeContentDescription)) {
contentDescription.append(state.typeContentDescription);
}
mMobileSignal.setContentDescription(contentDescription);
if (!mMobileSignalInitialized) {
mMobileSignalInitialized = true;
mMobileSignal.setImageDrawable(new SignalDrawable(mContext));
}
mMobileSignal.setImageLevel(state.mobileSignalIconId);
StringBuilder contentDescription = new StringBuilder();
if (state.contentDescription != null) {
contentDescription.append(state.contentDescription).append(", ");
}
if (state.roaming) {
contentDescription
.append(mContext.getString(R.string.data_connection_roaming))
.append(", ");
}
// TODO: show mobile data off/no internet text for 5 seconds before carrier text
if (hasValidTypeContentDescription(state.typeContentDescription)) {
contentDescription.append(state.typeContentDescription);
}
mMobileSignal.setContentDescription(contentDescription);
}
return true;
}

View File

@@ -42,10 +42,7 @@ import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.connectivity.IconState;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.SignalCallback;
@@ -78,7 +75,6 @@ public class QSCarrierGroupController {
private QSCarrier[] mCarrierGroups = new QSCarrier[SIM_SLOTS];
private int[] mLastSignalLevel = new int[SIM_SLOTS];
private String[] mLastSignalLevelDescription = new String[SIM_SLOTS];
private final boolean mProviderModel;
private final CarrierConfigTracker mCarrierConfigTracker;
private boolean mIsSingleCarrier;
@@ -90,9 +86,6 @@ public class QSCarrierGroupController {
private final SignalCallback mSignalCallback = new SignalCallback() {
@Override
public void setMobileDataIndicators(@NonNull MobileDataIndicators indicators) {
if (mProviderModel) {
return;
}
int slotIndex = getSlotIndex(indicators.subId);
if (slotIndex >= SIM_SLOTS) {
Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
@@ -107,90 +100,11 @@ public class QSCarrierGroupController {
indicators.statusIcon.icon,
indicators.statusIcon.contentDescription,
indicators.typeContentDescription.toString(),
indicators.roaming,
mProviderModel
indicators.roaming
);
mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
}
@Override
public void setCallIndicator(@NonNull IconState statusIcon, int subId) {
if (!mProviderModel) {
return;
}
int slotIndex = getSlotIndex(subId);
if (slotIndex >= SIM_SLOTS) {
Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
return;
}
if (slotIndex == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
Log.e(TAG, "Invalid SIM slot index for subscription: " + subId);
return;
}
boolean displayCallStrengthIcon =
mCarrierConfigTracker.getCallStrengthConfig(subId);
if (statusIcon.icon == R.drawable.ic_qs_no_calling_sms) {
if (statusIcon.visible) {
mInfos[slotIndex] = new CellSignalState(
true,
statusIcon.icon,
statusIcon.contentDescription,
"",
false,
mProviderModel);
} else {
// Whenever the no Calling & SMS state is cleared, switched to the last
// known call strength icon.
if (displayCallStrengthIcon) {
mInfos[slotIndex] = new CellSignalState(
true,
mLastSignalLevel[slotIndex],
mLastSignalLevelDescription[slotIndex],
"",
false,
mProviderModel);
} else {
mInfos[slotIndex] = new CellSignalState(
true,
R.drawable.ic_qs_sim_card,
"",
"",
false,
mProviderModel);
}
}
mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
} else {
mLastSignalLevel[slotIndex] = statusIcon.icon;
mLastSignalLevelDescription[slotIndex] = statusIcon.contentDescription;
// Only Shows the call strength icon when the no Calling & SMS icon is not
// shown.
if (mInfos[slotIndex].mobileSignalIconId
!= R.drawable.ic_qs_no_calling_sms) {
if (displayCallStrengthIcon) {
mInfos[slotIndex] = new CellSignalState(
true,
statusIcon.icon,
statusIcon.contentDescription,
"",
false,
mProviderModel);
} else {
mInfos[slotIndex] = new CellSignalState(
true,
R.drawable.ic_qs_sim_card,
"",
"",
false,
mProviderModel);
}
mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
}
}
}
@Override
public void setNoSims(boolean hasNoSims, boolean simDetected) {
if (hasNoSims) {
@@ -219,14 +133,8 @@ public class QSCarrierGroupController {
@Background Handler bgHandler, @Main Looper mainLooper,
NetworkController networkController,
CarrierTextManager.Builder carrierTextManagerBuilder, Context context,
CarrierConfigTracker carrierConfigTracker, FeatureFlags featureFlags,
SlotIndexResolver slotIndexResolver) {
CarrierConfigTracker carrierConfigTracker, SlotIndexResolver slotIndexResolver) {
if (featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
mProviderModel = true;
} else {
mProviderModel = false;
}
mActivityStarter = activityStarter;
mBgHandler = bgHandler;
mNetworkController = networkController;
@@ -262,8 +170,7 @@ public class QSCarrierGroupController {
R.drawable.ic_qs_no_calling_sms,
context.getText(AccessibilityContentDescriptions.NO_CALLING).toString(),
"",
false,
mProviderModel);
false);
mLastSignalLevel[i] = TelephonyIcons.MOBILE_CALL_STRENGTH_ICONS[0];
mLastSignalLevelDescription[i] =
context.getText(AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0])
@@ -351,8 +258,7 @@ public class QSCarrierGroupController {
for (int i = 0; i < SIM_SLOTS; i++) {
if (mInfos[i].visible
&& mInfos[i].mobileSignalIconId == R.drawable.ic_qs_sim_card) {
mInfos[i] = new CellSignalState(true, R.drawable.ic_blank, "", "", false,
mProviderModel);
mInfos[i] = new CellSignalState(true, R.drawable.ic_blank, "", "", false);
}
}
}
@@ -470,15 +376,13 @@ public class QSCarrierGroupController {
private final CarrierTextManager.Builder mCarrierTextControllerBuilder;
private final Context mContext;
private final CarrierConfigTracker mCarrierConfigTracker;
private final FeatureFlags mFeatureFlags;
private final SlotIndexResolver mSlotIndexResolver;
@Inject
public Builder(ActivityStarter activityStarter, @Background Handler handler,
@Main Looper looper, NetworkController networkController,
CarrierTextManager.Builder carrierTextControllerBuilder, Context context,
CarrierConfigTracker carrierConfigTracker, FeatureFlags featureFlags,
SlotIndexResolver slotIndexResolver) {
CarrierConfigTracker carrierConfigTracker, SlotIndexResolver slotIndexResolver) {
mActivityStarter = activityStarter;
mHandler = handler;
mLooper = looper;
@@ -486,7 +390,6 @@ public class QSCarrierGroupController {
mCarrierTextControllerBuilder = carrierTextControllerBuilder;
mContext = context;
mCarrierConfigTracker = carrierConfigTracker;
mFeatureFlags = featureFlags;
mSlotIndexResolver = slotIndexResolver;
}
@@ -498,7 +401,7 @@ public class QSCarrierGroupController {
public QSCarrierGroupController build() {
return new QSCarrierGroupController(mView, mActivityStarter, mHandler, mLooper,
mNetworkController, mCarrierTextControllerBuilder, mContext,
mCarrierConfigTracker, mFeatureFlags, mSlotIndexResolver);
mCarrierConfigTracker, mSlotIndexResolver);
}
}

View File

@@ -26,25 +26,17 @@ import android.net.NetworkCapabilities;
import android.os.Handler;
import android.os.Looper;
import android.provider.Settings.Global;
import android.telephony.AccessNetworkConstants;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthCdma;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.ims.ImsException;
import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.ImsReasonInfo;
import android.telephony.ims.ImsRegistrationAttributes;
import android.telephony.ims.RegistrationManager.RegistrationCallback;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settingslib.AccessibilityContentDescriptions;
import com.android.settingslib.SignalIcon.MobileIconGroup;
import com.android.settingslib.graph.SignalDrawable;
import com.android.settingslib.mobile.MobileMappings.Config;
@@ -54,8 +46,6 @@ import com.android.settingslib.mobile.MobileStatusTracker.SubscriptionDefaults;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.SignalStrengthUtil;
import com.android.systemui.R;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.util.CarrierConfigTracker;
import java.io.PrintWriter;
@@ -70,31 +60,20 @@ import java.util.Map;
public class MobileSignalController extends SignalController<MobileState, MobileIconGroup> {
private static final SimpleDateFormat SSDF = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");
private static final int STATUS_HISTORY_SIZE = 64;
private static final int IMS_TYPE_WWAN = 1;
private static final int IMS_TYPE_WLAN = 2;
private static final int IMS_TYPE_WLAN_CROSS_SIM = 3;
private final TelephonyManager mPhone;
private final CarrierConfigTracker mCarrierConfigTracker;
private final ImsMmTelManager mImsMmTelManager;
private final SubscriptionDefaults mDefaults;
private final String mNetworkNameDefault;
private final String mNetworkNameSeparator;
private final ContentObserver mObserver;
private final boolean mProviderModelBehavior;
private final Handler mReceiverHandler;
private int mImsType = IMS_TYPE_WWAN;
// Save entire info for logging, we only use the id.
final SubscriptionInfo mSubscriptionInfo;
private Map<String, MobileIconGroup> mNetworkToIconLookup;
private int mLastLevel;
private MobileIconGroup mDefaultIcons;
private Config mConfig;
@VisibleForTesting
boolean mInflateSignalStrengths = false;
private int mLastWwanLevel;
private int mLastWlanLevel;
private int mLastWlanCrossSimLevel;
@VisibleForTesting
final MobileStatusTracker mMobileStatusTracker;
@@ -133,52 +112,6 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
}
};
private final RegistrationCallback mRegistrationCallback = new RegistrationCallback() {
@Override
public void onRegistered(ImsRegistrationAttributes attributes) {
Log.d(mTag, "onRegistered: " + "attributes=" + attributes);
int imsTransportType = attributes.getTransportType();
int registrationAttributes = attributes.getAttributeFlags();
if (imsTransportType == AccessNetworkConstants.TRANSPORT_TYPE_WWAN) {
mImsType = IMS_TYPE_WWAN;
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWwanLevel, /* isWifi= */false),
getCallStrengthDescription(mLastWwanLevel, /* isWifi= */false));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
} else if (imsTransportType == AccessNetworkConstants.TRANSPORT_TYPE_WLAN) {
if (registrationAttributes == 0) {
mImsType = IMS_TYPE_WLAN;
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWlanLevel, /* isWifi= */true),
getCallStrengthDescription(mLastWlanLevel, /* isWifi= */true));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
} else if (registrationAttributes
== ImsRegistrationAttributes.ATTR_EPDG_OVER_CELL_INTERNET) {
mImsType = IMS_TYPE_WLAN_CROSS_SIM;
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWlanCrossSimLevel, /* isWifi= */false),
getCallStrengthDescription(
mLastWlanCrossSimLevel, /* isWifi= */false));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
}
}
@Override
public void onUnregistered(ImsReasonInfo info) {
Log.d(mTag, "onDeregistered: " + "info=" + info);
mImsType = IMS_TYPE_WWAN;
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWwanLevel, /* isWifi= */false),
getCallStrengthDescription(mLastWwanLevel, /* isWifi= */false));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
};
// TODO: Reduce number of vars passed in, if we have the NetworkController, probably don't
// need listener lists anymore.
public MobileSignalController(
@@ -192,8 +125,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
SubscriptionDefaults defaults,
Looper receiverLooper,
CarrierConfigTracker carrierConfigTracker,
MobileStatusTrackerFactory mobileStatusTrackerFactory,
FeatureFlags featureFlags
MobileStatusTrackerFactory mobileStatusTrackerFactory
) {
super("MobileSignalController(" + info.getSubscriptionId() + ")", context,
NetworkCapabilities.TRANSPORT_CELLULAR, callbackHandler,
@@ -207,7 +139,6 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
R.string.status_bar_network_name_separator).toString();
mNetworkNameDefault = getTextIfExists(
com.android.internal.R.string.lockscreen_carrier_default).toString();
mReceiverHandler = new Handler(receiverLooper);
mNetworkToIconLookup = mapIconSets(mConfig);
mDefaultIcons = getDefaultIcons(mConfig);
@@ -224,9 +155,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
updateTelephony();
}
};
mImsMmTelManager = ImsMmTelManager.createForSubscriptionId(info.getSubscriptionId());
mMobileStatusTracker = mobileStatusTrackerFactory.createTracker(mMobileCallback);
mProviderModelBehavior = featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS);
}
void setConfiguration(Config config) {
@@ -271,41 +200,14 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
mContext.getContentResolver().registerContentObserver(Global.getUriFor(
Global.MOBILE_DATA + mSubscriptionInfo.getSubscriptionId()),
true, mObserver);
if (mProviderModelBehavior) {
mReceiverHandler.post(mTryRegisterIms);
}
}
// There is no listener to monitor whether the IMS service is ready, so we have to retry the
// IMS registration.
private final Runnable mTryRegisterIms = new Runnable() {
private static final int MAX_RETRY = 12;
private int mRetryCount;
@Override
public void run() {
try {
mRetryCount++;
mImsMmTelManager.registerImsRegistrationCallback(
mReceiverHandler::post, mRegistrationCallback);
Log.d(mTag, "registerImsRegistrationCallback succeeded");
} catch (RuntimeException | ImsException e) {
if (mRetryCount < MAX_RETRY) {
Log.e(mTag, mRetryCount + " registerImsRegistrationCallback failed", e);
// Wait for 5 seconds to retry
mReceiverHandler.postDelayed(mTryRegisterIms, 5000);
}
}
}
};
/**
* Stop listening for phone state changes.
*/
public void unregisterListener() {
mMobileStatusTracker.setListening(false);
mContext.getContentResolver().unregisterContentObserver(mObserver);
mImsMmTelManager.unregisterImsRegistrationCallback(mRegistrationCallback);
}
private void updateInflateSignalStrength() {
@@ -394,7 +296,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
CharSequence qsDescription = null;
if (mCurrentState.dataSim) {
// If using provider model behavior, only show QS icons if the state is also default
// only show QS icons if the state is also default
if (!mCurrentState.isDefault) {
return new QsInfo(qsTypeIcon, qsIcon, qsDescription);
}
@@ -416,32 +318,15 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
private SbInfo getSbInfo(String contentDescription, int dataTypeIcon) {
final boolean dataDisabled = mCurrentState.isDataDisabledOrNotDefault();
boolean showTriangle = false;
int typeIcon = 0;
IconState statusIcon = null;
IconState statusIcon = new IconState(
mCurrentState.enabled && !mCurrentState.airplaneMode,
getCurrentIconId(), contentDescription);
if (mProviderModelBehavior) {
boolean showDataIconStatusBar = (mCurrentState.dataConnected || dataDisabled)
&& (mCurrentState.dataSim && mCurrentState.isDefault);
typeIcon =
(showDataIconStatusBar || mConfig.alwaysShowDataRatIcon) ? dataTypeIcon : 0;
showDataIconStatusBar |= mCurrentState.roaming;
statusIcon = new IconState(
showDataIconStatusBar && !mCurrentState.airplaneMode,
getCurrentIconId(), contentDescription);
showTriangle = showDataIconStatusBar && !mCurrentState.airplaneMode;
} else {
statusIcon = new IconState(
mCurrentState.enabled && !mCurrentState.airplaneMode,
getCurrentIconId(), contentDescription);
boolean showDataIconInStatusBar =
(mCurrentState.dataConnected && mCurrentState.isDefault) || dataDisabled;
typeIcon =
(showDataIconInStatusBar || mConfig.alwaysShowDataRatIcon) ? dataTypeIcon : 0;
showTriangle = mCurrentState.enabled && !mCurrentState.airplaneMode;
}
boolean showDataIconInStatusBar =
(mCurrentState.dataConnected && mCurrentState.isDefault) || dataDisabled;
int typeIcon =
(showDataIconInStatusBar || mConfig.alwaysShowDataRatIcon) ? dataTypeIcon : 0;
boolean showTriangle = mCurrentState.enabled && !mCurrentState.airplaneMode;
return new SbInfo(showTriangle, typeIcon, statusIcon);
}
@@ -560,144 +445,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
}
private void updateMobileStatus(MobileStatus mobileStatus) {
int lastVoiceState = mCurrentState.getVoiceServiceState();
mCurrentState.setFromMobileStatus(mobileStatus);
notifyMobileLevelChangeIfNecessary(mobileStatus.signalStrength);
if (mProviderModelBehavior) {
maybeNotifyCallStateChanged(lastVoiceState);
}
}
/** Call state changed is only applicable when provider model behavior is true */
private void maybeNotifyCallStateChanged(int lastVoiceState) {
int currentVoiceState = mCurrentState.getVoiceServiceState();
if (lastVoiceState == currentVoiceState) {
return;
}
// Only update the no calling Status in the below scenarios
// 1. The first valid voice state has been received
// 2. The voice state has been changed and either the last or current state is
// ServiceState.STATE_IN_SERVICE
if (lastVoiceState == -1
|| (lastVoiceState == ServiceState.STATE_IN_SERVICE
|| currentVoiceState == ServiceState.STATE_IN_SERVICE)) {
boolean isNoCalling = mCurrentState.isNoCalling();
isNoCalling &= !hideNoCalling();
IconState statusIcon = new IconState(isNoCalling,
R.drawable.ic_qs_no_calling_sms,
getTextIfExists(AccessibilityContentDescriptions.NO_CALLING).toString());
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
}
void updateNoCallingState() {
int currentVoiceState = mCurrentState.getVoiceServiceState();
boolean isNoCalling = currentVoiceState != ServiceState.STATE_IN_SERVICE;
isNoCalling &= !hideNoCalling();
IconState statusIcon = new IconState(isNoCalling,
R.drawable.ic_qs_no_calling_sms,
getTextIfExists(AccessibilityContentDescriptions.NO_CALLING).toString());
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
private boolean hideNoCalling() {
return mNetworkController.hasDefaultNetwork()
&& mCarrierConfigTracker.getNoCallingConfig(mSubscriptionInfo.getSubscriptionId());
}
private int getCallStrengthIcon(int level, boolean isWifi) {
return isWifi ? TelephonyIcons.WIFI_CALL_STRENGTH_ICONS[level]
: TelephonyIcons.MOBILE_CALL_STRENGTH_ICONS[level];
}
private String getCallStrengthDescription(int level, boolean isWifi) {
return isWifi
? getTextIfExists(AccessibilityContentDescriptions.WIFI_CONNECTION_STRENGTH[level])
.toString()
: getTextIfExists(AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[level])
.toString();
}
void refreshCallIndicator(SignalCallback callback) {
boolean isNoCalling = mCurrentState.isNoCalling();
isNoCalling &= !hideNoCalling();
IconState statusIcon = new IconState(isNoCalling,
R.drawable.ic_qs_no_calling_sms,
getTextIfExists(AccessibilityContentDescriptions.NO_CALLING).toString());
callback.setCallIndicator(statusIcon, mSubscriptionInfo.getSubscriptionId());
switch (mImsType) {
case IMS_TYPE_WWAN:
statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWwanLevel, /* isWifi= */false),
getCallStrengthDescription(mLastWwanLevel, /* isWifi= */false));
break;
case IMS_TYPE_WLAN:
statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWlanLevel, /* isWifi= */true),
getCallStrengthDescription(mLastWlanLevel, /* isWifi= */true));
break;
case IMS_TYPE_WLAN_CROSS_SIM:
statusIcon = new IconState(
true,
getCallStrengthIcon(mLastWlanCrossSimLevel, /* isWifi= */false),
getCallStrengthDescription(mLastWlanCrossSimLevel, /* isWifi= */false));
}
callback.setCallIndicator(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
void notifyWifiLevelChange(int level) {
if (!mProviderModelBehavior) {
return;
}
mLastWlanLevel = level;
if (mImsType != IMS_TYPE_WLAN) {
return;
}
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(level, /* isWifi= */true),
getCallStrengthDescription(level, /* isWifi= */true));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
void notifyDefaultMobileLevelChange(int level) {
if (!mProviderModelBehavior) {
return;
}
mLastWlanCrossSimLevel = level;
if (mImsType != IMS_TYPE_WLAN_CROSS_SIM) {
return;
}
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(level, /* isWifi= */false),
getCallStrengthDescription(level, /* isWifi= */false));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
void notifyMobileLevelChangeIfNecessary(SignalStrength signalStrength) {
if (!mProviderModelBehavior) {
return;
}
int newLevel = getSignalLevel(signalStrength);
if (newLevel != mLastLevel) {
mLastLevel = newLevel;
mLastWwanLevel = newLevel;
if (mImsType == IMS_TYPE_WWAN) {
IconState statusIcon = new IconState(
true,
getCallStrengthIcon(newLevel, /* isWifi= */false),
getCallStrengthDescription(newLevel, /* isWifi= */false));
notifyCallStateChange(statusIcon, mSubscriptionInfo.getSubscriptionId());
}
if (mCurrentState.dataSim) {
mNetworkController.notifyDefaultMobileLevelChange(newLevel);
}
}
}
int getSignalLevel(SignalStrength signalStrength) {
@@ -801,19 +549,14 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
mMobileStatusHistoryIndex = (mMobileStatusHistoryIndex + 1) % STATUS_HISTORY_SIZE;
}
@VisibleForTesting
void setImsType(int imsType) {
mImsType = imsType;
}
@Override
public void dump(PrintWriter pw) {
super.dump(pw);
pw.println(" mSubscription=" + mSubscriptionInfo + ",");
pw.println(" mProviderModelBehavior=" + mProviderModelBehavior + ",");
pw.println(" mInflateSignalStrengths=" + mInflateSignalStrengths + ",");
pw.println(" isDataDisabled=" + isDataDisabled() + ",");
pw.println(" mNetworkToIconLookup=" + mNetworkToIconLookup + ",");
pw.println(" mMobileStatusTracker.isListening=" + mMobileStatusTracker.isListening());
pw.println(" MobileStatusHistory");
int size = 0;
for (int i = 0; i < STATUS_HISTORY_SIZE; i++) {
@@ -843,6 +586,11 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
icon = iconState;
description = desc;
}
@Override
public String toString() {
return "QsInfo: ratTypeIcon=" + ratTypeIcon + " icon=" + icon;
}
}
/** Box for status bar icon info */
@@ -856,5 +604,11 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
ratTypeIcon = typeIcon;
icon = iconState;
}
@Override
public String toString() {
return "SbInfo: showTriangle=" + showTriangle + " ratTypeIcon=" + ratTypeIcon
+ " icon=" + icon;
}
}
}

View File

@@ -21,7 +21,6 @@ import android.telephony.SubscriptionInfo
import android.telephony.TelephonyManager
import com.android.settingslib.mobile.MobileMappings
import com.android.settingslib.mobile.MobileStatusTracker
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.util.CarrierConfigTracker
import javax.inject.Inject
@@ -32,16 +31,15 @@ internal class MobileSignalControllerFactory @Inject constructor(
val context: Context,
val callbackHandler: CallbackHandler,
val carrierConfigTracker: CarrierConfigTracker,
val featureFlags: FeatureFlags,
) {
fun createMobileSignalController(
config: MobileMappings.Config,
hasMobileData: Boolean,
phone: TelephonyManager,
networkController: NetworkControllerImpl, // TODO: no!
networkController: NetworkControllerImpl,
subscriptionInfo: SubscriptionInfo,
subscriptionDefaults: MobileStatusTracker.SubscriptionDefaults,
receiverLooper: Looper // TODO: no!
receiverLooper: Looper,
): MobileSignalController {
val mobileTrackerFactory = MobileStatusTrackerFactory(
phone,
@@ -61,7 +59,6 @@ internal class MobileSignalControllerFactory @Inject constructor(
receiverLooper,
carrierConfigTracker,
mobileTrackerFactory,
featureFlags,
)
}
}

View File

@@ -71,8 +71,6 @@ import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.log.LogBuffer;
import com.android.systemui.log.LogLevel;
import com.android.systemui.log.dagger.StatusBarNetworkControllerLog;
@@ -134,10 +132,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
private final BroadcastDispatcher mBroadcastDispatcher;
private final DemoModeController mDemoModeController;
private final Object mLock = new Object();
private final boolean mProviderModelBehavior;
private Config mConfig;
private final CarrierConfigTracker mCarrierConfigTracker;
private final FeatureFlags mFeatureFlags;
private final DumpManager mDumpManager;
private final LogBuffer mLogBuffer;
private final MobileSignalControllerFactory mMobileFactory;
@@ -239,7 +235,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
MobileSignalControllerFactory mobileFactory,
@Main Handler handler,
InternetDialogFactory internetDialogFactory,
FeatureFlags featureFlags,
DumpManager dumpManager,
@StatusBarNetworkControllerLog LogBuffer logBuffer) {
this(context, connectivityManager,
@@ -261,7 +256,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
trackerFactory,
mobileFactory,
handler,
featureFlags,
dumpManager,
logBuffer);
mReceiverHandler.post(mRegisterListeners);
@@ -288,7 +282,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
WifiStatusTrackerFactory trackerFactory,
MobileSignalControllerFactory mobileFactory,
@Main Handler handler,
FeatureFlags featureFlags,
DumpManager dumpManager,
LogBuffer logBuffer
) {
@@ -310,7 +303,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
mHasMobileDataFeature = telephonyManager.isDataCapable();
mDemoModeController = demoModeController;
mCarrierConfigTracker = carrierConfigTracker;
mFeatureFlags = featureFlags;
mDumpManager = dumpManager;
mLogBuffer = logBuffer;
@@ -462,7 +454,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
};
mDemoModeController.addCallback(this);
mProviderModelBehavior = mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS);
mDumpManager.registerDumpable(TAG, this);
}
@@ -665,20 +656,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
return controller != null ? controller.getNetworkNameForCarrierWiFi() : "";
}
void notifyWifiLevelChange(int level) {
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
mobileSignalController.notifyWifiLevelChange(level);
}
}
void notifyDefaultMobileLevelChange(int level) {
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
mobileSignalController.notifyDefaultMobileLevelChange(level);
}
}
private void notifyControllersMobileDataChanged() {
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
@@ -751,9 +728,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
mobileSignalController.notifyListeners(cb);
if (mProviderModelBehavior) {
mobileSignalController.refreshCallIndicator(cb);
}
}
mCallbackHandler.setListening(cb, true);
}
@@ -868,9 +842,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController controller = mMobileSignalControllers.valueAt(i);
controller.setConfiguration(mConfig);
if (mProviderModelBehavior) {
controller.refreshCallIndicator(mCallbackHandler);
}
}
refreshLocale();
}
@@ -1149,24 +1120,11 @@ public class NetworkControllerImpl extends BroadcastReceiver
|| mValidatedTransports.get(NetworkCapabilities.TRANSPORT_ETHERNET);
pushConnectivityToSignals();
if (mProviderModelBehavior) {
mNoDefaultNetwork = !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_CELLULAR)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_WIFI)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_ETHERNET);
mCallbackHandler.setConnectivityStatus(mNoDefaultNetwork, !mInetCondition,
mNoNetworksAvailable);
for (int i = 0; i < mMobileSignalControllers.size(); i++) {
MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
mobileSignalController.updateNoCallingState();
}
notifyAllListeners();
} else {
mNoDefaultNetwork = !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_CELLULAR)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_WIFI)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_ETHERNET);
mCallbackHandler.setConnectivityStatus(mNoDefaultNetwork, !mInetCondition,
mNoNetworksAvailable);
}
mNoDefaultNetwork = !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_CELLULAR)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_WIFI)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_ETHERNET);
mCallbackHandler.setConnectivityStatus(mNoDefaultNetwork, !mInetCondition,
mNoNetworksAvailable);
}
/**

View File

@@ -222,7 +222,6 @@ public class WifiSignalController extends SignalController<WifiState, IconGroup>
mCurrentState.connected = mWifiTracker.connected;
mCurrentState.ssid = mWifiTracker.ssid;
mCurrentState.rssi = mWifiTracker.rssi;
boolean levelChanged = mCurrentState.level != mWifiTracker.level;
mCurrentState.level = mWifiTracker.level;
mCurrentState.statusLabel = mWifiTracker.statusLabel;
mCurrentState.isCarrierMerged = mWifiTracker.isCarrierMerged;
@@ -230,10 +229,6 @@ public class WifiSignalController extends SignalController<WifiState, IconGroup>
mCurrentState.iconGroup =
mCurrentState.isCarrierMerged ? mCarrierMergedWifiIconGroup
: mUnmergedWifiIconGroup;
if (levelChanged) {
mNetworkController.notifyWifiLevelChange(mCurrentState.level);
}
}
boolean isCarrierMergedWifi(int subId) {

View File

@@ -26,8 +26,6 @@ import android.util.Log;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.statusbar.connectivity.IconState;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController;
@@ -66,7 +64,6 @@ public class StatusBarSignalPolicy implements SignalCallback,
private final Handler mHandler = Handler.getMain();
private final CarrierConfigTracker mCarrierConfigTracker;
private final TunerService mTunerService;
private final FeatureFlags mFeatureFlags;
private boolean mHideAirplane;
private boolean mHideMobile;
@@ -90,8 +87,7 @@ public class StatusBarSignalPolicy implements SignalCallback,
CarrierConfigTracker carrierConfigTracker,
NetworkController networkController,
SecurityController securityController,
TunerService tunerService,
FeatureFlags featureFlags
TunerService tunerService
) {
mContext = context;
@@ -100,7 +96,6 @@ public class StatusBarSignalPolicy implements SignalCallback,
mNetworkController = networkController;
mSecurityController = securityController;
mTunerService = tunerService;
mFeatureFlags = featureFlags;
mSlotAirplane = mContext.getString(com.android.internal.R.string.status_bar_airplane);
mSlotMobile = mContext.getString(com.android.internal.R.string.status_bar_mobile);
@@ -377,40 +372,6 @@ public class StatusBarSignalPolicy implements SignalCallback,
// Noop yay!
}
@Override
public void setConnectivityStatus(boolean noDefaultNetwork, boolean noValidatedNetwork,
boolean noNetworksAvailable) {
if (!mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
return;
}
if (DEBUG) {
Log.d(TAG, "setConnectivityStatus: "
+ "noDefaultNetwork = " + noDefaultNetwork + ","
+ "noValidatedNetwork = " + noValidatedNetwork + ","
+ "noNetworksAvailable = " + noNetworksAvailable);
}
WifiIconState newState = mWifiIconState.copy();
newState.noDefaultNetwork = noDefaultNetwork;
newState.noValidatedNetwork = noValidatedNetwork;
newState.noNetworksAvailable = noNetworksAvailable;
newState.slot = mSlotWifi;
newState.airplaneSpacerVisible = mIsAirplaneMode;
if (noDefaultNetwork && noNetworksAvailable && !mIsAirplaneMode) {
newState.visible = true;
newState.resId = R.drawable.ic_qs_no_internet_unavailable;
} else if (noDefaultNetwork && !noNetworksAvailable
&& (!mIsAirplaneMode || (mIsAirplaneMode && mIsWifiEnabled))) {
newState.visible = true;
newState.resId = R.drawable.ic_qs_no_internet_available;
} else {
newState.visible = false;
newState.resId = 0;
}
updateWifiIconWithState(newState);
mWifiIconState = newState;
}
@Override
public void setEthernetIndicators(IconState state) {
boolean visible = state.visible && !mHideEthernet;

View File

@@ -26,7 +26,6 @@ import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.colorextraction.SysuiColorExtractor
import com.android.systemui.demomode.DemoModeController
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.qs.carrier.QSCarrierGroup
import com.android.systemui.qs.carrier.QSCarrierGroupController
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider
@@ -46,10 +45,10 @@ import org.junit.runner.RunWith
import org.mockito.Answers
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mock
import org.mockito.Mockito.`when`
import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.reset
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
@SmallTest
@@ -162,7 +161,6 @@ class QuickStatusBarHeaderControllerTest : SysuiTestCase() {
@Test
fun testRSSISlot_notCombined() {
`when`(featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)).thenReturn(false)
controller.init()
val captor = argumentCaptor<List<String>>()
@@ -173,20 +171,6 @@ class QuickStatusBarHeaderControllerTest : SysuiTestCase() {
)
}
@Test
fun testRSSISlot_combined() {
`when`(featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)).thenReturn(true)
controller.init()
val captor = argumentCaptor<List<String>>()
verify(view).onAttach(any(), any(), capture(captor), any(), anyBoolean())
assertThat(captor.value).containsExactly(
mContext.getString(com.android.internal.R.string.status_bar_no_calling),
mContext.getString(com.android.internal.R.string.status_bar_call_strength)
)
}
@Test
fun testSingleCarrierCallback() {
controller.init()

View File

@@ -37,7 +37,6 @@ import android.widget.TextView;
import androidx.test.filters.SmallTest;
import com.android.keyguard.CarrierTextManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.connectivity.IconState;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
@@ -80,7 +79,6 @@ public class QSCarrierGroupControllerTest extends LeakCheckedTest {
@Mock
private QSCarrier mQSCarrier3;
private TestableLooper mTestableLooper;
@Mock private FeatureFlags mFeatureFlags;
@Mock
private QSCarrierGroupController.OnSingleCarrierChangedListener mOnSingleCarrierChangedListener;
@@ -120,7 +118,7 @@ public class QSCarrierGroupControllerTest extends LeakCheckedTest {
mQSCarrierGroupController = new QSCarrierGroupController.Builder(
mActivityStarter, handler, TestableLooper.get(this).getLooper(),
mNetworkController, mCarrierTextControllerBuilder, mContext, mCarrierConfigTracker,
mFeatureFlags, mSlotIndexResolver)
mSlotIndexResolver)
.setQSCarrierGroup(mQSCarrierGroup)
.build();

View File

@@ -22,13 +22,11 @@ import static org.junit.Assert.assertTrue;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.util.FeatureFlagUtils;
import android.view.LayoutInflater;
import android.view.View;
import androidx.test.filters.SmallTest;
import com.android.settingslib.graph.SignalDrawable;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
@@ -59,14 +57,14 @@ public class QSCarrierTest extends SysuiTestCase {
@Test
public void testUpdateState_first() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
assertTrue(mQSCarrier.updateState(c, false));
}
@Test
public void testUpdateState_same() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
assertTrue(mQSCarrier.updateState(c, false));
assertFalse(mQSCarrier.updateState(c, false));
@@ -74,7 +72,7 @@ public class QSCarrierTest extends SysuiTestCase {
@Test
public void testUpdateState_changed() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
assertTrue(mQSCarrier.updateState(c, false));
@@ -85,14 +83,14 @@ public class QSCarrierTest extends SysuiTestCase {
@Test
public void testUpdateState_singleCarrier_first() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
assertTrue(mQSCarrier.updateState(c, true));
}
@Test
public void testUpdateState_singleCarrier_noShowIcon() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
mQSCarrier.updateState(c, true);
@@ -101,7 +99,7 @@ public class QSCarrierTest extends SysuiTestCase {
@Test
public void testUpdateState_multiCarrier_showIcon() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
mQSCarrier.updateState(c, false);
@@ -110,7 +108,7 @@ public class QSCarrierTest extends SysuiTestCase {
@Test
public void testUpdateState_changeSingleMultiSingle() {
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false, false);
CellSignalState c = new CellSignalState(true, mSignalIconId, "", "", false);
mQSCarrier.updateState(c, true);
assertEquals(View.GONE, mQSCarrier.getRSSIView().getVisibility());

View File

@@ -70,8 +70,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.log.LogBuffer;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
@@ -127,7 +125,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
protected CarrierConfigTracker mCarrierConfigTracker;
protected FakeExecutor mFakeExecutor = new FakeExecutor(new FakeSystemClock());
protected Handler mMainHandler;
protected FeatureFlags mFeatureFlags;
protected WifiStatusTrackerFactory mWifiStatusTrackerFactory;
protected MobileSignalControllerFactory mMobileFactory;
@@ -159,9 +156,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
@Before
public void setUp() throws Exception {
mFeatureFlags = mock(FeatureFlags.class);
when(mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)).thenReturn(false);
mInstrumentation = InstrumentationRegistry.getInstrumentation();
Settings.Global.putInt(mContext.getContentResolver(), Global.AIRPLANE_MODE_ON, 0);
TestableResources res = mContext.getOrCreateTestableResources();
@@ -228,8 +222,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
mMobileFactory = new MobileSignalControllerFactory(
mContext,
mCallbackHandler,
mCarrierConfigTracker,
mFeatureFlags
mCarrierConfigTracker
);
mNetworkController = new NetworkControllerImpl(mContext,
@@ -252,7 +245,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
mWifiStatusTrackerFactory,
mMobileFactory,
mMainHandler,
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class)
);
@@ -446,10 +438,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
updateSignalStrength();
}
public void setImsType(int imsType) {
mMobileSignalController.setImsType(imsType);
}
public void setIsGsm(boolean gsm) {
when(mSignalStrength.isGsm()).thenReturn(gsm);
updateSignalStrength();

View File

@@ -147,7 +147,6 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
mWifiStatusTrackerFactory,
mMobileFactory,
new Handler(TestableLooper.get(this).getLooper()),
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class));
setupNetworkController();

View File

@@ -87,7 +87,6 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
mWifiStatusTrackerFactory,
mMobileFactory,
mMainHandler,
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class)
);
@@ -124,7 +123,6 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
mWifiStatusTrackerFactory,
mMobileFactory,
mMainHandler,
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class));
TestableLooper.get(this).processAllMessages();
@@ -159,7 +157,6 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
mWifiStatusTrackerFactory,
mMobileFactory,
mMainHandler,
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class));
setupNetworkController();
@@ -197,7 +194,6 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
mWifiStatusTrackerFactory,
mMobileFactory,
mMainHandler,
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class));
mNetworkController.registerListeners();
@@ -283,7 +279,6 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
mWifiStatusTrackerFactory,
mMobileFactory,
mMainHandler,
mFeatureFlags,
mock(DumpManager.class),
mock(LogBuffer.class));
setupNetworkController();

View File

@@ -30,7 +30,6 @@ import android.net.NetworkInfo;
import android.net.vcn.VcnTransportInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.telephony.CellSignalStrength;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper;
@@ -285,44 +284,6 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
verifyLastMobileDataIndicatorsForVcn(false, 1, 0, false);
}
@Test
public void testCallStrengh() {
if (true) return;
String testSsid = "Test SSID";
setWifiEnabled(true);
setWifiState(true, testSsid);
// Set the ImsType to be IMS_TYPE_WLAN
setImsType(2);
setWifiLevel(1);
for (int testLevel = 0; testLevel < WifiIcons.WIFI_LEVEL_COUNT; testLevel++) {
setWifiLevel(testLevel);
verifyLastCallStrength(TelephonyIcons.WIFI_CALL_STRENGTH_ICONS[testLevel]);
}
// Set the ImsType to be IMS_TYPE_WWAN
setImsType(1);
setupDefaultSignal();
for (int testStrength = 0;
testStrength < CellSignalStrength.getNumSignalStrengthLevels(); testStrength++) {
setLevel(testStrength);
verifyLastCallStrength(TelephonyIcons.MOBILE_CALL_STRENGTH_ICONS[testStrength]);
}
}
@Test
public void testNonPrimaryWiFi() {
if (true) return;
String testSsid = "Test SSID";
setWifiEnabled(true);
setWifiState(true, testSsid);
// Set the ImsType to be IMS_TYPE_WLAN
setImsType(2);
setWifiLevel(1);
verifyLastCallStrength(TelephonyIcons.WIFI_CALL_STRENGTH_ICONS[1]);
when(mWifiInfo.isPrimary()).thenReturn(false);
setWifiLevel(3);
verifyLastCallStrength(TelephonyIcons.WIFI_CALL_STRENGTH_ICONS[1]);
}
protected void setWifiActivity(int activity) {
// TODO: Not this, because this variable probably isn't sticking around.
mNetworkController.mWifiSignalController.setActivity(activity);