Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentController.java +6 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ import com.android.systemui.qs.flags.QsWifiConfig; import com.android.systemui.res.R; import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.connectivity.AccessPointController; import com.android.systemui.statusbar.pipeline.StatusBarInflateCarrierMerged; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.toast.SystemUIToast; Loading Loading @@ -592,6 +593,11 @@ public class InternetDetailsContentController implements AccessPointController.A if (isCarrierNetworkActive) { level = getCarrierNetworkLevel(); numLevels = WifiEntry.WIFI_LEVEL_MAX + 1; if (StatusBarInflateCarrierMerged.isEnabled() && mCarrierConfigTracker.getInflateSignalStrengthBool(subId)) { level += 1; numLevels += 1; } } else if (mSubscriptionManager != null && shouldInflateSignalStrength(subId)) { level += 1; numLevels += 1; Loading packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java +25 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ public class CarrierConfigTracker private final SparseBooleanArray mNoCallingConfigs = new SparseBooleanArray(); private final SparseBooleanArray mCarrierProvisionsWifiMergedNetworks = new SparseBooleanArray(); private final SparseBooleanArray mInflateSignalStrength = new SparseBooleanArray(); private final SparseBooleanArray mShowOperatorNameConfigs = new SparseBooleanArray(); private final CarrierConfigManager mCarrierConfigManager; private final Set<CarrierConfigChangedListener> mListeners = new ArraySet<>(); Loading @@ -62,6 +63,8 @@ public class CarrierConfigTracker new ArraySet<>(); private boolean mDefaultCarrierProvisionsWifiMergedNetworksLoaded; private boolean mDefaultCarrierProvisionsWifiMergedNetworks; private boolean mDefaultInflateSignalStrengthLoaded; private boolean mDefaultInflateSignalStrength; private boolean mDefaultShowOperatorNameConfigLoaded; private boolean mDefaultShowOperatorNameConfig; private boolean mDefaultAlwaysShowPrimarySignalBarInOpportunisticNetworkConfigLoaded; Loading Loading @@ -116,6 +119,10 @@ public class CarrierConfigTracker mCarrierProvisionsWifiMergedNetworks.put(subId, config.getBoolean( CarrierConfigManager.KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL)); } synchronized (mInflateSignalStrength) { mInflateSignalStrength.put(subId, config.getBoolean( CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL)); } synchronized (mShowOperatorNameConfigs) { mShowOperatorNameConfigs.put(subId, config.getBoolean( CarrierConfigManager.KEY_SHOW_OPERATOR_NAME_IN_STATUSBAR_BOOL)); Loading Loading @@ -159,6 +166,24 @@ public class CarrierConfigTracker return mDefaultCarrierProvisionsWifiMergedNetworks; } /** * Returns the KEY_INFLATE_SIGNAL_STRENGTH_BOOL value for the given subId. */ public boolean getInflateSignalStrengthBool(int subId) { synchronized (mInflateSignalStrength) { if (mInflateSignalStrength.indexOfKey(subId) >= 0) { return mInflateSignalStrength.get(subId); } } if (!mDefaultInflateSignalStrengthLoaded) { mDefaultInflateSignalStrength = CarrierConfigManager.getDefaultConfig().getBoolean( CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL); mDefaultInflateSignalStrengthLoaded = true; } return mDefaultInflateSignalStrength; } /** * Returns the KEY_SHOW_OPERATOR_NAME_IN_STATUSBAR_BOOL value for the default config */ Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentControllerTest.java +36 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import android.net.NetworkCapabilities; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Handler; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; Loading Loading @@ -75,6 +77,7 @@ import com.android.systemui.flags.Flags; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.res.R; import com.android.systemui.statusbar.connectivity.AccessPointController; import com.android.systemui.statusbar.pipeline.StatusBarInflateCarrierMerged; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.toast.SystemUIToast; Loading Loading @@ -1024,6 +1027,7 @@ public class InternetDetailsContentControllerTest extends SysuiTestCase { } @Test @DisableFlags(StatusBarInflateCarrierMerged.FLAG_NAME) public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierNetworkLevel() { // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); Loading @@ -1037,6 +1041,38 @@ public class InternetDetailsContentControllerTest extends SysuiTestCase { eq(WIFI_LEVEL_MAX + 1), anyInt(), anyBoolean()); } @Test @EnableFlags(StatusBarInflateCarrierMerged.FLAG_NAME) public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierLevelInflate() { when(mCarrierConfigTracker.getInflateSignalStrengthBool(SUB_ID)).thenReturn(true); // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); // Fake carrier network level as WIFI_LEVEL_MAX(4) when(mInternetDetailsContentController.getCarrierNetworkLevel()).thenReturn(WIFI_LEVEL_MAX); InternetDetailsContentController spyController = spy(mInternetDetailsContentController); spyController.getSignalStrengthDrawableWithLevel(true /* isCarrierNetworkActive */, SUB_ID); verify(spyController).getSignalStrengthIcon(eq(SUB_ID), any(), eq(WIFI_LEVEL_MAX + 1), eq(WIFI_LEVEL_MAX + 2), anyInt(), anyBoolean()); } @Test @DisableFlags(StatusBarInflateCarrierMerged.FLAG_NAME) public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierLevel() { when(mCarrierConfigTracker.getInflateSignalStrengthBool(SUB_ID)).thenReturn(true); // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); // Fake carrier network level as WIFI_LEVEL_MAX(4) when(mInternetDetailsContentController.getCarrierNetworkLevel()).thenReturn(WIFI_LEVEL_MAX); InternetDetailsContentController spyController = spy(mInternetDetailsContentController); spyController.getSignalStrengthDrawableWithLevel(true /* isCarrierNetworkActive */, SUB_ID); verify(spyController).getSignalStrengthIcon(eq(SUB_ID), any(), eq(WIFI_LEVEL_MAX), eq(WIFI_LEVEL_MAX + 1), anyInt(), anyBoolean()); } @Test public void getCarrierNetworkLevel_mergedCarrierEntryIsNull_returnMinLevel() { when(mAccessPointController.getMergedCarrierEntry()).thenReturn(null); Loading Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentController.java +6 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ import com.android.systemui.qs.flags.QsWifiConfig; import com.android.systemui.res.R; import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.connectivity.AccessPointController; import com.android.systemui.statusbar.pipeline.StatusBarInflateCarrierMerged; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.toast.SystemUIToast; Loading Loading @@ -592,6 +593,11 @@ public class InternetDetailsContentController implements AccessPointController.A if (isCarrierNetworkActive) { level = getCarrierNetworkLevel(); numLevels = WifiEntry.WIFI_LEVEL_MAX + 1; if (StatusBarInflateCarrierMerged.isEnabled() && mCarrierConfigTracker.getInflateSignalStrengthBool(subId)) { level += 1; numLevels += 1; } } else if (mSubscriptionManager != null && shouldInflateSignalStrength(subId)) { level += 1; numLevels += 1; Loading
packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java +25 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ public class CarrierConfigTracker private final SparseBooleanArray mNoCallingConfigs = new SparseBooleanArray(); private final SparseBooleanArray mCarrierProvisionsWifiMergedNetworks = new SparseBooleanArray(); private final SparseBooleanArray mInflateSignalStrength = new SparseBooleanArray(); private final SparseBooleanArray mShowOperatorNameConfigs = new SparseBooleanArray(); private final CarrierConfigManager mCarrierConfigManager; private final Set<CarrierConfigChangedListener> mListeners = new ArraySet<>(); Loading @@ -62,6 +63,8 @@ public class CarrierConfigTracker new ArraySet<>(); private boolean mDefaultCarrierProvisionsWifiMergedNetworksLoaded; private boolean mDefaultCarrierProvisionsWifiMergedNetworks; private boolean mDefaultInflateSignalStrengthLoaded; private boolean mDefaultInflateSignalStrength; private boolean mDefaultShowOperatorNameConfigLoaded; private boolean mDefaultShowOperatorNameConfig; private boolean mDefaultAlwaysShowPrimarySignalBarInOpportunisticNetworkConfigLoaded; Loading Loading @@ -116,6 +119,10 @@ public class CarrierConfigTracker mCarrierProvisionsWifiMergedNetworks.put(subId, config.getBoolean( CarrierConfigManager.KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL)); } synchronized (mInflateSignalStrength) { mInflateSignalStrength.put(subId, config.getBoolean( CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL)); } synchronized (mShowOperatorNameConfigs) { mShowOperatorNameConfigs.put(subId, config.getBoolean( CarrierConfigManager.KEY_SHOW_OPERATOR_NAME_IN_STATUSBAR_BOOL)); Loading Loading @@ -159,6 +166,24 @@ public class CarrierConfigTracker return mDefaultCarrierProvisionsWifiMergedNetworks; } /** * Returns the KEY_INFLATE_SIGNAL_STRENGTH_BOOL value for the given subId. */ public boolean getInflateSignalStrengthBool(int subId) { synchronized (mInflateSignalStrength) { if (mInflateSignalStrength.indexOfKey(subId) >= 0) { return mInflateSignalStrength.get(subId); } } if (!mDefaultInflateSignalStrengthLoaded) { mDefaultInflateSignalStrength = CarrierConfigManager.getDefaultConfig().getBoolean( CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL); mDefaultInflateSignalStrengthLoaded = true; } return mDefaultInflateSignalStrength; } /** * Returns the KEY_SHOW_OPERATOR_NAME_IN_STATUSBAR_BOOL value for the default config */ Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentControllerTest.java +36 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import android.net.NetworkCapabilities; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Handler; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; Loading Loading @@ -75,6 +77,7 @@ import com.android.systemui.flags.Flags; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.res.R; import com.android.systemui.statusbar.connectivity.AccessPointController; import com.android.systemui.statusbar.pipeline.StatusBarInflateCarrierMerged; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.toast.SystemUIToast; Loading Loading @@ -1024,6 +1027,7 @@ public class InternetDetailsContentControllerTest extends SysuiTestCase { } @Test @DisableFlags(StatusBarInflateCarrierMerged.FLAG_NAME) public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierNetworkLevel() { // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); Loading @@ -1037,6 +1041,38 @@ public class InternetDetailsContentControllerTest extends SysuiTestCase { eq(WIFI_LEVEL_MAX + 1), anyInt(), anyBoolean()); } @Test @EnableFlags(StatusBarInflateCarrierMerged.FLAG_NAME) public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierLevelInflate() { when(mCarrierConfigTracker.getInflateSignalStrengthBool(SUB_ID)).thenReturn(true); // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); // Fake carrier network level as WIFI_LEVEL_MAX(4) when(mInternetDetailsContentController.getCarrierNetworkLevel()).thenReturn(WIFI_LEVEL_MAX); InternetDetailsContentController spyController = spy(mInternetDetailsContentController); spyController.getSignalStrengthDrawableWithLevel(true /* isCarrierNetworkActive */, SUB_ID); verify(spyController).getSignalStrengthIcon(eq(SUB_ID), any(), eq(WIFI_LEVEL_MAX + 1), eq(WIFI_LEVEL_MAX + 2), anyInt(), anyBoolean()); } @Test @DisableFlags(StatusBarInflateCarrierMerged.FLAG_NAME) public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierLevel() { when(mCarrierConfigTracker.getInflateSignalStrengthBool(SUB_ID)).thenReturn(true); // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); // Fake carrier network level as WIFI_LEVEL_MAX(4) when(mInternetDetailsContentController.getCarrierNetworkLevel()).thenReturn(WIFI_LEVEL_MAX); InternetDetailsContentController spyController = spy(mInternetDetailsContentController); spyController.getSignalStrengthDrawableWithLevel(true /* isCarrierNetworkActive */, SUB_ID); verify(spyController).getSignalStrengthIcon(eq(SUB_ID), any(), eq(WIFI_LEVEL_MAX), eq(WIFI_LEVEL_MAX + 1), anyInt(), anyBoolean()); } @Test public void getCarrierNetworkLevel_mergedCarrierEntryIsNull_returnMinLevel() { when(mAccessPointController.getMergedCarrierEntry()).thenReturn(null); Loading