Move NetworkController & friends to a connectivity package

None of the files have been changed other than moving the package around

Test: atest SystemUITests
Bug: 197851948
Change-Id: I1906761ef4d0f6ab979b8338cc1842b649982d70
This commit is contained in:
Evan Laird
2021-09-23 16:12:17 -04:00
parent 1e7e2e3af5
commit 0beddd25c6
37 changed files with 334 additions and 240 deletions

View File

@@ -63,11 +63,11 @@ import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.DevicePolicyManagerWrapper; import com.android.systemui.shared.system.DevicePolicyManagerWrapper;
import com.android.systemui.shared.system.TaskStackChangeListeners; import com.android.systemui.shared.system.TaskStackChangeListeners;
import com.android.systemui.shared.system.WindowManagerWrapper; import com.android.systemui.shared.system.WindowManagerWrapper;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.phone.AutoHideController; import com.android.systemui.statusbar.phone.AutoHideController;
import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl;
import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.theme.ThemeOverlayApplier; import com.android.systemui.theme.ThemeOverlayApplier;
import com.android.systemui.unfold.UnfoldTransitionFactory; import com.android.systemui.unfold.UnfoldTransitionFactory;
import com.android.systemui.unfold.UnfoldTransitionProgressProvider; import com.android.systemui.unfold.UnfoldTransitionProgressProvider;

View File

@@ -42,8 +42,8 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
import java.util.function.Consumer; import java.util.function.Consumer;

View File

@@ -51,13 +51,13 @@ import com.android.systemui.qs.QSDetailItems.Item;
import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.CastController.CastDevice; import com.android.systemui.statusbar.policy.CastController.CastDevice;
import com.android.systemui.statusbar.policy.HotspotController; import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;

View File

@@ -56,11 +56,11 @@ import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.SignalTileView; import com.android.systemui.qs.SignalTileView;
import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import javax.inject.Inject; import javax.inject.Inject;

View File

@@ -52,13 +52,13 @@ import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.qs.tiles.dialog.InternetDialogFactory; import com.android.systemui.qs.tiles.dialog.InternetDialogFactory;
import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController; import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.WifiIcons; import com.android.systemui.statusbar.connectivity.WifiIcons;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.PrintWriter; import java.io.PrintWriter;

View File

@@ -52,11 +52,11 @@ import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSIconViewImpl; import com.android.systemui.qs.tileimpl.QSIconViewImpl;
import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController; import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.WifiIcons; import com.android.systemui.statusbar.connectivity.WifiIcons;
import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry;
import java.util.List; import java.util.List;

View File

@@ -75,9 +75,9 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.toast.SystemUIToast; import com.android.systemui.toast.SystemUIToast;
import com.android.systemui.toast.ToastFactory; import com.android.systemui.toast.ToastFactory;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;

View File

