From 4e659ec2bd985fd25d40f3dea357c2e4a35b8999 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Fri, 29 Jul 2022 03:33:00 +0000 Subject: [PATCH 1/6] Revert^2 "Add an @Inject-able MobileSignalControllerFactory" This is step (1/n) towards refactoring the networking iconography stack in sysui. This change moves the creation of the MobileSignalController to an injectable factory as a precursor to reducing the dependencies between NetworkControllerImpl and its managed subcontrollers. Test: atest SystemUITests Bug: 238425913 b1971c7747b58a049761137898e424c925347c9c Change-Id: I81119853a2cc97c7a69af78fab382fd0e4201dd8 --- .../connectivity/CallbackHandler.java | 2 + .../MobileSignalControllerFactory.kt | 62 +++++++++++++++++++ .../connectivity/NetworkControllerImpl.java | 41 ++++++++---- .../NetworkControllerBaseTest.java | 9 ++- .../NetworkControllerDataTest.java | 1 + .../NetworkControllerSignalTest.java | 5 ++ 6 files changed, 106 insertions(+), 14 deletions(-) create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalControllerFactory.kt 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 6914ae67f4bac..1638780041772 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/MobileSignalControllerFactory.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalControllerFactory.kt new file mode 100644 index 0000000000000..36155210e09c1 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalControllerFactory.kt @@ -0,0 +1,62 @@ +/* + * 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.flags.FeatureFlags +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, + val featureFlags: FeatureFlags, +) { + fun createMobileSignalController( + config: MobileMappings.Config, + hasMobileData: Boolean, + phone: TelephonyManager, + networkController: NetworkControllerImpl, // TODO: no! + subscriptionInfo: SubscriptionInfo, + subscriptionDefaults: MobileStatusTracker.SubscriptionDefaults, + receiverLooper: Looper // TODO: no! + ): MobileSignalController { + return MobileSignalController( + context, + config, + hasMobileData, + phone, + callbackHandler, + networkController, + subscriptionInfo, + subscriptionDefaults, + receiverLooper, + carrierConfigTracker, + featureFlags, + ) + } +} 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 a1dc7b41d42bf..8a84ba12fa1cc 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java @@ -140,6 +140,7 @@ public class NetworkControllerImpl extends BroadcastReceiver 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,6 +236,7 @@ public class NetworkControllerImpl extends BroadcastReceiver DemoModeController demoModeController, CarrierConfigTracker carrierConfigTracker, WifiStatusTrackerFactory trackerFactory, + MobileSignalControllerFactory mobileFactory, @Main Handler handler, InternetDialogFactory internetDialogFactory, FeatureFlags featureFlags, @@ -257,6 +259,7 @@ public class NetworkControllerImpl extends BroadcastReceiver demoModeController, carrierConfigTracker, trackerFactory, + mobileFactory, handler, featureFlags, dumpManager, @@ -283,6 +286,7 @@ public class NetworkControllerImpl extends BroadcastReceiver DemoModeController demoModeController, CarrierConfigTracker carrierConfigTracker, WifiStatusTrackerFactory trackerFactory, + MobileSignalControllerFactory mobileFactory, @Main Handler handler, FeatureFlags featureFlags, DumpManager dumpManager, @@ -298,6 +302,7 @@ public class NetworkControllerImpl extends BroadcastReceiver mCallbackHandler = callbackHandler; mDataSaverController = new DataSaverControllerImpl(context); mBroadcastDispatcher = broadcastDispatcher; + mMobileFactory = mobileFactory; mSubscriptionManager = subManager; mSubDefaults = defaultsHandler; @@ -982,11 +987,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) { @@ -1347,7 +1356,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 +1382,7 @@ public class NetworkControllerImpl extends BroadcastReceiver List 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 +1472,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/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java index 0d1879cb25939..8808502ba0df3 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 @@ -129,6 +129,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected Handler mMainHandler; protected FeatureFlags mFeatureFlags; protected WifiStatusTrackerFactory mWifiStatusTrackerFactory; + protected MobileSignalControllerFactory mMobileFactory; protected int mSubId; @@ -224,6 +225,12 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mWifiStatusTrackerFactory = new WifiStatusTrackerFactory( mContext, mMockWm, mMockNsm, mMockCm, mMainHandler); + mMobileFactory = new MobileSignalControllerFactory( + mContext, + mCallbackHandler, + mCarrierConfigTracker, + mFeatureFlags + ); mNetworkController = new NetworkControllerImpl(mContext, mMockCm, @@ -243,6 +250,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mDemoModeController, mCarrierConfigTracker, mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, mFeatureFlags, mock(DumpManager.class), @@ -637,5 +645,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 e3dd6f4e6e406..f3edef434ed4c 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,6 +145,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, new Handler(TestableLooper.get(this).getLooper()), mFeatureFlags, mock(DumpManager.class), 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 698899a8fc36f..f60b6d1997be0 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,6 +85,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mCarrierConfigTracker, mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, mFeatureFlags, mock(DumpManager.class), @@ -121,6 +122,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mCarrierConfigTracker, mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, mFeatureFlags, mock(DumpManager.class), @@ -155,6 +157,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, mFeatureFlags, mock(DumpManager.class), @@ -192,6 +195,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, mFeatureFlags, mock(DumpManager.class), @@ -277,6 +281,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { mDemoModeController, mock(CarrierConfigTracker.class), mWifiStatusTrackerFactory, + mMobileFactory, mMainHandler, mFeatureFlags, mock(DumpManager.class), From a9cfa5bd91ac21d7376abe251c8cd02a16c08ed4 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Fri, 29 Jul 2022 03:33:00 +0000 Subject: [PATCH 2/6] Revert^2 "[Cleanup] Order NetworkController's intent filters" There are 10 intent filters here. This CL just alphabetizes them so they are more easy to parse visually. Test: compile Bug: 238425913 40f9d90bc607194ab0bd05b2442deb30b7b36fb8 Change-Id: I97b86ab8984530600b87635596dc7350d5e0991a --- .../connectivity/NetworkControllerImpl.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 8a84ba12fa1cc..6be347b55bc51 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java @@ -503,16 +503,16 @@ public class NetworkControllerImpl extends BroadcastReceiver // broadcasts IntentFilter filter = new IntentFilter(); - filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); - filter.addAction(Intent.ACTION_SIM_STATE_CHANGED); - 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(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); - filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_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(TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED); + filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); mBroadcastDispatcher.registerReceiverWithHandler(this, filter, mReceiverHandler); mListening = true; From 080af92a91e6e8d6e0fc6093572576766c192a46 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Fri, 29 Jul 2022 03:33:00 +0000 Subject: [PATCH 3/6] Revert^2 "Change from deprecated telephony api" TelephonyManager#setDataEnabled() is deprecated in favor of TelephonyManager#setDataEnabled(int Reason, boolean enabled). This change updates the call to the recommended one. Test: atest SystemUITests Bug: 238425913 9d7f532671abb5f3290828e0da4e948a8ac092ca Change-Id: Ia68410314fd82cfed127d118a43a186870922c6c --- .../systemui/qs/tiles/dialog/InternetDialogController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 f1fdae7db4825..3c8775d01e2d6 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 subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(); From 14b52cb783bed2b54bce3a03206a9e4f939ca277 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Fri, 29 Jul 2022 03:33:00 +0000 Subject: [PATCH 4/6] Revert^2 "Create a MobileStatusTrackerFactory" Enables injecting the MobileStatusTracker via a factory class. Test: atest SystemUITests Bug: 238425913 d611126474130e657ab8f70e91c861a40b80f86c Change-Id: Iafd9bfcd7e8346350e1a861920957bb600c15a4e --- .../connectivity/MobileSignalController.java | 6 +-- .../MobileSignalControllerFactory.kt | 7 ++++ .../MobileStatusTrackerFactory.kt | 42 +++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileStatusTrackerFactory.kt 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 9d8667a3ccb08..f3dedc4e0d6ee 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java @@ -96,7 +96,7 @@ public class MobileSignalController extends SignalController Date: Thu, 28 Jul 2022 23:38:49 -0400 Subject: [PATCH 5/6] Revert^2 "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 6a9d2b06aadc7858fff5d775425b8da28ec44fcc Change-Id: Ib959707632d55373cda1c8d6c5c0d215e27891f9 --- .../mobile/MobileStatusTracker.java | 7 + .../qs/QuickStatusBarHeaderController.java | 15 +- .../systemui/qs/carrier/CellSignalState.kt | 3 +- .../systemui/qs/carrier/QSCarrier.java | 48 ++- .../qs/carrier/QSCarrierGroupController.java | 109 +------ .../connectivity/MobileSignalController.java | 290 ++---------------- .../MobileSignalControllerFactory.kt | 7 +- .../connectivity/NetworkControllerImpl.java | 52 +--- .../connectivity/WifiSignalController.java | 5 - .../phone/StatusBarSignalPolicy.java | 41 +-- .../qs/QuickStatusBarHeaderControllerTest.kt | 18 +- .../carrier/QSCarrierGroupControllerTest.java | 4 +- .../systemui/qs/carrier/QSCarrierTest.java | 16 +- .../NetworkControllerBaseTest.java | 14 +- .../NetworkControllerDataTest.java | 1 - .../NetworkControllerSignalTest.java | 5 - .../NetworkControllerWifiTest.java | 39 --- 17 files changed, 76 insertions(+), 598 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java index 1a08366734bcd..b416738ade4aa 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/qs/QuickStatusBarHeaderController.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java index ec0d0811ee760..eeb1010693fca 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 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 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 2dac639055240..e925b5472c27b 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 592da6554b906..703b95a082dc8 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 6908e5ab49e6a..cb76ee2bb6a1c 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,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); } } 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 f3dedc4e0d6ee..5cf1abc18274e 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,31 +60,20 @@ import java.util.Map; public class MobileSignalController extends SignalController { 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 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 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 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/StatusBarSignalPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java index ee242a4b1b751..492734e93dcac 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); @@ -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; 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 07c8af953d1e1..be14cc51ef969 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>() @@ -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>() - 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() 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 bd794d6813ec2..1963e30e741e1 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 @@ -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(); 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 5212255078fc8..99a17a613041e 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 8808502ba0df3..f8a0d2fc415c0 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,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(); 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 f3edef434ed4c..ed8a3e16cdd14 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 @@ -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(); 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 f60b6d1997be0..a76676e01c150 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 @@ -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(); 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 3f71491592477..68170ea4b518e 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); From 36928c0838041c05d50e5effea1b83eb59080800 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Fri, 29 Jul 2022 10:48:16 -0400 Subject: [PATCH 6/6] Remove remaining references to COMBINED_STATUS_BAR_SIGNAL_FLAGS The previous CL removes all implementationso f the provider model combined iconography + call strength policy from the signal controllers. This CL removes the remaining handful of references fo the flag which could change some of our layouts. Test: atest SystemUITests Test: manual Bug: 238873748 Change-Id: If36675acbea5c2f1f250fd526a0877e2a59fb3f3 --- .../src/com/android/systemui/flags/Flags.java | 3 --- .../shade/LargeScreenShadeHeaderController.kt | 8 +------- .../systemui/statusbar/StatusBarMobileView.java | 15 ++++----------- .../systemui/statusbar/phone/DemoStatusIcons.java | 5 +---- .../statusbar/phone/StatusBarIconController.java | 5 +---- 5 files changed, 7 insertions(+), 29 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.java b/packages/SystemUI/src/com/android/systemui/flags/Flags.java index 958a2192d1596..0aad23c1c70b1 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.java +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.java @@ -139,9 +139,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/shade/LargeScreenShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt index 5793105e481ed..0f9ac360cbe1f 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 3013ad0070a00..a57d849b24faa 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/phone/DemoStatusIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java index 6dbbf0d532465..fc8e7d5f6aa2a 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 31d9266057da2..30b640b583e6d 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; }