Merge "Fix QS edit state being out of sync" into nyc-dev
This commit is contained in:
@@ -221,6 +221,7 @@ public class SignalClusterView
|
||||
|
||||
apply();
|
||||
applyIconTint();
|
||||
mNC.addSignalCallback(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -995,7 +995,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
SignalClusterView signalCluster =
|
||||
(SignalClusterView) containerView.findViewById(R.id.signal_cluster);
|
||||
if (signalCluster != null) {
|
||||
mNetworkController.addSignalCallback(signalCluster);
|
||||
signalCluster.setSecurityController(mSecurityController);
|
||||
signalCluster.setNetworkController(mNetworkController);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import android.content.Context;
|
||||
import android.net.NetworkCapabilities;
|
||||
|
||||
import com.android.systemui.statusbar.policy.NetworkController.IconState;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
@@ -46,12 +47,12 @@ public class EthernetSignalController extends
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyListeners() {
|
||||
public void notifyListeners(SignalCallback callback) {
|
||||
boolean ethernetVisible = mCurrentState.connected;
|
||||
String contentDescription = getStringIfExists(getContentDescription());
|
||||
|
||||
// TODO: wire up data transfer using WifiSignalPoller.
|
||||
mCallbackHandler.setEthernetIndicators(new IconState(ethernetVisible, getCurrentIconId(),
|
||||
callback.setEthernetIndicators(new IconState(ethernetVisible, getCurrentIconId(),
|
||||
contentDescription));
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.internal.telephony.cdma.EriInfo;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.IconState;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
|
||||
import com.android.systemui.statusbar.policy.NetworkControllerImpl.Config;
|
||||
import com.android.systemui.statusbar.policy.NetworkControllerImpl.SubscriptionDefaults;
|
||||
|
||||
@@ -198,7 +199,7 @@ public class MobileSignalController extends SignalController<
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyListeners() {
|
||||
public void notifyListeners(SignalCallback callback) {
|
||||
MobileIconGroup icons = getIcons();
|
||||
|
||||
String contentDescription = getStringIfExists(getContentDescription());
|
||||
@@ -231,7 +232,7 @@ public class MobileSignalController extends SignalController<
|
||||
|| mCurrentState.iconGroup == TelephonyIcons.ROAMING
|
||||
|| mCurrentState.iconGroup == TelephonyIcons.DATA_DISABLED;
|
||||
int typeIcon = showDataIcon ? icons.mDataType : 0;
|
||||
mCallbackHandler.setMobileDataIndicators(statusIcon, qsIcon, typeIcon, qsTypeIcon,
|
||||
callback.setMobileDataIndicators(statusIcon, qsIcon, typeIcon, qsTypeIcon,
|
||||
activityIn, activityOut, dataContentDescription, description, icons.mIsWide,
|
||||
mSubscriptionInfo.getSubscriptionId());
|
||||
}
|
||||
|
||||
@@ -322,16 +322,16 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
||||
}
|
||||
|
||||
public void addSignalCallback(SignalCallback cb) {
|
||||
mCallbackHandler.setListening(cb, true);
|
||||
mCallbackHandler.setSubs(mCurrentSubscriptions);
|
||||
mCallbackHandler.setIsAirplaneMode(new IconState(mAirplaneMode,
|
||||
cb.setSubs(mCurrentSubscriptions);
|
||||
cb.setIsAirplaneMode(new IconState(mAirplaneMode,
|
||||
TelephonyIcons.FLIGHT_MODE_ICON, R.string.accessibility_airplane_mode, mContext));
|
||||
mCallbackHandler.setNoSims(mHasNoSims);
|
||||
mWifiSignalController.notifyListeners();
|
||||
mEthernetSignalController.notifyListeners();
|
||||
cb.setNoSims(mHasNoSims);
|
||||
mWifiSignalController.notifyListeners(cb);
|
||||
mEthernetSignalController.notifyListeners(cb);
|
||||
for (MobileSignalController mobileSignalController : mMobileSignalControllers.values()) {
|
||||
mobileSignalController.notifyListeners();
|
||||
mobileSignalController.notifyListeners(cb);
|
||||
}
|
||||
mCallbackHandler.setListening(cb, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.policy;
|
||||
import android.content.Context;
|
||||
import android.text.format.DateFormat;
|
||||
import android.util.Log;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.BitSet;
|
||||
@@ -48,7 +49,7 @@ public abstract class SignalController<T extends SignalController.State,
|
||||
// is aware of current state.
|
||||
protected final NetworkControllerImpl mNetworkController;
|
||||
|
||||
protected final CallbackHandler mCallbackHandler;
|
||||
private final CallbackHandler mCallbackHandler;
|
||||
|
||||
// Save the previous HISTORY_SIZE states for logging.
|
||||
private final State[] mHistory;
|
||||
@@ -198,12 +199,16 @@ public abstract class SignalController<T extends SignalController.State,
|
||||
}
|
||||
}
|
||||
|
||||
public final void notifyListeners() {
|
||||
notifyListeners(mCallbackHandler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger callbacks based on current state. The callbacks should be completely
|
||||
* based on current state, and only need to be called in the scenario where
|
||||
* mCurrentState != mLastState.
|
||||
*/
|
||||
public abstract void notifyListeners();
|
||||
public abstract void notifyListeners(SignalCallback callback);
|
||||
|
||||
/**
|
||||
* Generate a blank T.
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.util.AsyncChannel;
|
||||
import com.android.settingslib.wifi.WifiStatusTracker;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.IconState;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -72,7 +73,7 @@ public class WifiSignalController extends
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyListeners() {
|
||||
public void notifyListeners(SignalCallback callback) {
|
||||
// only show wifi in the cluster if connected or if wifi-only
|
||||
boolean wifiVisible = mCurrentState.enabled
|
||||
&& (mCurrentState.connected || !mHasMobileData);
|
||||
@@ -83,7 +84,7 @@ public class WifiSignalController extends
|
||||
IconState statusIcon = new IconState(wifiVisible, getCurrentIconId(), contentDescription);
|
||||
IconState qsIcon = new IconState(mCurrentState.connected, getQsCurrentIconId(),
|
||||
contentDescription);
|
||||
mCallbackHandler.setWifiIndicators(mCurrentState.enabled, statusIcon, qsIcon,
|
||||
callback.setWifiIndicators(mCurrentState.enabled, statusIcon, qsIcon,
|
||||
ssidPresent && mCurrentState.activityIn, ssidPresent && mCurrentState.activityOut,
|
||||
wifiDesc);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.android.internal.telephony.cdma.EriInfo;
|
||||
import com.android.settingslib.net.DataUsageController;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.IconState;
|
||||
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
|
||||
import com.android.systemui.statusbar.policy.NetworkControllerImpl.Config;
|
||||
import com.android.systemui.statusbar.policy.NetworkControllerImpl.SubscriptionDefaults;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
@@ -100,7 +101,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
|
||||
|
||||
// Trigger blank callbacks to always get the current state (some tests don't trigger
|
||||
// changes from default state).
|
||||
mNetworkController.addSignalCallback(null);
|
||||
mNetworkController.addSignalCallback(mock(SignalCallback.class));
|
||||
mNetworkController.addEmergencyListener(null);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user