Merge "Clean up wifi/mobile indicators in the expanded panel." into ics-mr1

This commit is contained in:
Daniel Sandler
2012-01-12 11:38:39 -08:00
committed by Android (Google) Code Review
4 changed files with 201 additions and 124 deletions

View File

@@ -25,67 +25,107 @@
android:background="@drawable/notify_panel_clock_bg" android:background="@drawable/notify_panel_clock_bg"
> >
<LinearLayout <TableLayout
android:id="@+id/icons" android:id="@+id/icons"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:baselineAlignedChildIndex="0"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginBottom="16dp" android:layout_marginBottom="16dp"
android:shrinkColumns="2,4"
android:stretchColumns="7"
> >
<TableRow>
<!-- to keep the column ids stable we wrap disappearing views in
frames -->
<FrameLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
>
<ImageView <ImageView
android:id="@+id/bluetooth" android:id="@+id/bluetooth"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:scaleType="centerInside" android:scaleType="centerInside"
android:baseline="18dp"
android:visibility="gone" android:visibility="gone"
android:contentDescription="@null" android:contentDescription="@null"
android:layout_gravity="center_vertical"
/> />
</FrameLayout>
<!-- mobile data -->
<FrameLayout <FrameLayout
android:id="@+id/netwerk" android:id="@+id/mobile_icon"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_marginRight="4dp" android:paddingRight="4dp"
android:layout_gravity="center_vertical"
> >
<ImageView <ImageView
android:id="@+id/network_signal" android:id="@+id/mobile_signal"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:contentDescription="@null" android:contentDescription="@null"
/> />
<ImageView <ImageView
android:id="@+id/network_type" android:id="@+id/mobile_type"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:contentDescription="@null"
/>
<ImageView
android:id="@+id/network_direction"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:contentDescription="@null" android:contentDescription="@null"
/> />
</FrameLayout> </FrameLayout>
<TextView <TextView
android:id="@+id/network_text" android:id="@+id/mobile_text"
style="@style/StatusBarNotificationText" style="@style/StatusBarNotificationText"
android:layout_gravity="left|center_vertical"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/netwerk" android:paddingRight="8dp"
android:layout_marginRight="8dp" android:layout_weight="1"
android:layout_alignBaseline="@id/network_signal"
android:singleLine="true" 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" android:text="@string/status_bar_settings_settings_button"
/> />
@@ -94,11 +134,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:scaleType="centerInside" android:scaleType="centerInside"
android:layout_toRightOf="@id/network_text" android:layout_gravity="center_vertical"
android:layout_alignBaseline="@id/network_signal" android:layout_alignBaseline="@id/wifi_signal"
android:baseline="18dp" android:paddingLeft="8dp"
android:layout_marginLeft="8dp" android:paddingRight="8dp"
android:layout_marginRight="8dp"
android:contentDescription="@null" android:contentDescription="@null"
/> />
@@ -107,23 +146,30 @@
style="@style/StatusBarNotificationText" style="@style/StatusBarNotificationText"
android:layout_width="56dp" android:layout_width="56dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/battery" android:layout_gravity="left|center_vertical"
android:layout_alignBaseline="@id/battery" android:paddingRight="8dp"
android:layout_marginRight="8dp"
android:singleLine="true" android:singleLine="true"
android:text="@string/status_bar_settings_settings_button" android:text="@string/status_bar_settings_settings_button"
/> />
</LinearLayout>
<!-- this will stretch to eat up available space -->
<View
android:layout_width="0dp"
android:layout_height="0dp"
/>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
>
<ImageView <ImageView
android:id="@+id/settings_button" android:id="@+id/settings_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignBaseline="@id/icons"
android:layout_alignParentRight="true"
android:paddingRight="16dp" android:paddingRight="16dp"
android:src="@drawable/ic_sysbar_quicksettings" android:src="@drawable/ic_sysbar_quicksettings"
android:baseline="21dp"
android:contentDescription="@string/accessibility_settings_button" android:contentDescription="@string/accessibility_settings_button"
/> />
@@ -131,14 +177,15 @@
android:id="@+id/notification_button" android:id="@+id/notification_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignBaseline="@id/icons"
android:layout_alignParentRight="true"
android:paddingRight="16dp" android:paddingRight="16dp"
android:src="@drawable/ic_notification_open" android:src="@drawable/ic_notification_open"
android:baseline="21dp"
android:visibility="invisible" android:visibility="invisible"
android:contentDescription="@string/accessibility_notifications_button" android:contentDescription="@string/accessibility_notifications_button"
/> />
</FrameLayout>
</TableRow>
</TableLayout>
<com.android.systemui.statusbar.tablet.HoloClock <com.android.systemui.statusbar.tablet.HoloClock
android:id="@+id/clock" android:id="@+id/clock"

