diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 960e4cf47001e..988d537f6c2cb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -221,6 +221,7 @@ public class SignalClusterView apply(); applyIconTint(); + mNC.addSignalCallback(this); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index c152171f77cf7..ef16388502f59 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -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); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/EthernetSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/EthernetSignalController.java index bd36462ca6128..159bd41a20948 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/EthernetSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/EthernetSignalController.java @@ -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)); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java index 8fd4d9cd326a5..80dcfb6dfe2c8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -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()); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index 8193b52b569ca..40eb71d8327b1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -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 diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java index c954d081329d8..4cfd1c7fe6fd6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java @@ -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