@@ -81,6 +81,7 @@ public class NetworkController extends BroadcastReceiver {
8181 String mNetworkNameDefault ;
8282 String mNetworkNameSeparator ;
8383 int mPhoneSignalIconId ;
84+ int mQSPhoneSignalIconId ;
8485 int mDataDirectionIconId ; // data + data direction on phones
8586 int mDataSignalIconId ;
8687 int mDataTypeIconId ;
@@ -105,6 +106,7 @@ public class NetworkController extends BroadcastReceiver {
105106 int mWifiRssi , mWifiLevel ;
106107 String mWifiSsid ;
107108 int mWifiIconId = 0 ;
109+ int mQSWifiIconId = 0 ;
108110 int mWifiActivityIconId = 0 ; // overlay arrows for wifi direction
109111 int mWifiActivity = WifiManager .DATA_ACTIVITY_NONE ;
110112
@@ -175,8 +177,8 @@ void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon
175177 }
176178
177179 public interface NetworkSignalChangedCallback {
178- void onWifiSignalChanged (boolean enabled , String description );
179- void onMobileDataSignalChanged (boolean enabled , String description );
180+ void onWifiSignalChanged (boolean enabled , int wifiSignalIconId , String description );
181+ void onMobileDataSignalChanged (boolean enabled , int mobileSignalIconId , String description );
180182 void onAirplaneModeChanged (boolean enabled );
181183 }
182184
@@ -347,17 +349,18 @@ void notifySignalsChangedCallbacks(NetworkSignalChangedCallback cb) {
347349 boolean wifiEnabled = mWifiEnabled && (mWifiConnected || !mHasMobileDataFeature );
348350 String wifiDesc = wifiEnabled ?
349351 mWifiSsid : null ;
350- cb .onWifiSignalChanged (wifiEnabled , wifiDesc );
352+ cb .onWifiSignalChanged (wifiEnabled , mQSWifiIconId , wifiDesc );
351353
352354 if (isEmergencyOnly ()) {
353- cb .onMobileDataSignalChanged (false , null );
355+ cb .onMobileDataSignalChanged (false , mQSPhoneSignalIconId , null );
354356 } else {
355357 if (mIsWimaxEnabled && mWimaxConnected ) {
356358 // wimax is special
357- cb .onMobileDataSignalChanged (true , mNetworkName );
359+ cb .onMobileDataSignalChanged (true , mQSPhoneSignalIconId , mNetworkName );
358360 } else {
359361 // normal mobile data
360- cb .onMobileDataSignalChanged (mHasMobileDataFeature , mNetworkName );
362+ cb .onMobileDataSignalChanged (mHasMobileDataFeature , mQSPhoneSignalIconId ,
363+ mNetworkName );
361364 }
362365 }
363366 cb .onAirplaneModeChanged (mAirplaneMode );
@@ -517,11 +520,13 @@ private final void updateTelephonySignalStrength() {
517520 if (!hasService ()) {
518521 if (CHATTY ) Slog .d (TAG , "updateTelephonySignalStrength: !hasService()" );
519522 mPhoneSignalIconId = R .drawable .stat_sys_signal_null ;
523+ mQSPhoneSignalIconId = R .drawable .ic_qs_signal_no_signal ;
520524 mDataSignalIconId = R .drawable .stat_sys_signal_null ;
521525 } else {
522526 if (mSignalStrength == null ) {
523527 if (CHATTY ) Slog .d (TAG , "updateTelephonySignalStrength: mSignalStrength == null" );
524528 mPhoneSignalIconId = R .drawable .stat_sys_signal_null ;
529+ mQSPhoneSignalIconId = R .drawable .ic_qs_signal_no_signal ;
525530 mDataSignalIconId = R .drawable .stat_sys_signal_null ;
526531 mContentDescriptionPhoneSignal = mContext .getString (
527532 AccessibilityContentDescriptions .PHONE_SIGNAL_STRENGTH [0 ]);
@@ -552,6 +557,7 @@ private final void updateTelephonySignalStrength() {
552557 }
553558 }
554559 mPhoneSignalIconId = iconList [iconLevel ];
560+ mQSPhoneSignalIconId = TelephonyIcons .QS_TELEPHONY_SIGNAL_STRENGTH [iconLevel ];
555561 mContentDescriptionPhoneSignal = mContext .getString (
556562 AccessibilityContentDescriptions .PHONE_SIGNAL_STRENGTH [iconLevel ]);
557563 mDataSignalIconId = TelephonyIcons .DATA_SIGNAL_STRENGTH [mInetCondition ][iconLevel ];
@@ -844,13 +850,16 @@ private void updateWifiState(Intent intent) {
844850 private void updateWifiIcons () {
845851 if (mWifiConnected ) {
846852 mWifiIconId = WifiIcons .WIFI_SIGNAL_STRENGTH [mInetCondition ][mWifiLevel ];
853+ mQSWifiIconId = WifiIcons .QS_WIFI_SIGNAL_STRENGTH [mWifiLevel ];
847854 mContentDescriptionWifi = mContext .getString (
848855 AccessibilityContentDescriptions .WIFI_CONNECTION_STRENGTH [mWifiLevel ]);
849856 } else {
850857 if (mDataAndWifiStacked ) {
851858 mWifiIconId = 0 ;
859+ mQSWifiIconId = 0 ;
852860 } else {
853861 mWifiIconId = mWifiEnabled ? R .drawable .stat_sys_wifi_signal_null : 0 ;
862+ mQSWifiIconId = mWifiEnabled ? R .drawable .ic_qs_wifi_no_network : 0 ;
854863 }
855864 mContentDescriptionWifi = mContext .getString (R .string .accessibility_no_wifi );
856865 }
@@ -975,6 +984,7 @@ void refreshViews() {
975984
976985 if (!mHasMobileDataFeature ) {
977986 mDataSignalIconId = mPhoneSignalIconId = 0 ;
987+ mQSPhoneSignalIconId = 0 ;
978988 mobileLabel = "" ;
979989 } else {
980990 // We want to show the carrier name if in service and either:
@@ -1086,6 +1096,7 @@ void refreshViews() {
10861096 R .string .accessibility_airplane_mode );
10871097 mAirplaneIconId = R .drawable .stat_sys_signal_flightmode ;
10881098 mPhoneSignalIconId = mDataSignalIconId = mDataTypeIconId = 0 ;
1099+ mQSPhoneSignalIconId = 0 ;
10891100
10901101 // combined values from connected wifi take precedence over airplane mode
10911102 if (mWifiConnected ) {
@@ -1140,10 +1151,12 @@ else if (!mDataConnected && !mWifiConnected && !mBluetoothTethered && !mWimaxCon
11401151 + " mAirplaneMode=" + mAirplaneMode
11411152 + " mDataActivity=" + mDataActivity
11421153 + " mPhoneSignalIconId=0x" + Integer .toHexString (mPhoneSignalIconId )
1154+ + " mQSPhoneSignalIconId=0x" + Integer .toHexString (mQSPhoneSignalIconId )
11431155 + " mDataDirectionIconId=0x" + Integer .toHexString (mDataDirectionIconId )
11441156 + " mDataSignalIconId=0x" + Integer .toHexString (mDataSignalIconId )
11451157 + " mDataTypeIconId=0x" + Integer .toHexString (mDataTypeIconId )
11461158 + " mWifiIconId=0x" + Integer .toHexString (mWifiIconId )
1159+ + " mQSWifiIconId=0x" + Integer .toHexString (mQSWifiIconId )
11471160 + " mBluetoothTetherIconId=0x" + Integer .toHexString (mBluetoothTetherIconId ));
11481161 }
11491162
@@ -1357,6 +1370,9 @@ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
13571370 pw .print (" mPhoneSignalIconId=0x" );
13581371 pw .print (Integer .toHexString (mPhoneSignalIconId ));
13591372 pw .print ("/" );
1373+ pw .print (" mQSPhoneSignalIconId=0x" );
1374+ pw .print (Integer .toHexString (mQSPhoneSignalIconId ));
1375+ pw .print ("/" );
13601376 pw .println (getResourceName (mPhoneSignalIconId ));
13611377 pw .print (" mDataDirectionIconId=" );
13621378 pw .print (Integer .toHexString (mDataDirectionIconId ));
@@ -1384,6 +1400,8 @@ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
13841400 pw .println (mWifiSsid );
13851401 pw .println (String .format (" mWifiIconId=0x%08x/%s" ,
13861402 mWifiIconId , getResourceName (mWifiIconId )));
1403+ pw .println (String .format (" mQSWifiIconId=0x%08x/%s" ,
1404+ mQSWifiIconId , getResourceName (mQSWifiIconId )));
13871405 pw .print (" mWifiActivity=" );
13881406 pw .println (mWifiActivity );
13891407
0 commit comments