3535import com .android .systemui .statusbar .policy .NetworkController ;
3636import com .android .systemui .statusbar .policy .NetworkController .AccessPointController ;
3737import com .android .systemui .statusbar .policy .NetworkController .IconState ;
38- import com .android .systemui .statusbar .policy .NetworkController .SignalCallback ;
3938import com .android .systemui .statusbar .policy .SignalCallbackAdapter ;
4039
4140import java .util .List ;
@@ -49,6 +48,8 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
4948 private final WifiDetailAdapter mDetailAdapter ;
5049 private final QSTile .SignalState mStateBeforeClick = newTileState ();
5150
51+ private final WifiSignalCallback mSignalCallback = new WifiSignalCallback ();
52+
5253 public WifiTile (Host host ) {
5354 super (host );
5455 mController = host .getNetworkController ();
@@ -118,8 +119,10 @@ protected void handleSecondaryClick() {
118119 protected void handleUpdateState (SignalState state , Object arg ) {
119120 state .visible = true ;
120121 if (DEBUG ) Log .d (TAG , "handleUpdateState arg=" + arg );
121- if (arg == null ) return ;
122122 CallbackInfo cb = (CallbackInfo ) arg ;
123+ if (cb == null ) {
124+ cb = mSignalCallback .mInfo ;
125+ }
123126
124127 boolean wifiConnected = cb .enabled && (cb .wifiSignalIconId > 0 ) && (cb .enabledDesc != null );
125128 boolean wifiNotConnected = (cb .wifiSignalIconId > 0 ) && (cb .enabledDesc == null );
@@ -213,20 +216,21 @@ public String toString() {
213216 }
214217 }
215218
216- private final SignalCallback mSignalCallback = new SignalCallbackAdapter () {
219+ private final class WifiSignalCallback extends SignalCallbackAdapter {
220+ final CallbackInfo mInfo = new CallbackInfo ();
221+
217222 @ Override
218223 public void setWifiIndicators (boolean enabled , IconState statusIcon , IconState qsIcon ,
219224 boolean activityIn , boolean activityOut , String description ) {
220225 if (DEBUG ) Log .d (TAG , "onWifiSignalChanged enabled=" + enabled );
221- final CallbackInfo info = new CallbackInfo ();
222- info .enabled = enabled ;
223- info .connected = qsIcon .visible ;
224- info .wifiSignalIconId = qsIcon .icon ;
225- info .enabledDesc = description ;
226- info .activityIn = activityIn ;
227- info .activityOut = activityOut ;
228- info .wifiSignalContentDescription = qsIcon .contentDescription ;
229- refreshState (info );
226+ mInfo .enabled = enabled ;
227+ mInfo .connected = qsIcon .visible ;
228+ mInfo .wifiSignalIconId = qsIcon .icon ;
229+ mInfo .enabledDesc = description ;
230+ mInfo .activityIn = activityIn ;
231+ mInfo .activityOut = activityOut ;
232+ mInfo .wifiSignalContentDescription = qsIcon .contentDescription ;
233+ refreshState (mInfo );
230234 }
231235 };
232236
0 commit comments