From 5962fd5ec95249ba8354d3a533c27a012bcf22e2 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Wed, 11 Jan 2012 14:57:04 -0500 Subject: Clean up wifi/mobile indicators in the expanded panel. We now have two separate RSSI icons, one for wifi and one for mobile data, as originally proposed in bug 5544770. Each has an accompanying label showing the appropriate network description string (PLMN or SSID or "No internet connection"); these will be truncated as necessary to avoid clobbering other UI elements in the panel. Bug: 5543495 Bug: 5621224 Change-Id: I8fc322f8471fc94000e7230de359d3f1fe561b1e --- .../status_bar_notification_panel_title.xml | 221 +++++++++++++-------- .../statusbar/policy/NetworkController.java | 81 +++++--- .../statusbar/tablet/NotificationPanel.java | 4 +- .../systemui/statusbar/tablet/TabletStatusBar.java | 17 +- 4 files changed, 200 insertions(+), 123 deletions(-) diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel_title.xml b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel_title.xml index 46f4c39030b0..c9b1673d2098 100644 --- a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel_title.xml +++ b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel_title.xml @@ -25,120 +25,167 @@ android:background="@drawable/notify_panel_clock_bg" > - + - - - + + + + - + + + + + + + + - + + + + + + + + - - - + - - - - + + - + - + + + + + + + mWimaxIconViews = new ArrayList(); ArrayList mCombinedSignalIconViews = new ArrayList(); ArrayList mDataTypeIconViews = new ArrayList(); - ArrayList mLabelViews = new ArrayList(); + ArrayList mCombinedLabelViews = new ArrayList(); + ArrayList mMobileLabelViews = new ArrayList(); + ArrayList mWifiLabelViews = new ArrayList(); ArrayList mSignalClusters = new ArrayList(); int mLastPhoneSignalIconId = -1; int mLastDataDirectionIconId = -1; @@ -144,7 +146,7 @@ public class NetworkController extends BroadcastReceiver { int mLastWimaxIconId = -1; int mLastCombinedSignalIconId = -1; int mLastDataTypeIconId = -1; - String mLastLabel = ""; + String mLastCombinedLabel = ""; private boolean mHasMobileDataFeature; @@ -257,8 +259,16 @@ public class NetworkController extends BroadcastReceiver { mDataTypeIconViews.add(v); } - public void addLabelView(TextView v) { - mLabelViews.add(v); + public void addCombinedLabelView(TextView v) { + mCombinedLabelViews.add(v); + } + + public void addMobileLabelView(TextView v) { + mMobileLabelViews.add(v); + } + + public void addWifiLabelView(TextView v) { + mWifiLabelViews.add(v); } public void addSignalCluster(SignalCluster cluster) { @@ -873,11 +883,16 @@ public class NetworkController extends BroadcastReceiver { int combinedSignalIconId = 0; int combinedActivityIconId = 0; - String label = ""; + String combinedLabel = ""; + String wifiLabel = ""; + String mobileLabel = ""; int N; if (mDataConnected) { - label = mNetworkName; + mobileLabel = mNetworkName; + if (DEBUG) { + mobileLabel += "yyyyYYYYyyyyYYYY"; + } combinedSignalIconId = mDataSignalIconId; switch (mDataActivity) { case TelephonyManager.DATA_ACTIVITY_IN: @@ -894,6 +909,7 @@ public class NetworkController extends BroadcastReceiver { break; } + combinedLabel = mobileLabel; combinedActivityIconId = mMobileActivityIconId; combinedSignalIconId = mDataSignalIconId; // set by updateDataIcon() mContentDescriptionCombinedSignal = mContentDescriptionDataType; @@ -901,10 +917,13 @@ public class NetworkController extends BroadcastReceiver { if (mWifiConnected) { if (mWifiSsid == null) { - label = context.getString(R.string.status_bar_settings_signal_meter_wifi_nossid); + wifiLabel = context.getString(R.string.status_bar_settings_signal_meter_wifi_nossid); mWifiActivityIconId = 0; // no wifis, no bits } else { - label = mWifiSsid; + wifiLabel = mWifiSsid; + if (DEBUG) { + wifiLabel += "xxxxXXXXxxxxXXXX"; + } switch (mWifiActivity) { case WifiManager.DATA_ACTIVITY_IN: mWifiActivityIconId = R.drawable.stat_sys_wifi_in; @@ -922,12 +941,13 @@ public class NetworkController extends BroadcastReceiver { } combinedActivityIconId = mWifiActivityIconId; + combinedLabel = wifiLabel; combinedSignalIconId = mWifiIconId; // set by updateWifiIcons() mContentDescriptionCombinedSignal = mContentDescriptionWifi; } if (mBluetoothTethered) { - label = mContext.getString(R.string.bluetooth_tethered); + combinedLabel = mContext.getString(R.string.bluetooth_tethered); combinedSignalIconId = mBluetoothTetherIconId; mContentDescriptionCombinedSignal = mContext.getString( R.string.accessibility_bluetooth_tether); @@ -945,7 +965,8 @@ public class NetworkController extends BroadcastReceiver { // combined values from connected wifi take precedence over airplane mode if (!mWifiConnected) { - label = context.getString(R.string.status_bar_settings_signal_meter_disconnected); + wifiLabel = context.getString(R.string.status_bar_settings_signal_meter_disconnected); + combinedLabel = wifiLabel; mContentDescriptionCombinedSignal = mContentDescriptionPhoneSignal; combinedSignalIconId = mDataSignalIconId; } @@ -953,7 +974,7 @@ public class NetworkController extends BroadcastReceiver { else if (!mDataConnected && !mWifiConnected && !mBluetoothTethered && !mWimaxConnected) { // pretty much totally disconnected - label = context.getString(R.string.status_bar_settings_signal_meter_disconnected); + combinedLabel = context.getString(R.string.status_bar_settings_signal_meter_disconnected); // On devices without mobile radios, we want to show the wifi icon combinedSignalIconId = mHasMobileDataFeature ? mDataSignalIconId : mWifiIconId; @@ -1028,7 +1049,7 @@ public class NetworkController extends BroadcastReceiver { for (int i=0; i