View File

@@ -135,7 +135,9 @@ public class NetworkController extends BroadcastReceiver {
ArrayList<ImageView> mWimaxIconViews = new ArrayList<ImageView>(); ArrayList<ImageView> mWimaxIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mCombinedSignalIconViews = new ArrayList<ImageView>(); ArrayList<ImageView> mCombinedSignalIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mDataTypeIconViews = 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>(); ArrayList<SignalCluster> mSignalClusters = new ArrayList<SignalCluster>();
int mLastPhoneSignalIconId = -1; int mLastPhoneSignalIconId = -1;
int mLastDataDirectionIconId = -1; int mLastDataDirectionIconId = -1;
@@ -144,7 +146,7 @@ public class NetworkController extends BroadcastReceiver {
int mLastWimaxIconId = -1; int mLastWimaxIconId = -1;
int mLastCombinedSignalIconId = -1; int mLastCombinedSignalIconId = -1;
int mLastDataTypeIconId = -1; int mLastDataTypeIconId = -1;
String mLastLabel = ""; String mLastCombinedLabel = "";
private boolean mHasMobileDataFeature; private boolean mHasMobileDataFeature;
@@ -257,8 +259,16 @@ public class NetworkController extends BroadcastReceiver {
mDataTypeIconViews.add(v); mDataTypeIconViews.add(v);
} }
public void addLabelView(TextView v) { public void addCombinedLabelView(TextView v) {
mLabelViews.add(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) { public void addSignalCluster(SignalCluster cluster) {
@@ -873,11 +883,16 @@ public class NetworkController extends BroadcastReceiver {
int combinedSignalIconId = 0; int combinedSignalIconId = 0;
int combinedActivityIconId = 0; int combinedActivityIconId = 0;
String label = ""; String combinedLabel = "";
String wifiLabel = "";
String mobileLabel = "";
int N; int N;
if (mDataConnected) { if (mDataConnected) {
label = mNetworkName; mobileLabel = mNetworkName;
if (DEBUG) {
mobileLabel += "yyyyYYYYyyyyYYYY";
}
combinedSignalIconId = mDataSignalIconId; combinedSignalIconId = mDataSignalIconId;
switch (mDataActivity) { switch (mDataActivity) {
case TelephonyManager.DATA_ACTIVITY_IN: case TelephonyManager.DATA_ACTIVITY_IN:
@@ -894,6 +909,7 @@ public class NetworkController extends BroadcastReceiver {
break; break;
} }
combinedLabel = mobileLabel;
combinedActivityIconId = mMobileActivityIconId; combinedActivityIconId = mMobileActivityIconId;
combinedSignalIconId = mDataSignalIconId; // set by updateDataIcon() combinedSignalIconId = mDataSignalIconId; // set by updateDataIcon()
mContentDescriptionCombinedSignal = mContentDescriptionDataType; mContentDescriptionCombinedSignal = mContentDescriptionDataType;
@@ -901,10 +917,13 @@ public class NetworkController extends BroadcastReceiver {
if (mWifiConnected) { if (mWifiConnected) {
if (mWifiSsid == null) { 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 mWifiActivityIconId = 0; // no wifis, no bits
} else { } else {
label = mWifiSsid; wifiLabel = mWifiSsid;
if (DEBUG) {
wifiLabel += "xxxxXXXXxxxxXXXX";
}
switch (mWifiActivity) { switch (mWifiActivity) {
case WifiManager.DATA_ACTIVITY_IN: case WifiManager.DATA_ACTIVITY_IN:
mWifiActivityIconId = R.drawable.stat_sys_wifi_in; mWifiActivityIconId = R.drawable.stat_sys_wifi_in;
@@ -922,12 +941,13 @@ public class NetworkController extends BroadcastReceiver {
} }
combinedActivityIconId = mWifiActivityIconId; combinedActivityIconId = mWifiActivityIconId;
combinedLabel = wifiLabel;
combinedSignalIconId = mWifiIconId; // set by updateWifiIcons() combinedSignalIconId = mWifiIconId; // set by updateWifiIcons()
mContentDescriptionCombinedSignal = mContentDescriptionWifi; mContentDescriptionCombinedSignal = mContentDescriptionWifi;
} }
if (mBluetoothTethered) { if (mBluetoothTethered) {
label = mContext.getString(R.string.bluetooth_tethered); combinedLabel = mContext.getString(R.string.bluetooth_tethered);
combinedSignalIconId = mBluetoothTetherIconId; combinedSignalIconId = mBluetoothTetherIconId;
mContentDescriptionCombinedSignal = mContext.getString( mContentDescriptionCombinedSignal = mContext.getString(
R.string.accessibility_bluetooth_tether); R.string.accessibility_bluetooth_tether);
@@ -945,7 +965,8 @@ public class NetworkController extends BroadcastReceiver {
// combined values from connected wifi take precedence over airplane mode // combined values from connected wifi take precedence over airplane mode
if (!mWifiConnected) { 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; mContentDescriptionCombinedSignal = mContentDescriptionPhoneSignal;
combinedSignalIconId = mDataSignalIconId; combinedSignalIconId = mDataSignalIconId;
} }
@@ -953,7 +974,7 @@ public class NetworkController extends BroadcastReceiver {
else if (!mDataConnected && !mWifiConnected && !mBluetoothTethered && !mWimaxConnected) { else if (!mDataConnected && !mWifiConnected && !mBluetoothTethered && !mWimaxConnected) {
// pretty much totally disconnected // 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 // On devices without mobile radios, we want to show the wifi icon
combinedSignalIconId = combinedSignalIconId =
mHasMobileDataFeature ? mDataSignalIconId : mWifiIconId; mHasMobileDataFeature ? mDataSignalIconId : mWifiIconId;
@@ -1028,7 +1049,7 @@ public class NetworkController extends BroadcastReceiver {
for (int i=0; i<N; i++) { for (int i=0; i<N; i++) {
final ImageView v = mWifiIconViews.get(i); final ImageView v = mWifiIconViews.get(i);
if (mWifiIconId == 0) { if (mWifiIconId == 0) {
v.setVisibility(View.INVISIBLE); v.setVisibility(View.GONE);
} else { } else {
v.setVisibility(View.VISIBLE); v.setVisibility(View.VISIBLE);
v.setImageResource(mWifiIconId); v.setImageResource(mWifiIconId);
@@ -1044,7 +1065,7 @@ public class NetworkController extends BroadcastReceiver {
for (int i=0; i<N; i++) { for (int i=0; i<N; i++) {
final ImageView v = mWimaxIconViews.get(i); final ImageView v = mWimaxIconViews.get(i);
if (mWimaxIconId == 0) { if (mWimaxIconId == 0) {
v.setVisibility(View.INVISIBLE); v.setVisibility(View.GONE);
} else { } else {
v.setVisibility(View.VISIBLE); v.setVisibility(View.VISIBLE);
v.setImageResource(mWimaxIconId); v.setImageResource(mWimaxIconId);
@@ -1070,7 +1091,7 @@ public class NetworkController extends BroadcastReceiver {
for (int i=0; i<N; i++) { for (int i=0; i<N; i++) {
final ImageView v = mDataTypeIconViews.get(i); final ImageView v = mDataTypeIconViews.get(i);
if (mDataTypeIconId == 0) { if (mDataTypeIconId == 0) {
v.setVisibility(View.INVISIBLE); v.setVisibility(View.GONE);
} else { } else {
v.setVisibility(View.VISIBLE); v.setVisibility(View.VISIBLE);
v.setImageResource(mDataTypeIconId); v.setImageResource(mDataTypeIconId);
@@ -1089,7 +1110,7 @@ public class NetworkController extends BroadcastReceiver {
for (int i=0; i<N; i++) { for (int i=0; i<N; i++) {
final ImageView v = mDataDirectionOverlayIconViews.get(i); final ImageView v = mDataDirectionOverlayIconViews.get(i);
if (combinedActivityIconId == 0) { if (combinedActivityIconId == 0) {
v.setVisibility(View.INVISIBLE); v.setVisibility(View.GONE);
} else { } else {
v.setVisibility(View.VISIBLE); v.setVisibility(View.VISIBLE);
v.setImageResource(combinedActivityIconId); v.setImageResource(combinedActivityIconId);
@@ -1098,15 +1119,29 @@ public class NetworkController extends BroadcastReceiver {
} }
} }
// the label in the notification panel // the combinedLabel in the notification panel
if (!mLastLabel.equals(label)) { if (!mLastCombinedLabel.equals(combinedLabel)) {
mLastLabel = label; mLastCombinedLabel = combinedLabel;
N = mLabelViews.size(); N = mCombinedLabelViews.size();
for (int i=0; i<N; i++) { for (int i=0; i<N; i++) {
TextView v = mLabelViews.get(i); TextView v = mCombinedLabelViews.get(i);
v.setText(label); 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) { public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
@@ -1220,8 +1255,8 @@ public class NetworkController extends BroadcastReceiver {
pw.print(Integer.toHexString(mLastDataTypeIconId)); pw.print(Integer.toHexString(mLastDataTypeIconId));
pw.print("/"); pw.print("/");
pw.println(getResourceName(mLastDataTypeIconId)); pw.println(getResourceName(mLastDataTypeIconId));
pw.print(" mLastLabel="); pw.print(" mLastCombinedLabel=");
pw.print(mLastLabel); pw.print(mLastCombinedLabel);
pw.println(""); pw.println("");
} }

View File

@@ -316,8 +316,8 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel,
public void updatePanelModeButtons() { public void updatePanelModeButtons() {
final boolean settingsVisible = (mSettingsView != null); final boolean settingsVisible = (mSettingsView != null);
mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.INVISIBLE); mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.GONE);
mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.INVISIBLE); mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.GONE);
} }
public boolean isInContentArea(int x, int y) { public boolean isInContentArea(int x, int y) {

View File

@@ -218,11 +218,6 @@ public class TabletStatusBar extends StatusBar implements
// network icons: either a combo icon that switches between mobile and data, or distinct // network icons: either a combo icon that switches between mobile and data, or distinct
// mobile and data icons // mobile and data icons
final ImageView comboRSSI =
(ImageView)mNotificationPanel.findViewById(R.id.network_signal);
if (comboRSSI != null) {
mNetworkController.addCombinedSignalIconView(comboRSSI);
}
final ImageView mobileRSSI = final ImageView mobileRSSI =
(ImageView)mNotificationPanel.findViewById(R.id.mobile_signal); (ImageView)mNotificationPanel.findViewById(R.id.mobile_signal);
if (mobileRSSI != null) { if (mobileRSSI != null) {
@@ -233,14 +228,14 @@ public class TabletStatusBar extends StatusBar implements
if (wifiRSSI != null) { if (wifiRSSI != null) {
mNetworkController.addWifiIconView(wifiRSSI); mNetworkController.addWifiIconView(wifiRSSI);
} }
mNetworkController.addWifiLabelView(
(TextView)mNotificationPanel.findViewById(R.id.wifi_text));
mNetworkController.addDataTypeIconView( mNetworkController.addDataTypeIconView(
(ImageView)mNotificationPanel.findViewById(R.id.network_type)); (ImageView)mNotificationPanel.findViewById(R.id.mobile_type));
mNetworkController.addDataDirectionOverlayIconView( mNetworkController.addMobileLabelView(
(ImageView)mNotificationPanel.findViewById(R.id.network_direction)); (TextView)mNotificationPanel.findViewById(R.id.mobile_text));
mNetworkController.addLabelView( mNetworkController.addCombinedLabelView(
(TextView)mNotificationPanel.findViewById(R.id.network_text));
mNetworkController.addLabelView(
(TextView)mBarContents.findViewById(R.id.network_text)); (TextView)mBarContents.findViewById(R.id.network_text));
mStatusBarView.setIgnoreChildren(0, mNotificationTrigger, mNotificationPanel); mStatusBarView.setIgnoreChildren(0, mNotificationTrigger, mNotificationPanel);