diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.png deleted file mode 100644 index 9ababb741ee01..0000000000000 Binary files a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_battery_mini.png and /dev/null differ diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.png deleted file mode 100644 index ffbd2d3fe7dbb..0000000000000 Binary files a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_wifi_mini.png and /dev/null differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png index e81cd7c53237e..9216030a84544 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png index e81cd7c53237e..9216030a84544 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png index c56ae8a898787..e529f6f98303c 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png index bf720cbb6a13f..e529f6f98303c 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.png new file mode 100644 index 0000000000000..02c27ee445824 Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1x.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png index 38e3b244f2e6f..57558ad14382c 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png index 3559497067890..57558ad14382c 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png index 6f98e72819408..e4425b2b1eac5 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png index 8b932a667ae85..e4425b2b1eac5 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.png new file mode 100644 index 0000000000000..84ac92760d18c Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3g.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png index 759631c6047b3..09de6b093a811 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png index 45c45092f3d33..09de6b093a811 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.png new file mode 100644 index 0000000000000..13cae40b84fad Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_edge.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png index da5b02c345d1c..690b5f6c72219 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.png new file mode 100644 index 0000000000000..d0a4fd01a788b Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_gprs.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.png new file mode 100644 index 0000000000000..05976bd06c793 Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_hsdpa.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.png new file mode 100644 index 0000000000000..2cc3cd642c06c Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_roam.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png index 2989939be2b31..1c59b2add7aba 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.png new file mode 100644 index 0000000000000..1c59b2add7aba Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png index 6f40cb44713ed..32e916587dc18 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png index 60e3794a40325..32e916587dc18 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png index ab1b0c673ad24..ea71298a2c27d 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png index eb259196f6e91..ea71298a2c27d 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png index b574115f99cfc..869a497dae717 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png index 14cd8facf33c1..869a497dae717 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3_fully.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png index 3b81cebcd5782..1711c8252fa9d 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png differ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png index ef7298035d97a..1711c8252fa9d 100644 Binary files a/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png and b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4_fully.png differ diff --git a/packages/SystemUI/res/layout-xlarge/status_bar.xml b/packages/SystemUI/res/layout-xlarge/status_bar.xml index 4fa306ea80609..488dbbaa524c5 100644 --- a/packages/SystemUI/res/layout-xlarge/status_bar.xml +++ b/packages/SystemUI/res/layout-xlarge/status_bar.xml @@ -80,21 +80,24 @@ android:layout_width="48dip" android:layout_height="match_parent" android:orientation="horizontal" + android:gravity="center" > - + diff --git a/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml b/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml index f9e2d5e78ed1b..5fa8b3bbf8f68 100644 --- a/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml +++ b/packages/SystemUI/res/layout-xlarge/sysbar_panel_notifications.xml @@ -78,7 +78,6 @@ android:layout_below="@id/date" android:layout_marginTop="16dp" android:layout_marginLeft="48dp" - android:src="@drawable/ic_sysbar_battery_mini" android:baseline="17dp" /> @@ -98,7 +97,6 @@ android:layout_width="wrap_content" android:layout_toRightOf="@id/battery_text" android:layout_alignBaseline="@id/battery" - android:src="@drawable/ic_sysbar_wifi_mini" android:baseline="21dp" /> 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 cd2679a2f780b..18003dd42f9d8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -37,6 +37,7 @@ import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.TelephonyManager; import android.util.Slog; +import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -57,8 +58,6 @@ public class NetworkController extends BroadcastReceiver { boolean mHspaDataDistinguishable; final TelephonyManager mPhone; boolean mDataConnected; - int mPhoneSignalIconId; - int mDataIconId; IccCard.State mSimState = IccCard.State.READY; int mPhoneState = TelephonyManager.CALL_STATE_IDLE; int mDataState = TelephonyManager.DATA_DISCONNECTED; @@ -66,6 +65,10 @@ public class NetworkController extends BroadcastReceiver { ServiceState mServiceState; SignalStrength mSignalStrength; int[] mDataIconList = TelephonyIcons.DATA_G[0]; + int mPhoneSignalIconId; + int mDataDirectionIconId; + int mDataSignalIconId; + int mDataTypeIconId; // wifi final WifiManager mWifiManager; @@ -81,11 +84,17 @@ public class NetworkController extends BroadcastReceiver { // our ui Context mContext; - ArrayList mPhoneIconViews = new ArrayList(); - ArrayList mDataIconViews = new ArrayList(); + ArrayList mPhoneSignalIconViews = new ArrayList(); + ArrayList mDataDirectionIconViews = new ArrayList(); + ArrayList mWifiIconViews = new ArrayList(); + ArrayList mCombinedSignalIconViews = new ArrayList(); + ArrayList mDataTypeIconViews = new ArrayList(); ArrayList mLabelViews = new ArrayList(); int mLastPhoneSignalIconId = -1; - int mLastCombinedDataIconId = -1; + int mLastDataDirectionIconId = -1; + int mLastWifiIconId = -1; + int mLastCombinedSignalIconId = -1; + int mLastDataTypeIconId = -1; String mLastLabel = ""; // yuck -- stop doing this here and put it in the framework @@ -124,12 +133,24 @@ public class NetworkController extends BroadcastReceiver { mBatteryStats = BatteryStatsService.getService(); } - public void addPhoneIconView(ImageView v) { - mPhoneIconViews.add(v); + public void addPhoneSignalIconView(ImageView v) { + mPhoneSignalIconViews.add(v); } - public void addCombinedDataIconView(ImageView v) { - mDataIconViews.add(v); + public void addDataDirectionIconView(ImageView v) { + mDataDirectionIconViews.add(v); + } + + public void addWifiIconView(ImageView v) { + mWifiIconViews.add(v); + } + + public void addCombinedSignalIconView(ImageView v) { + mCombinedSignalIconViews.add(v); + } + + public void addDataTypeIconView(ImageView v) { + mDataTypeIconViews.add(v); } public void addLabelView(TextView v) { @@ -315,12 +336,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; + mDataSignalIconId = R.drawable.stat_sys_signal_flightmode; } else { mPhoneSignalIconId = R.drawable.stat_sys_signal_null; + 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; + 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. @@ -338,6 +362,7 @@ public class NetworkController extends BroadcastReceiver { iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition]; } mPhoneSignalIconId = iconList[iconLevel]; + mDataSignalIconId = TelephonyIcons.DATA_SIGNAL_STRENGTH[mInetCondition][iconLevel]; } else { int asu = mSignalStrength.getGsmSignalStrength(); @@ -360,6 +385,7 @@ public class NetworkController extends BroadcastReceiver { iconList = TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[mInetCondition]; } mPhoneSignalIconId = iconList[iconLevel]; + mDataSignalIconId = TelephonyIcons.DATA_SIGNAL_STRENGTH[mInetCondition][iconLevel]; } } } @@ -368,36 +394,47 @@ public class NetworkController extends BroadcastReceiver { switch (net) { case TelephonyManager.NETWORK_TYPE_EDGE: mDataIconList = TelephonyIcons.DATA_E[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_edge; break; case TelephonyManager.NETWORK_TYPE_UMTS: mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_3g; break; case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_HSPA: if (mHspaDataDistinguishable) { mDataIconList = TelephonyIcons.DATA_H[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_hsdpa; } else { mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_3g; } break; case TelephonyManager.NETWORK_TYPE_CDMA: // display 1xRTT for IS95A/B mDataIconList = TelephonyIcons.DATA_1X[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_1x; break; case TelephonyManager.NETWORK_TYPE_1xRTT: mDataIconList = TelephonyIcons.DATA_1X[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_1x; break; case TelephonyManager.NETWORK_TYPE_EVDO_0: //fall through case TelephonyManager.NETWORK_TYPE_EVDO_A: case TelephonyManager.NETWORK_TYPE_EVDO_B: mDataIconList = TelephonyIcons.DATA_3G[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_3g; break; // TODO - add support for NETWORK_TYPE_LTE and NETWORK_TYPE_EHRPD default: mDataIconList = TelephonyIcons.DATA_G[mInetCondition]; + mDataTypeIconId = R.drawable.stat_sys_signal_gprs; break; } + if ((isCdma() && isCdmaEri()) || mPhone.isNetworkRoaming()) { + mDataTypeIconId = R.drawable.stat_sys_signal_roam; + } } boolean isCdmaEri() { @@ -434,7 +471,7 @@ public class NetworkController extends BroadcastReceiver { iconId = mDataIconList[0]; break; } - mDataIconId = iconId; + mDataDirectionIconId = iconId; } else { iconId = 0; visible = false; @@ -475,7 +512,7 @@ public class NetworkController extends BroadcastReceiver { Binder.restoreCallingIdentity(ident); } - mDataIconId = iconId; + mDataDirectionIconId = iconId; mDataConnected = visible; } @@ -572,8 +609,10 @@ public class NetworkController extends BroadcastReceiver { void refreshViews() { Context context = mContext; - int combinedDataIconId; + int combinedSignalIconId; + int dataTypeIconId; String label; + int N; if (mWifiConnected) { if (mWifiSsid == null) { @@ -582,35 +621,84 @@ public class NetworkController extends BroadcastReceiver { label = context.getString(R.string.system_panel_signal_meter_wifi_ssid_format, mWifiSsid); } - combinedDataIconId = mWifiIconId; - } else if (mDataConnected) { - label = context.getString(R.string.system_panel_signal_meter_data_connected); - combinedDataIconId = mDataIconId; + combinedSignalIconId = mWifiIconId; + dataTypeIconId = 0; } else { - label = context.getString(R.string.system_panel_signal_meter_disconnected); - combinedDataIconId = 0; + if (mDataConnected) { + label = context.getString(R.string.system_panel_signal_meter_data_connected); + } else { + label = context.getString(R.string.system_panel_signal_meter_disconnected); + } + combinedSignalIconId = mDataSignalIconId; + dataTypeIconId = mDataTypeIconId; } - int N; + if (false) { + Slog.d(TAG, "refreshViews combinedSignalIconId=0x" + + Integer.toHexString(mPhoneSignalIconId) + + " mPhoneSignalIconId=0x" + Integer.toHexString(mPhoneSignalIconId) + + " mDataDirectionIconId=0x" + Integer.toHexString(mDataDirectionIconId) + + " mDataSignalIconId=0x" + Integer.toHexString(mDataSignalIconId) + + " mDataTypeIconId=0x" + Integer.toHexString(mDataTypeIconId) + + " mWifiIconId=0x" + Integer.toHexString(mWifiIconId)); + } + // the phone icon on phones if (mLastPhoneSignalIconId != mPhoneSignalIconId) { mLastPhoneSignalIconId = mPhoneSignalIconId; - N = mPhoneIconViews.size(); + N = mPhoneSignalIconViews.size(); for (int i=0; i