summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joe Onorato <joeo@google.com> 2011-02-01 17:00:29 -0800
committer Joe Onorato <joeo@google.com> 2011-02-02 21:14:17 -0800
commitfce2bf3735177828ccf823b49d3396dfaccc8fd4 (patch)
treeb138d46a185ae0e9c572b93c3eeb8b8dc51038cd
parent22d23eb5d1093a6525621db211b2f4ac4983c6ba (diff)
Add a bluetooth icon and data direction to the status bar.
Bug: 3354414 Change-Id: I21cc9a2597e3b22bc5860a042d8a8cc4e93ca5b3
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.pngbin700 -> 944 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.pngbin826 -> 1448 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_signal_in.pngbin0 -> 1492 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_signal_out.pngbin0 -> 1488 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_in.pngbin0 -> 1579 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_inout.pngbin0 -> 1729 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_out.pngbin0 -> 1669 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth.pngbin484 -> 677 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth_connected.pngbin550 -> 988 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_in.pngbin0 -> 1015 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_inout.pngbin0 -> 1205 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_signal_out.pngbin0 -> 992 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_in.pngbin0 -> 1057 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_inout.pngbin0 -> 1141 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_out.pngbin0 -> 1068 bytes
-rw-r--r--packages/SystemUI/res/layout-xlarge/status_bar_notification_area.xml11
-rw-r--r--packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml118
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java79
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java57
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java10
20 files changed, 210 insertions, 65 deletions
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png
index 08f1993feaf7..fe9be2ca1179 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
index 4a40b14f1ef4..f9b39666ec55 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_bluetooth_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_in.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_in.png
new file mode 100644
index 000000000000..883808abc328
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_in.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_out.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_out.png
new file mode 100644
index 000000000000..8ea42c79c44e
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_out.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_in.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_in.png
new file mode 100644
index 000000000000..71429ae49123
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_in.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_inout.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_inout.png
new file mode 100644
index 000000000000..5c34554dddbd
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_inout.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_out.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_out.png
new file mode 100644
index 000000000000..44e7072b7dd1
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_out.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth.png
index 5ca2415a6670..45a97fd233ac 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth_connected.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth_connected.png
index b727c2d81310..306afd09804f 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth_connected.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_bluetooth_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_in.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_in.png
new file mode 100644
index 000000000000..e429ea180546
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_in.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_inout.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_inout.png
new file mode 100644
index 000000000000..e3bcaf955fb5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_inout.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_out.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_out.png
new file mode 100644
index 000000000000..26db91e1241b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_out.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_in.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_in.png
new file mode 100644
index 000000000000..957c5baa9832
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_in.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_inout.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_inout.png
new file mode 100644
index 000000000000..aec60502a575
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_inout.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_out.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_out.png
new file mode 100644
index 000000000000..bb8eea0d7fc7
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_out.png
Binary files differ
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar_notification_area.xml b/packages/SystemUI/res/layout-xlarge/status_bar_notification_area.xml
index 4e41e538fef4..12b7c15c10f2 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar_notification_area.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar_notification_area.xml
@@ -108,6 +108,12 @@
android:orientation="horizontal"
android:gravity="center"
>
+ <ImageView
+ android:id="@+id/bluetooth"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:visibility="gone"
+ />
<FrameLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
@@ -123,6 +129,11 @@
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
+ <ImageView
+ android:id="@+id/network_direction"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ />
</FrameLayout>
<ImageView
android:id="@+id/battery"
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml b/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml
index 15b2b708d46e..c87960950d8c 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml
@@ -23,67 +23,89 @@
android:orientation="vertical"
android:background="@drawable/notify_panel_clock_bg"
>
- <ImageView
- android:id="@+id/network_signal"
- android:layout_height="32dp"
- android:layout_width="32dp"
- android:scaleType="centerInside"
+ <LinearLayout
+ android:id="@+id/icons"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
- android:baseline="22dp"
+ android:baselineAlignedChildIndex="0"
android:layout_marginLeft="32dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
- />
-
- <ImageView
- android:id="@+id/network_type"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:layout_alignLeft="@id/network_signal"
- android:layout_alignBottom="@id/network_signal"
- android:layout_marginRight="8dp"
- />
+ >
+ <ImageView
+ android:id="@+id/bluetooth"
+ android:layout_height="32dp"
+ android:layout_width="32dp"
+ android:scaleType="centerInside"
+ android:baseline="22dp"
+ android:visibility="gone"
+ />
- <TextView
- android:id="@+id/network_text"
- style="@style/StatusBarNotificationText"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/network_signal"
- android:layout_marginRight="8dp"
- android:layout_alignBaseline="@id/network_signal"
- android:singleLine="true"
- android:text="@string/status_bar_settings_settings_button"
- />
+ <FrameLayout
+ android:id="@+id/netwerk"
+ android:layout_height="32dp"
+ android:layout_width="32dp"
+ android:layout_marginRight="4dp"
+ >
+ <ImageView
+ android:id="@+id/network_signal"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ />
+ <ImageView
+ android:id="@+id/network_type"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ />
+ <ImageView
+ android:id="@+id/network_direction"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ />
+ </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"
+ />
- <ImageView
- android:id="@+id/battery"
- android:layout_height="32dp"
- android:layout_width="32dp"
- android:scaleType="centerInside"
- android:layout_toRightOf="@id/network_text"
- android:layout_alignBaseline="@id/network_signal"
- android:baseline="22dp"
- />
+ <ImageView
+ android:id="@+id/battery"
+ android:layout_height="32dp"
+ android:layout_width="32dp"
+ android:scaleType="centerInside"
+ android:layout_toRightOf="@id/network_text"
+ android:layout_alignBaseline="@id/network_signal"
+ android:baseline="22dp"
+ />
- <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"
- />
+ <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:layout_alignBaseline="@id/battery"
+ android:layout_alignBaseline="@id/icons"
android:layout_alignParentRight="true"
android:paddingRight="16dp"
android:src="@drawable/ic_sysbar_quicksettings"
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
new file mode 100644
index 000000000000..0525054b4aaa
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.policy;
+
+import java.util.ArrayList;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.util.Slog;
+import android.view.View;
+import android.widget.ImageView;
+
+import com.android.systemui.R;
+
+public class BluetoothController extends BroadcastReceiver {
+ private static final String TAG = "StatusBar.BluetoothController";
+
+ private Context mContext;
+ private ArrayList<ImageView> mIconViews = new ArrayList<ImageView>();
+
+ private int mIconId = R.drawable.stat_sys_data_bluetooth;
+ private boolean mEnabled;
+
+ public BluetoothController(Context context) {
+ mContext = context;
+
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
+ filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
+ context.registerReceiver(this, filter);
+ }
+
+ public void addIconView(ImageView v) {
+ mIconViews.add(v);
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
+ int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
+ mEnabled = state == BluetoothAdapter.STATE_ON;
+ } else if (action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {
+ int state = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
+ BluetoothAdapter.STATE_DISCONNECTED);
+ if (state == BluetoothAdapter.STATE_CONNECTED) {
+ mIconId = R.drawable.stat_sys_data_bluetooth_connected;
+ } else {
+ mIconId = R.drawable.stat_sys_data_bluetooth;
+ }
+ }
+
+
+ int N = mIconViews.size();
+ for (int i=0; i<N; i++) {
+ ImageView v = mIconViews.get(i);
+ v.setImageResource(mIconId);
+ v.setVisibility(mEnabled ? View.VISIBLE : View.GONE);
+ }
+ }
+}
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 c94f9ee8808c..42868db00788 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -75,8 +75,8 @@ public class NetworkController extends BroadcastReceiver {
String mNetworkNameSeparator;
int mPhoneSignalIconId;
int mDataDirectionIconId;
+ int mDataDirectionOverlayIconId;
int mDataSignalIconId;
- int mDataActiveSignalIconId;
int mDataTypeIconId;
boolean mDataActive;
@@ -101,12 +101,14 @@ public class NetworkController extends BroadcastReceiver {
Context mContext;
ArrayList<ImageView> mPhoneSignalIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mDataDirectionIconViews = new ArrayList<ImageView>();
+ ArrayList<ImageView> mDataDirectionOverlayIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mWifiIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mCombinedSignalIconViews = new ArrayList<ImageView>();
ArrayList<ImageView> mDataTypeIconViews = new ArrayList<ImageView>();
ArrayList<TextView> mLabelViews = new ArrayList<TextView>();
int mLastPhoneSignalIconId = -1;
int mLastDataDirectionIconId = -1;
+ int mLastDataDirectionOverlayIconId = -1;
int mLastWifiIconId = -1;
int mLastCombinedSignalIconId = -1;
int mLastDataTypeIconId = -1;
@@ -163,6 +165,10 @@ public class NetworkController extends BroadcastReceiver {
mDataDirectionIconViews.add(v);
}
+ public void addDataDirectionOverlayIconView(ImageView v) {
+ mDataDirectionOverlayIconViews.add(v);
+ }
+
public void addWifiIconView(ImageView v) {
mWifiIconViews.add(v);
}
@@ -367,17 +373,15 @@ public class NetworkController extends BroadcastReceiver {
if (Settings.System.getInt(mContext.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1) {
mPhoneSignalIconId = R.drawable.stat_sys_signal_flightmode;
- mDataActiveSignalIconId = mDataSignalIconId = R.drawable.stat_sys_signal_flightmode;
+ mDataSignalIconId = R.drawable.stat_sys_signal_flightmode;
} else {
mPhoneSignalIconId = R.drawable.stat_sys_signal_null;
- // note we use 0 instead of null
- mDataActiveSignalIconId = mDataSignalIconId = R.drawable.stat_sys_signal_0;
+ mDataSignalIconId = R.drawable.stat_sys_signal_0; // note we use 0 instead of null
}
} else {
if (mSignalStrength == null) {
mPhoneSignalIconId = R.drawable.stat_sys_signal_null;
- // note we use 0 instead of null
- mDataActiveSignalIconId = mDataSignalIconId = R.drawable.stat_sys_signal_0;
+ mDataSignalIconId = R.drawable.stat_sys_signal_0; // note we use 0 instead of null
} else if (isCdma()) {
// If 3G(EV) and 1x network are available than 3G should be
// displayed, displayed RSSI should be from the EV side.
@@ -396,8 +400,6 @@ public class NetworkController extends BroadcastReceiver {
}
mPhoneSignalIconId = iconList[iconLevel];
mDataSignalIconId = TelephonyIcons.DATA_SIGNAL_STRENGTH[mInetCondition][iconLevel];
- mDataActiveSignalIconId
- = TelephonyIcons.DATA_SIGNAL_STRENGTH_ACTIVE[mInetCondition][iconLevel];
} else {
int asu = mSignalStrength.getGsmSignalStrength();
@@ -421,8 +423,6 @@ public class NetworkController extends BroadcastReceiver {
}
mPhoneSignalIconId = iconList[iconLevel];
mDataSignalIconId = TelephonyIcons.DATA_SIGNAL_STRENGTH[mInetCondition][iconLevel];
- mDataActiveSignalIconId
- = TelephonyIcons.DATA_SIGNAL_STRENGTH_ACTIVE[mInetCondition][iconLevel];
}
}
}
@@ -685,6 +685,7 @@ public class NetworkController extends BroadcastReceiver {
Context context = mContext;
int combinedSignalIconId;
+ int dataDirectionOverlayIconId = 0;
int dataTypeIconId;
String label;
int N;
@@ -699,16 +700,22 @@ public class NetworkController extends BroadcastReceiver {
dataTypeIconId = 0;
} else if (mDataConnected) {
label = mNetworkName;
+ combinedSignalIconId = mDataSignalIconId;
switch (mDataActivity) {
case TelephonyManager.DATA_ACTIVITY_IN:
+ dataDirectionOverlayIconId = R.drawable.stat_sys_signal_in;
+ break;
case TelephonyManager.DATA_ACTIVITY_OUT:
+ dataDirectionOverlayIconId = R.drawable.stat_sys_signal_out;
+ break;
case TelephonyManager.DATA_ACTIVITY_INOUT:
- combinedSignalIconId = mDataActiveSignalIconId;
+ dataDirectionOverlayIconId = R.drawable.stat_sys_signal_inout;
break;
default:
- combinedSignalIconId = mDataSignalIconId;
+ dataDirectionOverlayIconId = 0;
break;
}
+ combinedSignalIconId = mDataSignalIconId;
dataTypeIconId = mDataTypeIconId;
} else if (mBluetoothTethered) {
label = mContext.getString(R.string.bluetooth_tethered);
@@ -724,11 +731,11 @@ public class NetworkController extends BroadcastReceiver {
Slog.d(TAG, "refreshViews combinedSignalIconId=0x"
+ Integer.toHexString(combinedSignalIconId)
+ "/" + getResourceName(combinedSignalIconId)
+ + " dataDirectionOverlayIconId=0x" + Integer.toHexString(dataDirectionOverlayIconId)
+ " mDataActivity=" + mDataActivity
+ " mPhoneSignalIconId=0x" + Integer.toHexString(mPhoneSignalIconId)
+ " mDataDirectionIconId=0x" + Integer.toHexString(mDataDirectionIconId)
+ " mDataSignalIconId=0x" + Integer.toHexString(mDataSignalIconId)
- + " mDataActiveSignalIconId=0x" + Integer.toHexString(mDataActiveSignalIconId)
+ " mDataTypeIconId=0x" + Integer.toHexString(mDataTypeIconId)
+ " mWifiIconId=0x" + Integer.toHexString(mWifiIconId)
+ " mBluetoothTetherIconId=0x" + Integer.toHexString(mBluetoothTetherIconId));
@@ -789,6 +796,22 @@ public class NetworkController extends BroadcastReceiver {
}
}
+ // the data direction overlay
+ if (mLastDataDirectionOverlayIconId != dataDirectionOverlayIconId) {
+ Slog.d(TAG, "changing data overlay icon id to " + dataDirectionOverlayIconId);
+ mLastDataDirectionOverlayIconId = dataDirectionOverlayIconId;
+ N = mDataDirectionOverlayIconViews.size();
+ for (int i=0; i<N; i++) {
+ final ImageView v = mDataDirectionOverlayIconViews.get(i);
+ if (dataDirectionOverlayIconId == 0) {
+ v.setVisibility(View.INVISIBLE);
+ } else {
+ v.setVisibility(View.VISIBLE);
+ v.setImageResource(dataDirectionOverlayIconId);
+ }
+ }
+ }
+
// the label in the notification panel
if (!mLastLabel.equals(label)) {
mLastLabel = label;
@@ -834,10 +857,6 @@ public class NetworkController extends BroadcastReceiver {
pw.print(Integer.toHexString(mDataSignalIconId));
pw.print("/");
pw.println(getResourceName(mDataSignalIconId));
- pw.print(" mDataActiveSignalIconId=");
- pw.print(Integer.toHexString(mDataActiveSignalIconId));
- pw.print("/");
- pw.println(getResourceName(mDataActiveSignalIconId));
pw.print(" mDataTypeIconId=");
pw.print(Integer.toHexString(mDataTypeIconId));
pw.print("/");
@@ -872,6 +891,10 @@ public class NetworkController extends BroadcastReceiver {
pw.print(Integer.toHexString(mLastDataDirectionIconId));
pw.print("/");
pw.println(getResourceName(mLastDataDirectionIconId));
+ pw.print(" mLastDataDirectionOverlayIconId=0x");
+ pw.print(Integer.toHexString(mLastDataDirectionOverlayIconId));
+ pw.print("/");
+ pw.println(getResourceName(mLastDataDirectionOverlayIconId));
pw.print(" mLastWifiIconId=0x");
pw.print(Integer.toHexString(mLastWifiIconId));
pw.print("/");
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 4373dba7a62f..6f8074ebb686 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -64,6 +64,7 @@ import com.android.internal.statusbar.StatusBarNotification;
import com.android.systemui.R;
import com.android.systemui.statusbar.*;
import com.android.systemui.statusbar.policy.BatteryController;
+import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.recent.RecentApplicationsActivity;
@@ -133,6 +134,7 @@ public class TabletStatusBar extends StatusBar implements
HeightReceiver mHeightReceiver;
BatteryController mBatteryController;
+ BluetoothController mBluetoothController;
NetworkController mNetworkController;
View mBarContents;
@@ -170,10 +172,14 @@ public class TabletStatusBar extends StatusBar implements
mBatteryController.addIconView((ImageView)mNotificationPanel.findViewById(R.id.battery));
mBatteryController.addLabelView(
(TextView)mNotificationPanel.findViewById(R.id.battery_text));
+ mBluetoothController.addIconView(
+ (ImageView)mNotificationPanel.findViewById(R.id.bluetooth));
mNetworkController.addCombinedSignalIconView(
(ImageView)mNotificationPanel.findViewById(R.id.network_signal));
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(
@@ -355,11 +361,15 @@ public class TabletStatusBar extends StatusBar implements
// The icons
mBatteryController = new BatteryController(mContext);
mBatteryController.addIconView((ImageView)sb.findViewById(R.id.battery));
+ mBluetoothController = new BluetoothController(mContext);
+ mBluetoothController.addIconView((ImageView)sb.findViewById(R.id.bluetooth));
mNetworkController = new NetworkController(mContext);
mNetworkController.addCombinedSignalIconView(
(ImageView)sb.findViewById(R.id.network_signal));
mNetworkController.addDataTypeIconView(
(ImageView)sb.findViewById(R.id.network_type));
+ mNetworkController.addDataDirectionOverlayIconView(
+ (ImageView)sb.findViewById(R.id.network_direction));
// The navigation buttons
mBackButton = (ImageView)sb.findViewById(R.id.back);