Merge "Clean up wifi/mobile indicators in the expanded panel." into ics-mr1
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 46f4c39..c9b1673 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"
>
- <LinearLayout
+ <TableLayout
android:id="@+id/icons"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
- android:baselineAlignedChildIndex="0"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
+ android:shrinkColumns="2,4"
+ android:stretchColumns="7"
>
+ <TableRow>
- <ImageView
- android:id="@+id/bluetooth"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:scaleType="centerInside"
- android:baseline="18dp"
- android:visibility="gone"
- android:contentDescription="@null"
- />
-
- <FrameLayout
- android:id="@+id/netwerk"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:layout_marginRight="4dp"
- >
-
- <ImageView
- android:id="@+id/network_signal"
+ <!-- to keep the column ids stable we wrap disappearing views in
+ frames -->
+ <FrameLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:contentDescription="@null"
+ >
+ <ImageView
+ android:id="@+id/bluetooth"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:scaleType="centerInside"
+ android:visibility="gone"
+ android:contentDescription="@null"
+ android:layout_gravity="center_vertical"
+ />
+ </FrameLayout>
+
+ <!-- mobile data -->
+ <FrameLayout
+ android:id="@+id/mobile_icon"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:paddingRight="4dp"
+ android:layout_gravity="center_vertical"
+ >
+
+ <ImageView
+ android:id="@+id/mobile_signal"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:contentDescription="@null"
+ />
+
+ <ImageView
+ android:id="@+id/mobile_type"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:contentDescription="@null"
+ />
+
+ </FrameLayout>
+ <TextView
+ android:id="@+id/mobile_text"
+ style="@style/StatusBarNotificationText"
+ android:layout_gravity="left|center_vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="8dp"
+ android:layout_weight="1"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:text="@string/status_bar_settings_settings_button"
+ />
+
+ <!-- wifi -->
+ <FrameLayout
+ android:id="@+id/wifi_icon"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:paddingRight="4dp"
+ android:layout_gravity="center_vertical"
+ >
+
+ <ImageView
+ android:id="@+id/wifi_signal"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:contentDescription="@null"
+ />
+
+ <ImageView
+ android:id="@+id/wifi_direction"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:contentDescription="@null"
+ />
+
+ </FrameLayout>
+ <TextView
+ android:id="@+id/wifi_text"
+ style="@style/StatusBarNotificationText"
+ android:layout_gravity="left|center_vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="8dp"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:text="@string/status_bar_settings_settings_button"
/>
<ImageView
- android:id="@+id/network_type"
+ android:id="@+id/battery"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
+ android:scaleType="centerInside"
+ android:layout_gravity="center_vertical"
+ android:layout_alignBaseline="@id/wifi_signal"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
android:contentDescription="@null"
/>
- <ImageView
- android:id="@+id/network_direction"
+ <TextView
+ android:id="@+id/battery_text"
+ style="@style/StatusBarNotificationText"
+ android:layout_width="56dp"
android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:contentDescription="@null"
+ android:layout_gravity="left|center_vertical"
+ android:paddingRight="8dp"
+ android:singleLine="true"
+ android:text="@string/status_bar_settings_settings_button"
/>
- </FrameLayout>
-
- <TextView
- android:id="@+id/network_text"
- style="@style/StatusBarNotificationText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/netwerk"
- android:layout_marginRight="8dp"
- android:layout_alignBaseline="@id/network_signal"
- android:singleLine="true"
- android:text="@string/status_bar_settings_settings_button"
- />
+ <!-- this will stretch to eat up available space -->
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ />
- <ImageView
- android:id="@+id/battery"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:scaleType="centerInside"
- android:layout_toRightOf="@id/network_text"
- android:layout_alignBaseline="@id/network_signal"
- android:baseline="18dp"
- android:layout_marginLeft="8dp"
- android:layout_marginRight="8dp"
- android:contentDescription="@null"
- />
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ >
- <TextView
- android:id="@+id/battery_text"
- style="@style/StatusBarNotificationText"
- android:layout_width="56dp"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/battery"
- android:layout_alignBaseline="@id/battery"
- android:layout_marginRight="8dp"
- android:singleLine="true"
- android:text="@string/status_bar_settings_settings_button"
- />
- </LinearLayout>
+ <ImageView
+ android:id="@+id/settings_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="16dp"
+ android:src="@drawable/ic_sysbar_quicksettings"
+ android:contentDescription="@string/accessibility_settings_button"
+ />
- <ImageView
- android:id="@+id/settings_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignBaseline="@id/icons"
- android:layout_alignParentRight="true"
- android:paddingRight="16dp"
- android:src="@drawable/ic_sysbar_quicksettings"
- android:baseline="21dp"
- android:contentDescription="@string/accessibility_settings_button"
- />
+ <ImageView
+ android:id="@+id/notification_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="16dp"
+ android:src="@drawable/ic_notification_open"
+ android:visibility="invisible"
+ android:contentDescription="@string/accessibility_notifications_button"
+ />
+ </FrameLayout>
- <ImageView
- android:id="@+id/notification_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignBaseline="@id/icons"
- android:layout_alignParentRight="true"
- android:paddingRight="16dp"
- android:src="@drawable/ic_notification_open"
- android:baseline="21dp"
- android:visibility="invisible"
- android:contentDescription="@string/accessibility_notifications_button"
- />
+ </TableRow>
+ </TableLayout>
<com.android.systemui.statusbar.tablet.HoloClock
android:id="@+id/clock"
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
index 135a04c..d9114a5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -135,7 +135,9 @@
ArrayList<ImageView> mWimaxIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mCombinedSignalIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mDataTypeIconViews = new ArrayList<ImageView>();
- ArrayList<TextView> mLabelViews = new ArrayList<TextView>();
+ ArrayList<TextView> mCombinedLabelViews = new ArrayList<TextView>();
+ ArrayList<TextView> mMobileLabelViews = new ArrayList<TextView>();
+ ArrayList<TextView> mWifiLabelViews = new ArrayList<TextView>();
ArrayList<SignalCluster> mSignalClusters = new ArrayList<SignalCluster>();
int mLastPhoneSignalIconId = -1;
int mLastDataDirectionIconId = -1;
@@ -144,7 +146,7 @@
int mLastWimaxIconId = -1;
int mLastCombinedSignalIconId = -1;
int mLastDataTypeIconId = -1;
- String mLastLabel = "";
+ String mLastCombinedLabel = "";
private boolean mHasMobileDataFeature;
@@ -257,8 +259,16 @@
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 @@
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 @@
break;
}
+ combinedLabel = mobileLabel;
combinedActivityIconId = mMobileActivityIconId;
combinedSignalIconId = mDataSignalIconId; // set by updateDataIcon()
mContentDescriptionCombinedSignal = mContentDescriptionDataType;
@@ -901,10 +917,13 @@
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 @@
}
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 @@
// 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 @@
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 @@
for (int i=0; i<N; i++) {
final ImageView v = mWifiIconViews.get(i);
if (mWifiIconId == 0) {
- v.setVisibility(View.INVISIBLE);
+ v.setVisibility(View.GONE);
} else {
v.setVisibility(View.VISIBLE);
v.setImageResource(mWifiIconId);
@@ -1044,7 +1065,7 @@
for (int i=0; i<N; i++) {
final ImageView v = mWimaxIconViews.get(i);
if (mWimaxIconId == 0) {
- v.setVisibility(View.INVISIBLE);
+ v.setVisibility(View.GONE);
} else {
v.setVisibility(View.VISIBLE);
v.setImageResource(mWimaxIconId);
@@ -1070,7 +1091,7 @@
for (int i=0; i<N; i++) {
final ImageView v = mDataTypeIconViews.get(i);
if (mDataTypeIconId == 0) {
- v.setVisibility(View.INVISIBLE);
+ v.setVisibility(View.GONE);
} else {
v.setVisibility(View.VISIBLE);
v.setImageResource(mDataTypeIconId);
@@ -1089,7 +1110,7 @@
for (int i=0; i<N; i++) {
final ImageView v = mDataDirectionOverlayIconViews.get(i);
if (combinedActivityIconId == 0) {
- v.setVisibility(View.INVISIBLE);
+ v.setVisibility(View.GONE);
} else {
v.setVisibility(View.VISIBLE);
v.setImageResource(combinedActivityIconId);
@@ -1098,15 +1119,29 @@
}
}
- // the label in the notification panel
- if (!mLastLabel.equals(label)) {
- mLastLabel = label;
- N = mLabelViews.size();
+ // the combinedLabel in the notification panel
+ if (!mLastCombinedLabel.equals(combinedLabel)) {
+ mLastCombinedLabel = combinedLabel;
+ N = mCombinedLabelViews.size();
for (int i=0; i<N; i++) {
- TextView v = mLabelViews.get(i);
- v.setText(label);
+ TextView v = mCombinedLabelViews.get(i);
+ v.setText(combinedLabel);
}
}
+
+ // wifi label
+ N = mWifiLabelViews.size();
+ for (int i=0; i<N; i++) {
+ TextView v = mWifiLabelViews.get(i);
+ v.setText(wifiLabel);
+ }
+
+ // mobile label
+ N = mMobileLabelViews.size();
+ for (int i=0; i<N; i++) {
+ TextView v = mMobileLabelViews.get(i);
+ v.setText(mobileLabel);
+ }
}
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
@@ -1220,8 +1255,8 @@
pw.print(Integer.toHexString(mLastDataTypeIconId));
pw.print("/");
pw.println(getResourceName(mLastDataTypeIconId));
- pw.print(" mLastLabel=");
- pw.print(mLastLabel);
+ pw.print(" mLastCombinedLabel=");
+ pw.print(mLastCombinedLabel);
pw.println("");
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
index 510fd3b..8e58649 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
@@ -316,8 +316,8 @@
public void updatePanelModeButtons() {
final boolean settingsVisible = (mSettingsView != null);
- mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.INVISIBLE);
- mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.INVISIBLE);
+ mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.GONE);
+ mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.GONE);
}
public boolean isInContentArea(int x, int y) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index 05ad793..6913239 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -218,11 +218,6 @@
// network icons: either a combo icon that switches between mobile and data, or distinct
// mobile and data icons
- final ImageView comboRSSI =
- (ImageView)mNotificationPanel.findViewById(R.id.network_signal);
- if (comboRSSI != null) {
- mNetworkController.addCombinedSignalIconView(comboRSSI);
- }
final ImageView mobileRSSI =
(ImageView)mNotificationPanel.findViewById(R.id.mobile_signal);
if (mobileRSSI != null) {
@@ -233,14 +228,14 @@
if (wifiRSSI != null) {
mNetworkController.addWifiIconView(wifiRSSI);
}
+ mNetworkController.addWifiLabelView(
+ (TextView)mNotificationPanel.findViewById(R.id.wifi_text));
mNetworkController.addDataTypeIconView(
- (ImageView)mNotificationPanel.findViewById(R.id.network_type));
- mNetworkController.addDataDirectionOverlayIconView(
- (ImageView)mNotificationPanel.findViewById(R.id.network_direction));
- mNetworkController.addLabelView(
- (TextView)mNotificationPanel.findViewById(R.id.network_text));
- mNetworkController.addLabelView(
+ (ImageView)mNotificationPanel.findViewById(R.id.mobile_type));
+ mNetworkController.addMobileLabelView(
+ (TextView)mNotificationPanel.findViewById(R.id.mobile_text));
+ mNetworkController.addCombinedLabelView(
(TextView)mBarContents.findViewById(R.id.network_text));
mStatusBarView.setIgnoreChildren(0, mNotificationTrigger, mNotificationPanel);