diff options
25 files changed, 241 insertions, 643 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java index 1a08366734bc..b416738ade4a 100644 --- a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java @@ -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)) { diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.java b/packages/SystemUI/src/com/android/systemui/flags/Flags.java index 9fb29fc4ab99..7e88946cb8c3 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.java +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.java @@ -145,9 +145,6 @@ public class Flags { /***************************************/ // 600- status bar - public static final BooleanFlag COMBINED_STATUS_BAR_SIGNAL_ICONS = - new BooleanFlag(601, false); - public static final ResourceBooleanFlag STATUS_BAR_USER_SWITCHER = new ResourceBooleanFlag(602, R.bool.flag_user_switcher_chip); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java index ec0d0811ee76..eeb1010693fc 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java @@ -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)); diff --git a/packages/SystemUI/src/com/android/systemui/qs/carrier/CellSignalState.kt b/packages/SystemUI/src/com/android/systemui/qs/carrier/CellSignalState.kt index 2dac63905524..e925b5472c27 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/carrier/CellSignalState.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/carrier/CellSignalState.kt @@ -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) } -}
\ No newline at end of file +} diff --git a/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrier.java b/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrier.java index 592da6554b90..703b95a082dc 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrier.java +++ b/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrier.java @@ -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; } diff --git a/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java b/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java index 209d09d0f907..6a8bf759a849 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java @@ -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,91 +100,12 @@ 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) { for (int i = 0; i < SIM_SLOTS; i++) { @@ -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); } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java index f1fdae7db482..3c8775d01e2d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java @@ -778,7 +778,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi return; } - mTelephonyManager.setDataEnabled(enabled); + mTelephonyManager.setDataEnabledForReason( + TelephonyManager.DATA_ENABLED_REASON_USER, enabled); if (disableOtherSubscriptions) { final List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(); diff --git a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt index 5793105e481e..0f9ac360cbe1 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt @@ -264,14 +264,8 @@ class LargeScreenShadeHeaderController @Inject constructor( Utils.getColorAttrDefaultColor(header.context, android.R.attr.textColorPrimary) ) - carrierIconSlots = if (featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) { - listOf( - header.context.getString(com.android.internal.R.string.status_bar_no_calling), - header.context.getString(com.android.internal.R.string.status_bar_call_strength) - ) - } else { + carrierIconSlots = listOf(header.context.getString(com.android.internal.R.string.status_bar_mobile)) - } qsCarrierGroupController = qsCarrierGroupControllerBuilder .setQSCarrierGroup(qsCarrierGroup) .build() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java index 3013ad0070a0..a57d849b24fa 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java @@ -61,21 +61,19 @@ public class StatusBarMobileView extends FrameLayout implements DarkReceiver, private int mVisibleState = -1; private DualToneHandler mDualToneHandler; private boolean mForceHidden; - private boolean mProviderModel; /** * Designated constructor */ public static StatusBarMobileView fromContext( Context context, - String slot, - boolean providerModel + String slot ) { LayoutInflater inflater = LayoutInflater.from(context); StatusBarMobileView v = (StatusBarMobileView) inflater.inflate(R.layout.status_bar_mobile_signal_group, null); v.setSlot(slot); - v.init(providerModel); + v.init(); v.setVisibleState(STATE_ICON); return v; } @@ -108,17 +106,12 @@ public class StatusBarMobileView extends FrameLayout implements DarkReceiver, outRect.bottom += translationY; } - private void init(boolean providerModel) { - mProviderModel = providerModel; + private void init() { mDualToneHandler = new DualToneHandler(getContext()); mMobileGroup = findViewById(R.id.mobile_group); mMobile = findViewById(R.id.mobile_signal); mMobileType = findViewById(R.id.mobile_type); - if (mProviderModel) { - mMobileRoaming = findViewById(R.id.mobile_roaming_large); - } else { - mMobileRoaming = findViewById(R.id.mobile_roaming); - } + mMobileRoaming = findViewById(R.id.mobile_roaming); mMobileRoamingSpace = findViewById(R.id.mobile_roaming_space); mIn = findViewById(R.id.mobile_in); mOut = findViewById(R.id.mobile_out); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/CallbackHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/CallbackHandler.java index 6914ae67f4ba..163878004177 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/CallbackHandler.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/CallbackHandler.java @@ -21,6 +21,7 @@ import android.os.Message; import android.telephony.SubscriptionInfo; import com.android.internal.annotations.VisibleForTesting; +import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.statusbar.connectivity.NetworkController.EmergencyListener; @@ -36,6 +37,7 @@ import javax.inject.Inject; * Implements network listeners and forwards the calls along onto other listeners but on * the current or specified Looper. */ +@SysUISingleton public class CallbackHandler extends Handler implements EmergencyListener, SignalCallback { private static final String TAG = "CallbackHandler"; private static final int MSG_EMERGENCE_CHANGED = 0; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java index f2014e9deb72..ec221b7eccc0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java @@ -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,33 +60,22 @@ 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 - MobileStatusTracker mMobileStatusTracker; + final MobileStatusTracker mMobileStatusTracker; // Save the previous STATUS_HISTORY_SIZE states for logging. private final String[] mMobileStatusHistory = new String[STATUS_HISTORY_SIZE]; @@ -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,7 +125,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile SubscriptionDefaults defaults, Looper receiverLooper, CarrierConfigTracker carrierConfigTracker, - FeatureFlags featureFlags + MobileStatusTrackerFactory mobileStatusTrackerFactory ) { super("MobileSignalController(" + info.getSubscriptionId() + ")", context, NetworkCapabilities.TRANSPORT_CELLULAR, callbackHandler, @@ -206,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); @@ -223,10 +155,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile updateTelephony(); } }; - mImsMmTelManager = ImsMmTelManager.createForSubscriptionId(info.getSubscriptionId()); - mMobileStatusTracker = new MobileStatusTracker(mPhone, receiverLooper, - info, mDefaults, mMobileCallback); - mProviderModelBehavior = featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS); + mMobileStatusTracker = mobileStatusTrackerFactory.createTracker(mMobileCallback); } 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; - - 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); + IconState 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; + } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalControllerFactory.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalControllerFactory.kt new file mode 100644 index 000000000000..793817948803 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalControllerFactory.kt @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.systemui.statusbar.connectivity + +import android.content.Context +import android.os.Looper +import android.telephony.SubscriptionInfo +import android.telephony.TelephonyManager +import com.android.settingslib.mobile.MobileMappings +import com.android.settingslib.mobile.MobileStatusTracker +import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.util.CarrierConfigTracker +import javax.inject.Inject + +/** + * Factory to make MobileSignalController injectable + */ +@SysUISingleton +internal class MobileSignalControllerFactory @Inject constructor( + val context: Context, + val callbackHandler: CallbackHandler, + val carrierConfigTracker: CarrierConfigTracker, +) { + fun createMobileSignalController( + config: MobileMappings.Config, + hasMobileData: Boolean, + phone: TelephonyManager, + networkController: NetworkControllerImpl, + subscriptionInfo: SubscriptionInfo, + subscriptionDefaults: MobileStatusTracker.SubscriptionDefaults, + receiverLooper: Looper, + ): MobileSignalController { + val mobileTrackerFactory = MobileStatusTrackerFactory( + phone, + receiverLooper, + subscriptionInfo, + subscriptionDefaults) + + return MobileSignalController( + context, + config, + hasMobileData, + phone, + callbackHandler, + networkController, + subscriptionInfo, + subscriptionDefaults, + receiverLooper, + carrierConfigTracker, + mobileTrackerFactory, + ) + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileStatusTrackerFactory.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileStatusTrackerFactory.kt new file mode 100644 index 000000000000..a4c1a1989933 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileStatusTrackerFactory.kt @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.systemui.statusbar.connectivity + +import android.os.Looper +import android.telephony.SubscriptionInfo +import android.telephony.TelephonyManager +import com.android.settingslib.mobile.MobileStatusTracker + +/** + * Factory for [MobileStatusTracker], which lives in SettingsLib + */ +class MobileStatusTrackerFactory ( + val phone: TelephonyManager, + val receiverLooper: Looper, + val info: SubscriptionInfo, + val defaults: MobileStatusTracker.SubscriptionDefaults, +) { + fun createTracker( + callback: MobileStatusTracker.Callback + ): MobileStatusTracker { + return MobileStatusTracker( + phone, + receiverLooper, + info, + defaults, + callback) + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java index a1dc7b41d42b..b3dd853cd2e1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java @@ -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,12 +132,11 @@ 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; private TelephonyCallback.ActiveDataSubscriptionIdListener mPhoneStateListener; private int mActiveMobileDataSubscription = SubscriptionManager.INVALID_SUBSCRIPTION_ID; @@ -235,9 +232,9 @@ public class NetworkControllerImpl extends BroadcastReceiver DemoModeController demoModeController, CarrierConfigTracker carrierConfigTracker, WifiStatusTrackerFactory trackerFactory, + MobileSignalControllerFactory mobileFactory, @Main Handler handler, InternetDialogFactory internetDialogFactory, - FeatureFlags featureFlags, DumpManager dumpManager, @StatusBarNetworkControllerLog LogBuffer logBuffer) { this(context, connectivityManager, @@ -257,8 +254,8 @@ public class NetworkControllerImpl extends BroadcastReceiver demoModeController, carrierConfigTracker, trackerFactory, + mobileFactory, handler, - featureFlags, dumpManager, logBuffer); mReceiverHandler.post(mRegisterListeners); @@ -283,8 +280,8 @@ public class NetworkControllerImpl extends BroadcastReceiver DemoModeController demoModeController, CarrierConfigTracker carrierConfigTracker, WifiStatusTrackerFactory trackerFactory, + MobileSignalControllerFactory mobileFactory, @Main Handler handler, - FeatureFlags featureFlags, DumpManager dumpManager, LogBuffer logBuffer ) { @@ -298,6 +295,7 @@ public class NetworkControllerImpl extends BroadcastReceiver mCallbackHandler = callbackHandler; mDataSaverController = new DataSaverControllerImpl(context); mBroadcastDispatcher = broadcastDispatcher; + mMobileFactory = mobileFactory; mSubscriptionManager = subManager; mSubDefaults = defaultsHandler; @@ -305,7 +303,6 @@ public class NetworkControllerImpl extends BroadcastReceiver mHasMobileDataFeature = telephonyManager.isDataCapable(); mDemoModeController = demoModeController; mCarrierConfigTracker = carrierConfigTracker; - mFeatureFlags = featureFlags; mDumpManager = dumpManager; mLogBuffer = logBuffer; @@ -457,7 +454,6 @@ public class NetworkControllerImpl extends BroadcastReceiver }; mDemoModeController.addCallback(this); - mProviderModelBehavior = mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS); mDumpManager.registerDumpable(TAG, this); } @@ -498,16 +494,16 @@ public class NetworkControllerImpl extends BroadcastReceiver // broadcasts IntentFilter filter = new IntentFilter(); - filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); + filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); + filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); + filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); + filter.addAction(Intent.ACTION_SERVICE_STATE); filter.addAction(Intent.ACTION_SIM_STATE_CHANGED); + filter.addAction(Settings.Panel.ACTION_INTERNET_CONNECTIVITY); filter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED); filter.addAction(TelephonyManager.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED); - filter.addAction(Intent.ACTION_SERVICE_STATE); filter.addAction(TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED); - filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); - filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); - filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); - filter.addAction(Settings.Panel.ACTION_INTERNET_CONNECTIVITY); + filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); mBroadcastDispatcher.registerReceiverWithHandler(this, filter, mReceiverHandler); mListening = true; @@ -660,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); @@ -746,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); } @@ -863,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(); } @@ -982,11 +958,15 @@ public class NetworkControllerImpl extends BroadcastReceiver mMobileSignalControllers.put(subId, cachedControllers.get(subId)); cachedControllers.remove(subId); } else { - MobileSignalController controller = new MobileSignalController(mContext, mConfig, - mHasMobileDataFeature, mPhone.createForSubscriptionId(subId), - mCallbackHandler, this, subscriptions.get(i), - mSubDefaults, mReceiverHandler.getLooper(), mCarrierConfigTracker, - mFeatureFlags); + MobileSignalController controller = mMobileFactory.createMobileSignalController( + mConfig, + mHasMobileDataFeature, + mPhone.createForSubscriptionId(subId), + this, + subscriptions.get(i), + mSubDefaults, + mReceiverHandler.getLooper() + ); controller.setUserSetupComplete(mUserSetup); mMobileSignalControllers.put(subId, controller); if (subscriptions.get(i).getSimSlotIndex() == 0) { @@ -1140,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); } /** @@ -1347,7 +1314,7 @@ public class NetworkControllerImpl extends BroadcastReceiver mMobileSignalControllers.clear(); int start = mSubscriptionManager.getActiveSubscriptionInfoCountMax(); for (int i = start /* get out of normal index range */; i < start + num; i++) { - subs.add(addSignalController(i, i)); + subs.add(addDemoModeSignalController(i, i)); } mCallbackHandler.setSubs(subs); for (int i = 0; i < mMobileSignalControllers.size(); i++) { @@ -1373,7 +1340,7 @@ public class NetworkControllerImpl extends BroadcastReceiver List<SubscriptionInfo> subs = new ArrayList<>(); while (mMobileSignalControllers.size() <= slot) { int nextSlot = mMobileSignalControllers.size(); - subs.add(addSignalController(nextSlot, nextSlot)); + subs.add(addDemoModeSignalController(nextSlot, nextSlot)); } if (!subs.isEmpty()) { mCallbackHandler.setSubs(subs); @@ -1463,14 +1430,20 @@ public class NetworkControllerImpl extends BroadcastReceiver mHistoryIndex = (mHistoryIndex + 1) % HISTORY_SIZE; } - private SubscriptionInfo addSignalController(int id, int simSlotIndex) { + private SubscriptionInfo addDemoModeSignalController(int id, int simSlotIndex) { SubscriptionInfo info = new SubscriptionInfo(id, "", simSlotIndex, "", "", 0, 0, "", 0, null, null, null, "", false, null, null); - MobileSignalController controller = new MobileSignalController(mContext, - mConfig, mHasMobileDataFeature, - mPhone.createForSubscriptionId(info.getSubscriptionId()), mCallbackHandler, this, - info, mSubDefaults, mReceiverHandler.getLooper(), mCarrierConfigTracker, - mFeatureFlags); + + MobileSignalController controller = mMobileFactory.createMobileSignalController( + mConfig, + mHasMobileDataFeature, + mPhone.createForSubscriptionId(info.getSubscriptionId()), + this, + info, + mSubDefaults, + mReceiverHandler.getLooper() + ); + mMobileSignalControllers.put(id, controller); controller.getState().userSetup = true; return info; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java index 87cdb17245f5..12f2c22ab86a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java @@ -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) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java index 6dbbf0d53246..fc8e7d5f6aa2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java @@ -30,7 +30,6 @@ import com.android.internal.statusbar.StatusBarIcon; import com.android.systemui.R; import com.android.systemui.demomode.DemoMode; import com.android.systemui.flags.FeatureFlags; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.StatusBarIconView; @@ -255,9 +254,7 @@ public class DemoStatusIcons extends StatusIconContainer implements DemoMode, Da public void addMobileView(MobileIconState state) { Log.d(TAG, "addMobileView: "); - StatusBarMobileView view = StatusBarMobileView.fromContext( - mContext, state.slot, - mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)); + StatusBarMobileView view = StatusBarMobileView.fromContext(mContext, state.slot); view.applyMobileState(state); view.setStaticDrawableColor(mColor); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java index 31d9266057da..30b640b583e6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java @@ -38,7 +38,6 @@ import com.android.systemui.R; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.demomode.DemoModeCommandReceiver; import com.android.systemui.flags.FeatureFlags; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.StatusBarIconView; @@ -361,9 +360,7 @@ public interface StatusBarIconController { } private StatusBarMobileView onCreateStatusBarMobileView(String slot) { - StatusBarMobileView view = StatusBarMobileView.fromContext( - mContext, slot, - mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)); + StatusBarMobileView view = StatusBarMobileView.fromContext(mContext, slot); return view; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java index ee242a4b1b75..492734e93dca 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java @@ -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); @@ -378,40 +373,6 @@ public class StatusBarSignalPolicy implements SignalCallback, } @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; int resId = state.icon; diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt index 07c8af953d1e..be14cc51ef96 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt @@ -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>>() @@ -174,20 +172,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() reset(view) diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierGroupControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierGroupControllerTest.java index 09ce37b4ac62..1e7722ae8395 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierGroupControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierGroupControllerTest.java @@ -44,7 +44,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; @@ -88,7 +87,6 @@ public class QSCarrierGroupControllerTest extends LeakCheckedTest { @Mock private QSCarrier mQSCarrier3; private TestableLooper mTestableLooper; - @Mock private FeatureFlags mFeatureFlags; @Mock private QSCarrierGroupController.OnSingleCarrierChangedListener mOnSingleCarrierChangedListener; @@ -130,7 +128,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(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierTest.java index 5212255078fc..99a17a613041 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/carrier/QSCarrierTest.java @@ -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()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java index 0d1879cb2593..f8a0d2fc415c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java @@ -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,8 +125,8 @@ 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; protected int mSubId; @@ -158,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(); @@ -224,6 +219,11 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mWifiStatusTrackerFactory = new WifiStatusTrackerFactory( mContext, mMockWm, mMockNsm, mMockCm, mMainHandler); + mMobileFactory = new MobileSignalControllerFactory( + mContext, + mCallbackHandler, + mCarrierConfigTracker + ); mNetworkController = new NetworkControllerImpl(mContext, mMockCm, @@ -243,8 +243,8 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mDemoModeController, mCarrierConfigTracker, mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class) ); @@ -438,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(); @@ -637,5 +633,4 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected void assertDataNetworkNameEquals(String expected) { assertEquals("Data network name", expected, mNetworkController.getMobileDataNetworkName()); } - } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerDataTest.java index e3dd6f4e6e40..ed8a3e16cdd1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerDataTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerDataTest.java @@ -145,8 +145,8 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, new Handler(TestableLooper.get(this).getLooper()), - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class)); setupNetworkController(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java index 698899a8fc36..a76676e01c15 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java @@ -85,8 +85,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mCarrierConfigTracker, mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class) ); @@ -121,8 +121,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mCarrierConfigTracker, mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class)); TestableLooper.get(this).processAllMessages(); @@ -155,8 +155,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class)); setupNetworkController(); @@ -192,8 +192,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class)); mNetworkController.registerListeners(); @@ -277,8 +277,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, - mFeatureFlags, mock(DumpManager.class), mock(LogBuffer.class)); setupNetworkController(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java index 3f7149159247..68170ea4b518 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java @@ -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); |