Merge "Move NetworkController & friends to a connectivity package" into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2021-10-05 17:40:25 +00:00
committed by Android (Google) Code Review
37 changed files with 334 additions and 240 deletions

View File

@@ -60,11 +60,11 @@ import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.DevicePolicyManagerWrapper;
import com.android.systemui.shared.system.TaskStackChangeListeners;
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.ConfigurationControllerImpl;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.theme.ThemeOverlayApplier;
import com.android.systemui.util.leak.LeakDetector;
import com.android.systemui.util.settings.SecureSettings;

View File

@@ -42,8 +42,8 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.util.CarrierConfigTracker;
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.logging.QSLogger;
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.policy.CastController;
import com.android.systemui.statusbar.policy.CastController.CastDevice;
import com.android.systemui.statusbar.policy.HotspotController;
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.LinkedHashMap;

View File

@@ -56,11 +56,11 @@ import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.SignalTileView;
import com.android.systemui.qs.logging.QSLogger;
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.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;

View File

@@ -52,13 +52,13 @@ import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.qs.tiles.dialog.InternetDialogFactory;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
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.statusbar.policy.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.WifiIcons;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
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.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.connectivity.WifiIcons;
import java.io.FileDescriptor;
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.tileimpl.QSIconViewImpl;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.WifiIcons;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.AccessPointController;
import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import com.android.systemui.statusbar.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.connectivity.WifiIcons;
import com.android.wifitrackerlib.WifiEntry;
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.Main;
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.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.toast.SystemUIToast;
import com.android.systemui.toast.ToastFactory;
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.systemui.demomode.DemoModeCommandReceiver;
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.util.ViewController;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.systemui.statusbar.policy;
package com.android.systemui.statusbar.connectivity;
import android.content.Context;
import android.content.Intent;
@@ -22,29 +22,44 @@ import android.telephony.SubscriptionInfo;
import com.android.settingslib.net.DataUsageController;
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.WifiEntry;
import java.util.List;
/** */
public interface NetworkController extends CallbackController<SignalCallback>, DemoMode {
/** */
boolean hasMobileDataFeature();
/** */
void setWifiEnabled(boolean enabled);
/** */
AccessPointController getAccessPointController();
/** */
DataUsageController getMobileDataController();
/** */
DataSaverController getDataSaverController();
/** */
String getMobileDataNetworkName();
/** */
boolean isMobileDataNetworkInService();
/** */
int getNumberSubscriptions();
/** */
boolean hasVoiceCallingFeature();
/** */
void addEmergencyListener(EmergencyListener listener);
/** */
void removeEmergencyListener(EmergencyListener listener);
/** */
boolean hasEmergencyCryptKeeperText();
/** */
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
* WiFi networks.
@@ -156,14 +172,19 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
*/
default void setMobileDataIndicators(MobileDataIndicators mobileDataIndicators) {}
/** */
default void setSubs(List<SubscriptionInfo> subs) {}
/** */
default void setNoSims(boolean show, boolean simDetected) {}
/** */
default void setEthernetIndicators(IconState icon) {}
/** */
default void setIsAirplaneMode(IconState icon) {}
/** */
default void setMobileDataEnabled(boolean enabled) {}
/**

View File

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

View File

@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* 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.content.Context;
@@ -23,8 +23,8 @@ import android.util.Log;
import com.android.settingslib.SignalIcon.IconGroup;
import com.android.settingslib.SignalIcon.State;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import com.android.systemui.statusbar.connectivity.NetworkController.IconState;
import com.android.systemui.statusbar.connectivity.NetworkController.SignalCallback;
import java.io.PrintWriter;
import java.util.BitSet;
@@ -83,7 +83,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
return mCurrentState;
}
public void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
mCurrentState.inetCondition = validatedTransports.get(mTransportType) ? 1 : 0;
notifyListenersIfNecessary();
}
@@ -114,7 +114,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
return false;
}
public void saveLastState() {
void saveLastState() {
if (RECORD_HISTORY) {
recordLastState();
}
@@ -161,7 +161,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
}
}
public void notifyListenersIfNecessary() {
void notifyListenersIfNecessary() {
if (isDirty()) {
saveLastState();
notifyListeners();
@@ -192,7 +192,7 @@ public abstract class SignalController<T extends State, I extends IconGroup> {
mHistoryIndex = (mHistoryIndex + 1) % HISTORY_SIZE;
}
public void dump(PrintWriter pw) {
void dump(PrintWriter pw) {
pw.println(" - " + mTag + " -----");
pw.println(" Current State: " + mCurrentState);
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);
}
@@ -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
* mCurrentState != mLastState.
*/
public abstract void notifyListeners(SignalCallback callback);
abstract void notifyListeners(SignalCallback callback);
/**
* Generate a blank T.

View File

@@ -14,12 +14,13 @@
* 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.R;
import com.android.settingslib.SignalIcon.IconGroup;
/** */
public class WifiIcons {
static final int[] WIFI_FULL_ICONS = {

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* 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_INOUT;
@@ -37,14 +37,15 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.wifi.WifiStatusTracker;
import com.android.systemui.R;
import com.android.systemui.flags.FeatureFlags;
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.statusbar.policy.NetworkController.WifiIndicators;
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.connectivity.NetworkController.WifiIndicators;
import java.io.PrintWriter;
import java.util.Objects;
/** */
public class WifiSignalController extends
SignalController<WifiSignalController.WifiState, IconGroup> {
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.OperatorNameViewController;
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.SystemStatusAnimationScheduler;
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.policy.EncryptionHelper;
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;

View File

@@ -199,6 +199,7 @@ import com.android.systemui.statusbar.PowerButtonReveal;
import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.StatusBarState;
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.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
@@ -226,7 +227,6 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.statusbar.policy.ExtensionController;
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.UserSwitcherController;
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.dagger.SysUISingleton;
import com.android.systemui.flags.FeatureFlags;
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.WifiIndicators;
import com.android.systemui.statusbar.policy.NetworkControllerImpl;
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.WifiIndicators;
import com.android.systemui.statusbar.connectivity.NetworkControllerImpl;
import com.android.systemui.statusbar.policy.SecurityController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService.Tunable;

View File

@@ -62,6 +62,7 @@ import com.android.systemui.statusbar.NotificationViewHierarchyManager;
import com.android.systemui.statusbar.OperatorNameViewController;
import com.android.systemui.statusbar.PulseExpansionHandler;
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.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -104,7 +105,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.ExtensionController;
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.UserSwitcherController;
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.qualifiers.Main;
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.BluetoothControllerImpl;
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.LocationController;
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.NextAlarmControllerImpl;
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.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.connectivity.NetworkController.MobileDataIndicators;
import com.android.systemui.util.CarrierConfigTracker;
import com.android.systemui.utils.leaks.LeakCheckedTest;
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.qs.QSTileHost;
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.CastDevice;
import com.android.systemui.statusbar.policy.HotspotController;
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.Test;

View File

@@ -48,9 +48,9 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Main;
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.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.toast.SystemUIToast;
import com.android.systemui.toast.ToastFactory;
import com.android.systemui.util.CarrierConfigTracker;

View File

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

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* 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.assertTrue;
@@ -28,11 +28,11 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.statusbar.policy.NetworkController.EmergencyListener;
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.statusbar.policy.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController.EmergencyListener;
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.connectivity.NetworkController.WifiIndicators;
import com.android.systemui.tests.R;
import org.junit.Before;
@@ -182,7 +182,8 @@ public class CallbackHandlerTest extends SysuiTestCase {
@Test
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);
waitForCallbacks();

View File

@@ -14,7 +14,7 @@
* 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.NetworkRegistrationInfo.DOMAIN_PS;
@@ -72,10 +72,11 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.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.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.util.CarrierConfigTracker;
import com.android.systemui.util.concurrency.FakeExecutor;
@@ -268,7 +269,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
setSubscriptions(mSubId);
mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId);
ArgumentCaptor<ConnectivityManager.NetworkCallback> callbackArg =
ArgumentCaptor.forClass(ConnectivityManager.NetworkCallback.class);
ArgumentCaptor.forClass(ConnectivityManager.NetworkCallback.class);
verify(mMockCm, atLeastOnce())
.registerDefaultNetworkCallback(callbackArg.capture(), isA(Handler.class));
int captureSize = callbackArg.getAllValues().size();
@@ -404,7 +405,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
}
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.
if (isConnected) {
builder.addTransportType(networkType);
@@ -538,7 +539,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
}
protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon,
boolean roaming, boolean inet) {
boolean roaming, boolean inet) {
ArgumentCaptor<MobileDataIndicators> indicatorsArg =
ArgumentCaptor.forClass(MobileDataIndicators.class);
@@ -646,7 +647,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
}
protected void assertNetworkNameEquals(String expected) {
assertEquals("Network name", expected, mMobileSignalController.getState().networkName);
assertEquals("Network name", expected, mMobileSignalController.getState().networkName);
}
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.NetworkRegistrationInfo.DOMAIN_PS;
@@ -22,6 +38,7 @@ import android.testing.TestableLooper.RunWithLooper;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.DataUsageController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.util.CarrierConfigTracker;
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;
@@ -7,7 +23,7 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
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.runner.RunWith;

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* 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.assertFalse;
@@ -42,6 +42,7 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.DataUsageController;
import com.android.systemui.R;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.util.CarrierConfigTracker;
import org.junit.Test;
@@ -280,7 +281,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// TODO: Put this somewhere else, maybe in its own file.
@Test
public void testHasCorrectMobileControllers() {
int[] testSubscriptions = new int[] { 1, 5, 3 };
int[] testSubscriptions = new int[]{1, 5, 3};
int notTestSubscription = 0;
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.
int indexToSkipSubscription = 1;
int[] testSubscriptions = new int[] { 1, 5, 3 };
MobileSignalController[] mobileSignalControllers = new MobileSignalController[] {
int[] testSubscriptions = new int[]{1, 5, 3};
MobileSignalController[] mobileSignalControllers = new MobileSignalController[]{
Mockito.mock(MobileSignalController.class),
Mockito.mock(MobileSignalController.class),
Mockito.mock(MobileSignalController.class),
@@ -401,24 +402,24 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testOnReceive_stringsUpdatedAction_bothFalse() {
Intent intent = createStringsUpdatedIntent(false /* showSpn */,
"Irrelevant" /* spn */,
false /* showPlmn */,
"Irrelevant" /* plmn */);
"Irrelevant" /* spn */,
false /* showPlmn */,
"Irrelevant" /* plmn */);
mNetworkController.onReceive(mContext, intent);
String defaultNetworkName = mMobileSignalController
.getTextIfExists(
com.android.internal.R.string.lockscreen_carrier_default).toString();
com.android.internal.R.string.lockscreen_carrier_default).toString();
assertNetworkNameEquals(defaultNetworkName);
}
@Test
public void testOnReceive_stringsUpdatedAction_bothTrueAndNull() {
Intent intent = createStringsUpdatedIntent(true /* showSpn */,
null /* spn */,
true /* showPlmn */,
null /* plmn */);
null /* spn */,
true /* showPlmn */,
null /* plmn */);
mNetworkController.onReceive(mContext, intent);
@@ -433,15 +434,15 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
String plmn = "Test2";
Intent intent = createStringsUpdatedIntent(true /* showSpn */,
spn /* spn */,
true /* showPlmn */,
plmn /* plmn */);
spn /* spn */,
true /* showPlmn */,
plmn /* plmn */);
mNetworkController.onReceive(mContext, intent);
assertNetworkNameEquals(plmn
+ mMobileSignalController.getTextIfExists(
R.string.status_bar_network_name_separator).toString()
R.string.status_bar_network_name_separator).toString()
+ spn);
}
@@ -477,145 +478,149 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testOnUpdateDataActivity_dataOut() {
setupDefaultSignal();
setupDefaultSignal();
updateDataActivity(TelephonyManager.DATA_ACTIVITY_OUT);
updateDataActivity(TelephonyManager.DATA_ACTIVITY_OUT);
verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */,
true /* dataOut */);
verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */,
true /* dataOut */);
}
@Test
public void testOnUpdateDataActivity_dataInOut() {
setupDefaultSignal();
setupDefaultSignal();
updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT);
updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT);
verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
true /* dataIn */,
true /* dataOut */);
verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
true /* dataIn */,
true /* dataOut */);
}
@Test
public void testOnUpdateDataActivity_dataActivityNone() {
setupDefaultSignal();
setupDefaultSignal();
updateDataActivity(TelephonyManager.DATA_ACTIVITY_NONE);
updateDataActivity(TelephonyManager.DATA_ACTIVITY_NONE);
verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */,
false /* dataOut */);
verifyLastQsMobileDataIndicators(true /* visible */,
DEFAULT_LEVEL /* icon */,
DEFAULT_QS_ICON /* typeIcon */,
false /* dataIn */,
false /* dataOut */);
}
@Test
public void testCarrierNetworkChange_carrierNetworkChange() {
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
setupDefaultSignal();
setLevel(strength);
setupDefaultSignal();
setLevel(strength);
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */);
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */);
// API call is made
setCarrierNetworkChange(true /* enabled */);
// API call is made
setCarrierNetworkChange(true /* enabled */);
// Carrier network change is true, show special indicator
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */);
// Carrier network change is true, show special indicator
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(
CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */);
// Revert back
setCarrierNetworkChange(false /* enabled */);
// Revert back
setCarrierNetworkChange(false /* enabled */);
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */);
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */);
}
@Test
public void testCarrierNetworkChange_roamingBeforeNetworkChange() {
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
setupDefaultSignal();
setLevel(strength);
setGsmRoaming(true);
setupDefaultSignal();
setLevel(strength);
setGsmRoaming(true);
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
true /* roaming */);
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
true /* roaming */);
// API call is made
setCarrierNetworkChange(true /* enabled */);
// API call is made
setCarrierNetworkChange(true /* enabled */);
// Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
// Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(
CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
// Revert back
setCarrierNetworkChange(false /* enabled */);
// Revert back
setCarrierNetworkChange(false /* enabled */);
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
true /* roaming */);
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
true /* roaming */);
}
@Test
public void testCarrierNetworkChange_roamingAfterNetworkChange() {
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;
setupDefaultSignal();
setLevel(strength);
setupDefaultSignal();
setLevel(strength);
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
false /* roaming */);
// Verify baseline
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
false /* roaming */);
// API call is made
setCarrierNetworkChange(true /* enabled */);
// API call is made
setCarrierNetworkChange(true /* enabled */);
// Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
// Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(
CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
setGsmRoaming(true);
setGsmRoaming(true);
// Roaming should not show.
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
// Roaming should not show.
verifyLastMobileDataIndicators(true /* visible */,
SignalDrawable.getCarrierChangeState(
CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
// Revert back
setCarrierNetworkChange(false /* enabled */);
// Revert back
setCarrierNetworkChange(false /* enabled */);
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
true /* roaming */);
// Verify back in previous state
verifyLastMobileDataIndicators(true /* visible */,
strength /* strengthIcon */,
DEFAULT_ICON /* typeIcon */,
true /* roaming */);
}
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 org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -21,7 +36,7 @@ import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper;
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.Test;
@@ -165,7 +180,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
}
@Test
public void testWifiIconDisconnectedViaCallback(){
public void testWifiIconDisconnectedViaCallback() {
// Setup normal connection
String testSsid = "Test SSID";
int testLevel = 2;
@@ -183,7 +198,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
}
@Test
public void testVpnWithUnderlyingWifi(){
public void testVpnWithUnderlyingWifi() {
String testSsid = "Test SSID";
int testLevel = 2;
setWifiEnabled(true);
@@ -299,7 +314,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest {
protected void setWifiLevel(int level) {
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.
rssi += amountPerLevel / 2;
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.DisableFlagsLogger;
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.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import org.junit.Before;
import org.junit.Ignore;

View File

@@ -112,6 +112,7 @@ import com.android.systemui.statusbar.OperatorNameViewController;
import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.StatusBarState;
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.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -137,7 +138,6 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
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.UserSwitcherController;
import com.android.systemui.tuner.TunerService;

View File

@@ -18,9 +18,9 @@ import android.os.Bundle;
import android.testing.LeakCheck;
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.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
public class FakeNetworkController extends BaseLeakChecker<SignalCallback>
implements NetworkController {

View File

@@ -19,6 +19,7 @@ import android.util.ArrayMap;
import com.android.systemui.SysuiTestCase;
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.StatusBarIconController;
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.KeyguardStateController;
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.RotationLockController;
import com.android.systemui.statusbar.policy.SecurityController;