@@ -26,7 +26,7 @@ import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.demomode.DemoModeCommandReceiver; import com.android.systemui.demomode.DemoModeCommandReceiver;
import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.ViewController; import com.android.systemui.util.ViewController;

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -54,6 +54,7 @@ import java.util.concurrent.Executor;
import javax.inject.Inject; import javax.inject.Inject;
/** */
public class AccessPointControllerImpl public class AccessPointControllerImpl
implements NetworkController.AccessPointController, implements NetworkController.AccessPointController,
WifiPickerTracker.WifiPickerTrackerCallback, LifecycleOwner { WifiPickerTracker.WifiPickerTrackerCallback, LifecycleOwner {
@@ -115,17 +116,19 @@ public class AccessPointControllerImpl
super.finalize(); super.finalize();
} }
/** */
public boolean canConfigWifi() { public boolean canConfigWifi() {
return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_WIFI,
new UserHandle(mCurrentUser)); new UserHandle(mCurrentUser));
} }
/** */
public boolean canConfigMobileData() { public boolean canConfigMobileData() {
return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS,
UserHandle.of(mCurrentUser)) && mUserTracker.getUserInfo().isAdmin(); UserHandle.of(mCurrentUser)) && mUserTracker.getUserInfo().isAdmin();
} }
public void onUserSwitched(int newUserId) { void onUserSwitched(int newUserId) {
mCurrentUser = newUserId; mCurrentUser = newUserId;
} }
@@ -224,7 +227,7 @@ public class AccessPointControllerImpl
} }
} }
public void dump(PrintWriter pw) { void dump(PrintWriter pw) {
IndentingPrintWriter ipw = new IndentingPrintWriter(pw); IndentingPrintWriter ipw = new IndentingPrintWriter(pw);
ipw.println("AccessPointControllerImpl:"); ipw.println("AccessPointControllerImpl:");
ipw.increaseIndent(); ipw.increaseIndent();

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
@@ -22,11 +22,11 @@ import android.telephony.SubscriptionInfo;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.policy.NetworkController.EmergencyListener; import com.android.systemui.statusbar.connectivity.NetworkController.EmergencyListener;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@@ -235,7 +235,7 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
.append("icon=").append(icon) .append("icon=").append(icon)
.toString(); .toString();
recordLastCallback(log); recordLastCallback(log);
obtainMessage(MSG_ETHERNET_CHANGED, icon).sendToTarget();; obtainMessage(MSG_ETHERNET_CHANGED, icon).sendToTarget();
} }
@Override @Override
@@ -252,14 +252,14 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
.toString(); .toString();
recordLastCallback(log); recordLastCallback(log);
} }
obtainMessage(MSG_AIRPLANE_MODE_CHANGED, icon).sendToTarget();; obtainMessage(MSG_AIRPLANE_MODE_CHANGED, icon).sendToTarget();
} }
public void setListening(EmergencyListener listener, boolean listening) { void setListening(EmergencyListener listener, boolean listening) {
obtainMessage(MSG_ADD_REMOVE_EMERGENCY, listening ? 1 : 0, 0, listener).sendToTarget(); obtainMessage(MSG_ADD_REMOVE_EMERGENCY, listening ? 1 : 0, 0, listener).sendToTarget();
} }
public void setListening(SignalCallback listener, boolean listening) { void setListening(SignalCallback listener, boolean listening) {
obtainMessage(MSG_ADD_REMOVE_SIGNAL, listening ? 1 : 0, 0, listener).sendToTarget(); obtainMessage(MSG_ADD_REMOVE_SIGNAL, listening ? 1 : 0, 0, listener).sendToTarget();
} }

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import com.android.systemui.R; import com.android.systemui.R;

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import android.content.Context; import android.content.Context;
import android.net.NetworkCapabilities; import android.net.NetworkCapabilities;
@@ -21,12 +21,12 @@ import android.net.NetworkCapabilities;
import com.android.settingslib.AccessibilityContentDescriptions; import com.android.settingslib.AccessibilityContentDescriptions;
import com.android.settingslib.SignalIcon.IconGroup; import com.android.settingslib.SignalIcon.IconGroup;
import com.android.settingslib.SignalIcon.State; import com.android.settingslib.SignalIcon.State;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import java.util.BitSet; import java.util.BitSet;
/** */
public class EthernetSignalController extends public class EthernetSignalController extends
SignalController<State, IconGroup> { SignalController<State, IconGroup> {

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static com.android.settingslib.mobile.MobileMappings.getDefaultIcons; import static com.android.settingslib.mobile.MobileMappings.getDefaultIcons;
import static com.android.settingslib.mobile.MobileMappings.getIconKey; import static com.android.settingslib.mobile.MobileMappings.getIconKey;
@@ -58,9 +58,9 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.SignalStrengthUtil; import com.android.settingslib.net.SignalStrengthUtil;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
import java.io.PrintWriter; import java.io.PrintWriter;
@@ -245,7 +245,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
mProviderModelSetting = featureFlags.isProviderModelSettingEnabled(); mProviderModelSetting = featureFlags.isProviderModelSettingEnabled();
} }
public void setConfiguration(Config config) { void setConfiguration(Config config) {
mConfig = config; mConfig = config;
updateInflateSignalStrength(); updateInflateSignalStrength();
mNetworkToIconLookup = mapIconSets(mConfig); mNetworkToIconLookup = mapIconSets(mConfig);
@@ -253,12 +253,12 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
updateTelephony(); updateTelephony();
} }
public void setAirplaneMode(boolean airplaneMode) { void setAirplaneMode(boolean airplaneMode) {
mCurrentState.airplaneMode = airplaneMode; mCurrentState.airplaneMode = airplaneMode;
notifyListenersIfNecessary(); notifyListenersIfNecessary();
} }
public void setUserSetupComplete(boolean userSetup) { void setUserSetupComplete(boolean userSetup) {
mCurrentState.userSetup = userSetup; mCurrentState.userSetup = userSetup;
notifyListenersIfNecessary(); notifyListenersIfNecessary();
} }
@@ -272,7 +272,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
notifyListenersIfNecessary(); notifyListenersIfNecessary();
} }
public void setCarrierNetworkChangeMode(boolean carrierNetworkChangeMode) { void setCarrierNetworkChangeMode(boolean carrierNetworkChangeMode) {
mCurrentState.carrierNetworkChangeMode = carrierNetworkChangeMode; mCurrentState.carrierNetworkChangeMode = carrierNetworkChangeMode;
updateTelephony(); updateTelephony();
} }
@@ -413,7 +413,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
if (mCurrentState.dataSim) { if (mCurrentState.dataSim) {
// If using provider model behavior, only show QS icons if the state is also default // If using provider model behavior, only show QS icons if the state is also default
if (pm && !mCurrentState.isDefault) { if (pm && !mCurrentState.isDefault) {
return new QsInfo(qsTypeIcon, qsIcon, qsDescription); return new QsInfo(qsTypeIcon, qsIcon, qsDescription);
} }
if (mCurrentState.showQuickSettingsRatIcon() || mConfig.alwaysShowDataRatIcon) { if (mCurrentState.showQuickSettingsRatIcon() || mConfig.alwaysShowDataRatIcon) {
@@ -501,7 +501,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
return mCurrentState.carrierNetworkChangeMode; return mCurrentState.carrierNetworkChangeMode;
} }
public void handleBroadcast(Intent intent) { void handleBroadcast(Intent intent) {
String action = intent.getAction(); String action = intent.getAction();
if (action.equals(TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED)) { if (action.equals(TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED)) {
updateNetworkName(intent.getBooleanExtra(TelephonyManager.EXTRA_SHOW_SPN, false), updateNetworkName(intent.getBooleanExtra(TelephonyManager.EXTRA_SHOW_SPN, false),
@@ -740,10 +740,10 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
* mTelephonyDisplayInfo, and mSimState. It should be called any time one of these is updated. * mTelephonyDisplayInfo, and mSimState. It should be called any time one of these is updated.
* This will call listeners if necessary. * This will call listeners if necessary.
*/ */
private final void updateTelephony() { private void updateTelephony() {
if (Log.isLoggable(mTag, Log.DEBUG)) { if (Log.isLoggable(mTag, Log.DEBUG)) {
Log.d(mTag, "updateTelephonySignalStrength: hasService=" + Log.d(mTag, "updateTelephonySignalStrength: hasService="
Utils.isInService(mServiceState) + " ss=" + mSignalStrength + Utils.isInService(mServiceState) + " ss=" + mSignalStrength
+ " displayInfo=" + mTelephonyDisplayInfo); + " displayInfo=" + mTelephonyDisplayInfo);
} }
checkDefaultData(); checkDefaultData();

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -22,29 +22,44 @@ import android.telephony.SubscriptionInfo;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoMode;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.CallbackController;
import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.wifitrackerlib.MergedCarrierEntry; import com.android.wifitrackerlib.MergedCarrierEntry;
import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry;
import java.util.List; import java.util.List;
/** */
public interface NetworkController extends CallbackController<SignalCallback>, DemoMode { public interface NetworkController extends CallbackController<SignalCallback>, DemoMode {
/** */
boolean hasMobileDataFeature(); boolean hasMobileDataFeature();
/** */
void setWifiEnabled(boolean enabled); void setWifiEnabled(boolean enabled);
/** */
AccessPointController getAccessPointController(); AccessPointController getAccessPointController();
/** */
DataUsageController getMobileDataController(); DataUsageController getMobileDataController();
/** */
DataSaverController getDataSaverController(); DataSaverController getDataSaverController();
/** */
String getMobileDataNetworkName(); String getMobileDataNetworkName();
/** */
boolean isMobileDataNetworkInService(); boolean isMobileDataNetworkInService();
/** */
int getNumberSubscriptions(); int getNumberSubscriptions();
/** */
boolean hasVoiceCallingFeature(); boolean hasVoiceCallingFeature();
/** */
void addEmergencyListener(EmergencyListener listener); void addEmergencyListener(EmergencyListener listener);
/** */
void removeEmergencyListener(EmergencyListener listener); void removeEmergencyListener(EmergencyListener listener);
/** */
boolean hasEmergencyCryptKeeperText(); boolean hasEmergencyCryptKeeperText();
/** */
boolean isRadioOn(); boolean isRadioOn();
/** /**
@@ -143,7 +158,8 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
} }
} }
public interface SignalCallback { /** */
interface SignalCallback {
/** /**
* Callback for listeners to be able to update the state of any UI tracking connectivity of * Callback for listeners to be able to update the state of any UI tracking connectivity of
* WiFi networks. * WiFi networks.
@@ -156,14 +172,19 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
*/ */
default void setMobileDataIndicators(MobileDataIndicators mobileDataIndicators) {} default void setMobileDataIndicators(MobileDataIndicators mobileDataIndicators) {}
/** */
default void setSubs(List<SubscriptionInfo> subs) {} default void setSubs(List<SubscriptionInfo> subs) {}
/** */
default void setNoSims(boolean show, boolean simDetected) {} default void setNoSims(boolean show, boolean simDetected) {}
/** */
default void setEthernetIndicators(IconState icon) {} default void setEthernetIndicators(IconState icon) {}
/** */
default void setIsAirplaneMode(IconState icon) {} default void setIsAirplaneMode(IconState icon) {}
/** */
default void setMobileDataEnabled(boolean enabled) {} default void setMobileDataEnabled(boolean enabled) {}
/** /**

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED; import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
@@ -76,7 +76,12 @@ import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.qs.tiles.dialog.InternetDialogFactory; import com.android.systemui.qs.tiles.dialog.InternetDialogFactory;
import com.android.systemui.qs.tiles.dialog.InternetDialogUtil; import com.android.systemui.qs.tiles.dialog.InternetDialogUtil;
import com.android.systemui.settings.CurrentUserTracker; import com.android.systemui.settings.CurrentUserTracker;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.DataSaverControllerImpl;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener; import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.statusbar.policy.EncryptionHelper;
import com.android.systemui.telephony.TelephonyListenerManager; import com.android.systemui.telephony.TelephonyListenerManager;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
@@ -376,11 +381,10 @@ public class NetworkControllerImpl extends BroadcastReceiver
@Override @Override
public void onCapabilitiesChanged( public void onCapabilitiesChanged(
Network network, NetworkCapabilities networkCapabilities) { Network network, NetworkCapabilities networkCapabilities) {
boolean lastValidated = (mLastNetworkCapabilities != null) && boolean lastValidated = (mLastNetworkCapabilities != null)
mLastNetworkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED); && mLastNetworkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED);
boolean validated = boolean validated = networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED);
networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED);
// This callback is invoked a lot (i.e. when RSSI changes), so avoid updating // This callback is invoked a lot (i.e. when RSSI changes), so avoid updating
// icons when connectivity state has remained the same. // icons when connectivity state has remained the same.
@@ -544,19 +548,23 @@ public class NetworkControllerImpl extends BroadcastReceiver
return mDataUsageController; return mDataUsageController;
} }
/** */
public void addEmergencyListener(EmergencyListener listener) { public void addEmergencyListener(EmergencyListener listener) {
mCallbackHandler.setListening(listener, true); mCallbackHandler.setListening(listener, true);
mCallbackHandler.setEmergencyCallsOnly(isEmergencyOnly()); mCallbackHandler.setEmergencyCallsOnly(isEmergencyOnly());
} }
/** */
public void removeEmergencyListener(EmergencyListener listener) { public void removeEmergencyListener(EmergencyListener listener) {
mCallbackHandler.setListening(listener, false); mCallbackHandler.setListening(listener, false);
} }
/** */
public boolean hasMobileDataFeature() { public boolean hasMobileDataFeature() {
return mHasMobileDataFeature; return mHasMobileDataFeature;
} }
/** */
public boolean hasVoiceCallingFeature() { public boolean hasVoiceCallingFeature() {
return mPhone.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE; return mPhone.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE;
} }
@@ -661,7 +669,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
} }
} }
public boolean isEmergencyOnly() { boolean isEmergencyOnly() {
if (mMobileSignalControllers.size() == 0) { if (mMobileSignalControllers.size() == 0) {
// When there are no active subscriptions, determine emengency state from last // When there are no active subscriptions, determine emengency state from last
// broadcast. // broadcast.
@@ -690,8 +698,10 @@ public class NetworkControllerImpl extends BroadcastReceiver
if (mMobileSignalControllers.size() == 1) { if (mMobileSignalControllers.size() == 1) {
mEmergencySource = EMERGENCY_ASSUMED_VOICE_CONTROLLER mEmergencySource = EMERGENCY_ASSUMED_VOICE_CONTROLLER
+ mMobileSignalControllers.keyAt(0); + mMobileSignalControllers.keyAt(0);
if (DEBUG) Log.d(TAG, "Getting assumed emergency from " if (DEBUG) {
+ mMobileSignalControllers.keyAt(0)); Log.d(TAG, "Getting assumed emergency from "
+ mMobileSignalControllers.keyAt(0));
}
return mMobileSignalControllers.valueAt(0).getState().isEmergency; return mMobileSignalControllers.valueAt(0).getState().isEmergency;
} }
if (DEBUG) Log.e(TAG, "Cannot find controller for voice sub: " + voiceSubId); if (DEBUG) Log.e(TAG, "Cannot find controller for voice sub: " + voiceSubId);
@@ -915,7 +925,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
@GuardedBy("mLock") @GuardedBy("mLock")
@VisibleForTesting @VisibleForTesting
public void setCurrentSubscriptionsLocked(List<SubscriptionInfo> subscriptions) { void setCurrentSubscriptionsLocked(List<SubscriptionInfo> subscriptions) {
Collections.sort(subscriptions, new Comparator<SubscriptionInfo>() { Collections.sort(subscriptions, new Comparator<SubscriptionInfo>() {
@Override @Override
public int compare(SubscriptionInfo lhs, SubscriptionInfo rhs) { public int compare(SubscriptionInfo lhs, SubscriptionInfo rhs) {
@@ -1125,6 +1135,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
mEthernetSignalController.updateConnectivity(mConnectedTransports, mValidatedTransports); mEthernetSignalController.updateConnectivity(mConnectedTransports, mValidatedTransports);
} }
/** */
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("NetworkController state:"); pw.println("NetworkController state:");
@@ -1178,7 +1189,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
mCallbackHandler.dump(pw); mCallbackHandler.dump(pw);
} }
private static final String emergencyToString(int emergencySource) { private static String emergencyToString(int emergencySource) {
if (emergencySource > EMERGENCY_NO_SUB) { if (emergencySource > EMERGENCY_NO_SUB) {
return "ASSUMED_VOICE_CONTROLLER(" + (emergencySource - EMERGENCY_VOICE_CONTROLLER) return "ASSUMED_VOICE_CONTROLLER(" + (emergencySource - EMERGENCY_VOICE_CONTROLLER)
+ ")"; + ")";
@@ -1423,10 +1434,12 @@ public class NetworkControllerImpl extends BroadcastReceiver
return info; return info;
} }
/** */
public boolean hasEmergencyCryptKeeperText() { public boolean hasEmergencyCryptKeeperText() {
return EncryptionHelper.IS_DATA_ENCRYPTED; return EncryptionHelper.IS_DATA_ENCRYPTED;
} }
/** */
public boolean isRadioOn() { public boolean isRadioOn() {
return !mAirplaneMode; return !mAirplaneMode;
} }

View File

@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static com.android.systemui.statusbar.policy.NetworkControllerImpl.TAG; import static com.android.systemui.statusbar.connectivity.NetworkControllerImpl.TAG;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.content.Context; import android.content.Context;
@@ -23,8 +23,8 @@ import android.util.Log;
import com.android.settingslib.SignalIcon.IconGroup; import com.android.settingslib.SignalIcon.IconGroup;
import com.android.settingslib.SignalIcon.State; import com.android.settingslib.SignalIcon.State;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.BitSet; import java.util.BitSet;
@@ -83,7 +83,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
return mCurrentState; return mCurrentState;
} }
public void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) { void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
mCurrentState.inetCondition = validatedTransports.get(mTransportType) ? 1 : 0; mCurrentState.inetCondition = validatedTransports.get(mTransportType) ? 1 : 0;
notifyListenersIfNecessary(); notifyListenersIfNecessary();
} }
@@ -114,7 +114,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
return false; return false;
} }
public void saveLastState() { void saveLastState() {
if (RECORD_HISTORY) { if (RECORD_HISTORY) {
recordLastState(); recordLastState();
} }
@@ -161,7 +161,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
} }
} }
public void notifyListenersIfNecessary() { void notifyListenersIfNecessary() {
if (isDirty()) { if (isDirty()) {
saveLastState(); saveLastState();
notifyListeners(); notifyListeners();
@@ -192,7 +192,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
mHistoryIndex = (mHistoryIndex + 1) % HISTORY_SIZE; mHistoryIndex = (mHistoryIndex + 1) % HISTORY_SIZE;
} }
public void dump(PrintWriter pw) { void dump(PrintWriter pw) {
pw.println(" - " + mTag + " -----"); pw.println(" - " + mTag + " -----");
pw.println(" Current State: " + mCurrentState); pw.println(" Current State: " + mCurrentState);
if (RECORD_HISTORY) { if (RECORD_HISTORY) {
@@ -210,7 +210,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
} }
} }
public final void notifyListeners() { final void notifyListeners() {
notifyListeners(mCallbackHandler); notifyListeners(mCallbackHandler);
} }
@@ -219,7 +219,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
* based on current state, and only need to be called in the scenario where * based on current state, and only need to be called in the scenario where
* mCurrentState != mLastState. * mCurrentState != mLastState.
*/ */
public abstract void notifyListeners(SignalCallback callback); abstract void notifyListeners(SignalCallback callback);
/** /**
* Generate a blank T. * Generate a blank T.

View File

@@ -14,12 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import com.android.settingslib.AccessibilityContentDescriptions; import com.android.settingslib.AccessibilityContentDescriptions;
import com.android.settingslib.R; import com.android.settingslib.R;
import com.android.settingslib.SignalIcon.IconGroup; import com.android.settingslib.SignalIcon.IconGroup;
/** */
public class WifiIcons { public class WifiIcons {
static final int[] WIFI_FULL_ICONS = { static final int[] WIFI_FULL_ICONS = {

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_IN; import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_IN;
import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_INOUT; import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_INOUT;
@@ -37,14 +37,15 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.wifi.WifiStatusTracker; import com.android.settingslib.wifi.WifiStatusTracker;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.Objects; import java.util.Objects;
/** */
public class WifiSignalController extends public class WifiSignalController extends
SignalController<WifiSignalController.WifiState, IconGroup> { SignalController<WifiSignalController.WifiState, IconGroup> {
private final boolean mHasMobileDataFeature; private final boolean mHasMobileDataFeature;

View File

@@ -46,6 +46,8 @@ import com.android.systemui.statusbar.DisableFlagsLogger.DisableState;
import com.android.systemui.statusbar.OperatorNameView; import com.android.systemui.statusbar.OperatorNameView;
import com.android.systemui.statusbar.OperatorNameViewController; import com.android.systemui.statusbar.OperatorNameViewController;
import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.events.SystemStatusAnimationCallback; import com.android.systemui.statusbar.events.SystemStatusAnimationCallback;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.phone.StatusBarIconController.DarkIconManager; import com.android.systemui.statusbar.phone.StatusBarIconController.DarkIconManager;
@@ -53,8 +55,6 @@ import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallListener; import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallListener;
import com.android.systemui.statusbar.policy.EncryptionHelper; import com.android.systemui.statusbar.policy.EncryptionHelper;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View File

@@ -196,6 +196,7 @@ import com.android.systemui.statusbar.PowerButtonReveal;
import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationActivityStarter; import com.android.systemui.statusbar.notification.NotificationActivityStarter;
@@ -223,7 +224,6 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener; import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.statusbar.policy.ExtensionController; import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl; import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;

View File

@@ -26,11 +26,11 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.NetworkControllerImpl; import com.android.systemui.statusbar.connectivity.NetworkControllerImpl;
import com.android.systemui.statusbar.policy.SecurityController; import com.android.systemui.statusbar.policy.SecurityController;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable;

View File

@@ -60,6 +60,7 @@ import com.android.systemui.statusbar.NotificationViewHierarchyManager;
import com.android.systemui.statusbar.OperatorNameViewController; import com.android.systemui.statusbar.OperatorNameViewController;
import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -102,7 +103,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.ExtensionController; import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl; import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;

View File

@@ -23,7 +23,9 @@ import com.android.internal.R;
import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.settings.UserTracker; import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.policy.AccessPointControllerImpl; import com.android.systemui.statusbar.connectivity.AccessPointControllerImpl;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkControllerImpl;
import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.BluetoothControllerImpl; import com.android.systemui.statusbar.policy.BluetoothControllerImpl;
import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.CastController;
@@ -42,8 +44,6 @@ import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.KeyguardStateControllerImpl; import com.android.systemui.statusbar.policy.KeyguardStateControllerImpl;
import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.statusbar.policy.LocationController;
import com.android.systemui.statusbar.policy.LocationControllerImpl; import com.android.systemui.statusbar.policy.LocationControllerImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkControllerImpl;
import com.android.systemui.statusbar.policy.NextAlarmController; import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.NextAlarmControllerImpl; import com.android.systemui.statusbar.policy.NextAlarmControllerImpl;
import com.android.systemui.statusbar.policy.RotationLockController; import com.android.systemui.statusbar.policy.RotationLockController;

View File

@@ -39,8 +39,8 @@ import androidx.test.filters.SmallTest;
import com.android.keyguard.CarrierTextManager; import com.android.keyguard.CarrierTextManager;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
import com.android.systemui.utils.leaks.LeakCheckedTest; import com.android.systemui.utils.leaks.LeakCheckedTest;
import com.android.systemui.utils.os.FakeHandler; import com.android.systemui.utils.os.FakeHandler;

View File

@@ -43,12 +43,12 @@ import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.QSTileHost;
import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.CastController.CastDevice; import com.android.systemui.statusbar.policy.CastController.CastDevice;
import com.android.systemui.statusbar.policy.HotspotController; import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View File

@@ -48,9 +48,9 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.toast.SystemUIToast; import com.android.systemui.toast.SystemUIToast;
import com.android.systemui.toast.ToastFactory; import com.android.systemui.toast.ToastFactory;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy package com.android.systemui.statusbar.connectivity
import android.os.UserManager import android.os.UserManager
import android.test.suitebuilder.annotation.SmallTest import android.test.suitebuilder.annotation.SmallTest

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;
@@ -28,11 +28,11 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.settingslib.mobile.TelephonyIcons; import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase;
import com.android.systemui.statusbar.policy.NetworkController.EmergencyListener; import com.android.systemui.statusbar.connectivity.NetworkController.EmergencyListener;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.tests.R; import com.android.systemui.tests.R;
import org.junit.Before; import org.junit.Before;
@@ -182,7 +182,8 @@ public class CallbackHandlerTest extends SysuiTestCase {
@Test @Test
public void testSignalCallback_setIsAirplaneMode() { public void testSignalCallback_setIsAirplaneMode() {
IconState state = new IconState(true, R.drawable.stat_sys_airplane_mode, "Test Description"); IconState state =
new IconState(true, R.drawable.stat_sys_airplane_mode, "Test Description");
mHandler.setIsAirplaneMode(state); mHandler.setIsAirplaneMode(state);
waitForCallbacks(); waitForCallbacks();

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN; import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS; import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
@@ -72,10 +72,11 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener; import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import com.android.systemui.telephony.TelephonyListenerManager; import com.android.systemui.telephony.TelephonyListenerManager;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
import com.android.systemui.util.concurrency.FakeExecutor; import com.android.systemui.util.concurrency.FakeExecutor;
@@ -268,7 +269,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
setSubscriptions(mSubId); setSubscriptions(mSubId);
mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId); mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId);
ArgumentCaptor<ConnectivityManager.NetworkCallback> callbackArg = ArgumentCaptor<ConnectivityManager.NetworkCallback> callbackArg =
ArgumentCaptor.forClass(ConnectivityManager.NetworkCallback.class); ArgumentCaptor.forClass(ConnectivityManager.NetworkCallback.class);
verify(mMockCm, atLeastOnce()) verify(mMockCm, atLeastOnce())
.registerDefaultNetworkCallback(callbackArg.capture(), isA(Handler.class)); .registerDefaultNetworkCallback(callbackArg.capture(), isA(Handler.class));
int captureSize = callbackArg.getAllValues().size(); int captureSize = callbackArg.getAllValues().size();
@@ -404,7 +405,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
} }
private static void setConnectivityCommon(NetworkCapabilities.Builder builder, private static void setConnectivityCommon(NetworkCapabilities.Builder builder,
int networkType, boolean validated, boolean isConnected){ int networkType, boolean validated, boolean isConnected) {
// TODO: Separate out into several NetworkCapabilities. // TODO: Separate out into several NetworkCapabilities.
if (isConnected) { if (isConnected) {
builder.addTransportType(networkType); builder.addTransportType(networkType);
@@ -538,7 +539,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
} }
protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon, protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon,
boolean roaming, boolean inet) { boolean roaming, boolean inet) {
ArgumentCaptor<MobileDataIndicators> indicatorsArg = ArgumentCaptor<MobileDataIndicators> indicatorsArg =
ArgumentCaptor.forClass(MobileDataIndicators.class); ArgumentCaptor.forClass(MobileDataIndicators.class);
@@ -646,7 +647,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
} }
protected void assertNetworkNameEquals(String expected) { protected void assertNetworkNameEquals(String expected) {
assertEquals("Network name", expected, mMobileSignalController.getState().networkName); assertEquals("Network name", expected, mMobileSignalController.getState().networkName);
} }
protected void assertDataNetworkNameEquals(String expected) { protected void assertDataNetworkNameEquals(String expected) {

View File

@@ -1,4 +1,20 @@
package com.android.systemui.statusbar.policy; /*
* Copyright (C) 2021 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 static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN; import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS; import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
@@ -22,6 +38,7 @@ import android.testing.TestableLooper.RunWithLooper;
import com.android.settingslib.mobile.TelephonyIcons; import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
import org.junit.Test; import org.junit.Test;

View File

@@ -1,4 +1,20 @@
package com.android.systemui.statusbar.policy; /*
* Copyright (C) 2021 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 static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
@@ -7,7 +23,7 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper; import android.testing.TestableLooper.RunWithLooper;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.connectivity;
import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertFalse;
@@ -42,6 +42,7 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker;
import org.junit.Test; import org.junit.Test;
@@ -280,7 +281,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// TODO: Put this somewhere else, maybe in its own file. // TODO: Put this somewhere else, maybe in its own file.
@Test @Test
public void testHasCorrectMobileControllers() { public void testHasCorrectMobileControllers() {
int[] testSubscriptions = new int[] { 1, 5, 3 }; int[] testSubscriptions = new int[]{1, 5, 3};
int notTestSubscription = 0; int notTestSubscription = 0;
MobileSignalController mobileSignalController = Mockito.mock(MobileSignalController.class); MobileSignalController mobileSignalController = Mockito.mock(MobileSignalController.class);
@@ -312,8 +313,8 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// We will not add one subscription to make sure it's controller gets removed. // We will not add one subscription to make sure it's controller gets removed.
int indexToSkipSubscription = 1; int indexToSkipSubscription = 1;
int[] testSubscriptions = new int[] { 1, 5, 3 }; int[] testSubscriptions = new int[]{1, 5, 3};
MobileSignalController[] mobileSignalControllers = new MobileSignalController[] { MobileSignalController[] mobileSignalControllers = new MobileSignalController[]{
Mockito.mock(MobileSignalController.class), Mockito.mock(MobileSignalController.class),
Mockito.mock(MobileSignalController.class), Mockito.mock(MobileSignalController.class),
Mockito.mock(MobileSignalController.class), Mockito.mock(MobileSignalController.class),
@@ -401,24 +402,24 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test @Test
public void testOnReceive_stringsUpdatedAction_bothFalse() { public void testOnReceive_stringsUpdatedAction_bothFalse() {
Intent intent = createStringsUpdatedIntent(false /* showSpn */, Intent intent = createStringsUpdatedIntent(false /* showSpn */,
"Irrelevant" /* spn */, "Irrelevant" /* spn */,
false /* showPlmn */, false /* showPlmn */,
"Irrelevant" /* plmn */); "Irrelevant" /* plmn */);
mNetworkController.onReceive(mContext, intent); mNetworkController.onReceive(mContext, intent);
String defaultNetworkName = mMobileSignalController String defaultNetworkName = mMobileSignalController
.getTextIfExists( .getTextIfExists(
com.android.internal.R.string.lockscreen_carrier_default).toString(); com.android.internal.R.string.lockscreen_carrier_default).toString();
assertNetworkNameEquals(defaultNetworkName); assertNetworkNameEquals(defaultNetworkName);
} }
@Test @Test
public void testOnReceive_stringsUpdatedAction_bothTrueAndNull() { public void testOnReceive_stringsUpdatedAction_bothTrueAndNull() {
Intent intent = createStringsUpdatedIntent(true /* showSpn */, Intent intent = createStringsUpdatedIntent(true /* showSpn */,
null /* spn */, null /* spn */,
true /* showPlmn */, true /* showPlmn */,
null /* plmn */); null /* plmn */);
mNetworkController.onReceive(mContext, intent); mNetworkController.onReceive(mContext, intent);
@@ -433,15 +434,15 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
String plmn = "Test2"; String plmn = "Test2";
Intent intent = createStringsUpdatedIntent(true /* showSpn */, Intent intent = createStringsUpdatedIntent(true /* showSpn */,
spn /* spn */, spn /* spn */,
true /* showPlmn */, true /* showPlmn */,
plmn /* plmn */); plmn /* plmn */);
mNetworkController.onReceive(mContext, intent); mNetworkController.onReceive(mContext, intent);
assertNetworkNameEquals(plmn assertNetworkNameEquals(plmn
+ mMobileSignalController.getTextIfExists( + mMobileSignalController.getTextIfExists(
R.string.status_bar_network_name_separator).toString() R.string.status_bar_network_name_separator).toString()
+ spn); + spn);
} }
@@ -477,145 +478,149 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test @Test
public void testOnUpdateDataActivity_dataOut() { public void testOnUpdateDataActivity_dataOut() {
setupDefaultSignal(); setupDefaultSignal();
updateDataActivity(TelephonyManager.DATA_ACTIVITY_OUT); updateDataActivity(TelephonyManager.DATA_ACTIVITY_OUT);
verifyLastQsMobileDataIndicators(true /* visible */, verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */, DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */, DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */, false /* dataIn */,
true /* dataOut */); true /* dataOut */);
} }
@Test @Test
public void testOnUpdateDataActivity_dataInOut() { public void testOnUpdateDataActivity_dataInOut() {
setupDefaultSignal(); setupDefaultSignal();
updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT); updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT);
verifyLastQsMobileDataIndicators(true /* visible */, verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */, DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */, DEFAULT_QS_ICON /* typeIcon */,
true /* dataIn */, true /* dataIn */,
true /* dataOut */); true /* dataOut */);
} }
@Test @Test
public void testOnUpdateDataActivity_dataActivityNone() { public void testOnUpdateDataActivity_dataActivityNone() {
setupDefaultSignal(); setupDefaultSignal();
updateDataActivity(TelephonyManager.DATA_ACTIVITY_NONE); updateDataActivity(TelephonyManager.DATA_ACTIVITY_NONE);
verifyLastQsMobileDataIndicators(true /* visible */, verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */, DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */, DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */, false /* dataIn */,
false /* dataOut */); false /* dataOut */);
} }
@Test @Test
public void testCarrierNetworkChange_carrierNetworkChange() { public void testCarrierNetworkChange_carrierNetworkChange() {
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT; int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
setupDefaultSignal(); setupDefaultSignal();
setLevel(strength); setLevel(strength);
// Verify baseline // Verify baseline
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */, strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */); DEFAULT_ICON /* typeIcon */);
// API call is made // API call is made
setCarrierNetworkChange(true /* enabled */); setCarrierNetworkChange(true /* enabled */);
// Carrier network change is true, show special indicator // Carrier network change is true, show special indicator
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()), SignalDrawable.getCarrierChangeState(
0 /* typeIcon */); CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */);
// Revert back // Revert back
setCarrierNetworkChange(false /* enabled */); setCarrierNetworkChange(false /* enabled */);
// Verify back in previous state // Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */, strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */); DEFAULT_ICON /* typeIcon */);
} }
@Test @Test
public void testCarrierNetworkChange_roamingBeforeNetworkChange() { public void testCarrierNetworkChange_roamingBeforeNetworkChange() {
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT; int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
setupDefaultSignal(); setupDefaultSignal();
setLevel(strength); setLevel(strength);
setGsmRoaming(true); setGsmRoaming(true);
// Verify baseline // Verify baseline
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */, strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */, DEFAULT_ICON /* typeIcon */,
true /* roaming */); true /* roaming */);
// API call is made // API call is made
setCarrierNetworkChange(true /* enabled */); setCarrierNetworkChange(true /* enabled */);
// Carrier network change is true, show special indicator, no roaming. // Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()), SignalDrawable.getCarrierChangeState(
0 /* typeIcon */, CellSignalStrength.getNumSignalStrengthLevels()),
false /* roaming */); 0 /* typeIcon */,
false /* roaming */);
// Revert back // Revert back
setCarrierNetworkChange(false /* enabled */); setCarrierNetworkChange(false /* enabled */);
// Verify back in previous state // Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */, strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */, DEFAULT_ICON /* typeIcon */,
true /* roaming */); true /* roaming */);
} }
@Test @Test
public void testCarrierNetworkChange_roamingAfterNetworkChange() { public void testCarrierNetworkChange_roamingAfterNetworkChange() {
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT; int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
setupDefaultSignal(); setupDefaultSignal();
setLevel(strength); setLevel(strength);
// Verify baseline // Verify baseline
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */, strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */, DEFAULT_ICON /* typeIcon */,
false /* roaming */); false /* roaming */);
// API call is made // API call is made
setCarrierNetworkChange(true /* enabled */); setCarrierNetworkChange(true /* enabled */);
// Carrier network change is true, show special indicator, no roaming. // Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()), SignalDrawable.getCarrierChangeState(
0 /* typeIcon */, CellSignalStrength.getNumSignalStrengthLevels()),
false /* roaming */); 0 /* typeIcon */,
false /* roaming */);
setGsmRoaming(true); setGsmRoaming(true);
// Roaming should not show. // Roaming should not show.
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()), SignalDrawable.getCarrierChangeState(
0 /* typeIcon */, CellSignalStrength.getNumSignalStrengthLevels()),
false /* roaming */); 0 /* typeIcon */,
false /* roaming */);
// Revert back // Revert back
setCarrierNetworkChange(false /* enabled */); setCarrierNetworkChange(false /* enabled */);
// Verify back in previous state // Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */, verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */, strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */, DEFAULT_ICON /* typeIcon */,
true /* roaming */); true /* roaming */);
} }
private void verifyEmergencyOnly(boolean isEmergencyOnly) { private void verifyEmergencyOnly(boolean isEmergencyOnly) {

View File

@@ -1,10 +1,25 @@
package com.android.systemui.statusbar.policy; /*
* Copyright (C) 2021 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 static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -21,7 +36,7 @@ import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper; import android.testing.TestableLooper.RunWithLooper;
import com.android.settingslib.mobile.TelephonyIcons; import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators; import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -165,7 +180,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
} }
@Test @Test
public void testWifiIconDisconnectedViaCallback(){ public void testWifiIconDisconnectedViaCallback() {
// Setup normal connection // Setup normal connection
String testSsid = "Test SSID"; String testSsid = "Test SSID";
int testLevel = 2; int testLevel = 2;
@@ -183,7 +198,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
} }
@Test @Test
public void testVpnWithUnderlyingWifi(){ public void testVpnWithUnderlyingWifi() {
String testSsid = "Test SSID"; String testSsid = "Test SSID";
int testLevel = 2; int testLevel = 2;
setWifiEnabled(true); setWifiEnabled(true);
@@ -299,7 +314,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
protected void setWifiLevel(int level) { protected void setWifiLevel(int level) {
float amountPerLevel = (MAX_RSSI - MIN_RSSI) / (WifiIcons.WIFI_LEVEL_COUNT - 1); float amountPerLevel = (MAX_RSSI - MIN_RSSI) / (WifiIcons.WIFI_LEVEL_COUNT - 1);
int rssi = (int)(MIN_RSSI + level * amountPerLevel); int rssi = (int) (MIN_RSSI + level * amountPerLevel);
// Put RSSI in the middle of the range. // Put RSSI in the middle of the range.
rssi += amountPerLevel / 2; rssi += amountPerLevel / 2;
when(mWifiInfo.getRssi()).thenReturn(rssi); when(mWifiInfo.getRssi()).thenReturn(rssi);

View File

@@ -45,10 +45,10 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.DisableFlagsLogger; import com.android.systemui.statusbar.DisableFlagsLogger;
import com.android.systemui.statusbar.OperatorNameViewController; import com.android.systemui.statusbar.OperatorNameViewController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController; import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore; import org.junit.Ignore;

View File

@@ -110,6 +110,7 @@ import com.android.systemui.statusbar.OperatorNameViewController;
import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarStateControllerImpl; import com.android.systemui.statusbar.StatusBarStateControllerImpl;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -135,7 +136,6 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.ExtensionController; import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl; import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;

View File

@@ -18,9 +18,9 @@ import android.os.Bundle;
import android.testing.LeakCheck; import android.testing.LeakCheck;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
public class FakeNetworkController extends BaseLeakChecker<SignalCallback> public class FakeNetworkController extends BaseLeakChecker<SignalCallback>
implements NetworkController { implements NetworkController {

View File

@@ -19,6 +19,7 @@ import android.util.ArrayMap;
import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase;
import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.phone.ManagedProfileController;
import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryController;
@@ -29,7 +30,6 @@ import com.android.systemui.statusbar.policy.FlashlightController;
import com.android.systemui.statusbar.policy.HotspotController; import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.statusbar.policy.LocationController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NextAlarmController; import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.RotationLockController; import com.android.systemui.statusbar.policy.RotationLockController;
import com.android.systemui.statusbar.policy.SecurityController; import com.android.systemui.statusbar.policy.SecurityController;