Merge "Looper: Drop default parameters in favor of a safer overload." into gingerbread
diff --git a/core/java/android/inputmethodservice/Keyboard.java b/core/java/android/inputmethodservice/Keyboard.java
old mode 100755
new mode 100644
index 4814b0a..269e1c9
--- a/core/java/android/inputmethodservice/Keyboard.java
+++ b/core/java/android/inputmethodservice/Keyboard.java
@@ -307,6 +307,10 @@
/** Create an empty key with no attributes. */
public Key(Row parent) {
keyboard = parent.parent;
+ height = parent.defaultHeight;
+ width = parent.defaultWidth;
+ gap = parent.defaultHorizontalGap;
+ edgeFlags = parent.rowEdgeFlags;
}
/** Create a key with the given top-left coordinate and extract its attributes from
@@ -564,9 +568,6 @@
final Key key = new Key(row);
key.x = x;
key.y = y;
- key.width = mDefaultWidth;
- key.height = mDefaultHeight;
- key.gap = mDefaultHorizontalGap;
key.label = String.valueOf(c);
key.codes = new int[] { c };
column++;
diff --git a/core/res/res/drawable-hdpi/btn_check_off.png b/core/res/res/drawable-hdpi/btn_check_off.png
index b49ea4e..bb62e6f 100755
--- a/core/res/res/drawable-hdpi/btn_check_off.png
+++ b/core/res/res/drawable-hdpi/btn_check_off.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_disable.png b/core/res/res/drawable-hdpi/btn_check_off_disable.png
index aeefcf7..b346381 100755
--- a/core/res/res/drawable-hdpi/btn_check_off_disable.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_disable.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_disable_focused.png b/core/res/res/drawable-hdpi/btn_check_off_disable_focused.png
index 6296735..8663369 100755
--- a/core/res/res/drawable-hdpi/btn_check_off_disable_focused.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on.png b/core/res/res/drawable-hdpi/btn_check_on.png
index 7514456..15cd25e 100755
--- a/core/res/res/drawable-hdpi/btn_check_on.png
+++ b/core/res/res/drawable-hdpi/btn_check_on.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disable.png b/core/res/res/drawable-hdpi/btn_check_on_disable.png
index 6688ebd..e3fe323 100755
--- a/core/res/res/drawable-hdpi/btn_check_on_disable.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disable.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disable_focused.png b/core/res/res/drawable-hdpi/btn_check_on_disable_focused.png
index 5301251..fa41bb7 100755
--- a/core/res/res/drawable-hdpi/btn_check_on_disable_focused.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed.png b/core/res/res/drawable-hdpi/btn_check_on_pressed.png
index fc51998..906e283 100755
--- a/core/res/res/drawable-hdpi/btn_check_on_pressed.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_selected.png b/core/res/res/drawable-hdpi/btn_check_on_selected.png
index 77a8250..eb496a8 100755
--- a/core/res/res/drawable-hdpi/btn_check_on_selected.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_circle_normal.png b/core/res/res/drawable-hdpi/btn_circle_normal.png
index bc92b20..6011219 100755
--- a/core/res/res/drawable-hdpi/btn_circle_normal.png
+++ b/core/res/res/drawable-hdpi/btn_circle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_circle_pressed.png b/core/res/res/drawable-hdpi/btn_circle_pressed.png
index aab7d80..4942e50 100755
--- a/core/res/res/drawable-hdpi/btn_circle_pressed.png
+++ b/core/res/res/drawable-hdpi/btn_circle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_circle_selected.png b/core/res/res/drawable-hdpi/btn_circle_selected.png
index 86504505..fe49a40 100755
--- a/core/res/res/drawable-hdpi/btn_circle_selected.png
+++ b/core/res/res/drawable-hdpi/btn_circle_selected.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_default.png b/core/res/res/drawable-hdpi/btn_code_lock_default.png
index df3137f..4469ce0 100644
--- a/core/res/res/drawable-hdpi/btn_code_lock_default.png
+++ b/core/res/res/drawable-hdpi/btn_code_lock_default.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_touched.png b/core/res/res/drawable-hdpi/btn_code_lock_touched.png
index bf9e46a..b90508c 100644
--- a/core/res/res/drawable-hdpi/btn_code_lock_touched.png
+++ b/core/res/res/drawable-hdpi/btn_code_lock_touched.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_normal.9.png b/core/res/res/drawable-hdpi/btn_default_normal.9.png
index afb19f4..803651b 100755
--- a/core/res/res/drawable-hdpi/btn_default_normal.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_normal_disable.9.png b/core/res/res/drawable-hdpi/btn_default_normal_disable.9.png
index 30837d5..f4f01c7 100755
--- a/core/res/res/drawable-hdpi/btn_default_normal_disable.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_default_normal_disable_focused.9.png b/core/res/res/drawable-hdpi/btn_default_normal_disable_focused.9.png
index f73f16e..5376db2 100755
--- a/core/res/res/drawable-hdpi/btn_default_normal_disable_focused.9.png
+++ b/core/res/res/drawable-hdpi/btn_default_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off.png b/core/res/res/drawable-hdpi/btn_radio_off.png
index c4efd14..48ee2ba 100755
--- a/core/res/res/drawable-hdpi/btn_radio_off.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_pressed.png b/core/res/res/drawable-hdpi/btn_radio_off_pressed.png
index 7091fb1..5a4ad89 100755
--- a/core/res/res/drawable-hdpi/btn_radio_off_pressed.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_selected.png b/core/res/res/drawable-hdpi/btn_radio_off_selected.png
index 9207c10..7d5c676 100755
--- a/core/res/res/drawable-hdpi/btn_radio_off_selected.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on.png b/core/res/res/drawable-hdpi/btn_radio_on.png
index 33b315f..2472c20 100755
--- a/core/res/res/drawable-hdpi/btn_radio_on.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_pressed.png b/core/res/res/drawable-hdpi/btn_radio_on_pressed.png
index 24a8710..98d74ce 100755
--- a/core/res/res/drawable-hdpi/btn_radio_on_pressed.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_selected.png b/core/res/res/drawable-hdpi/btn_radio_on_selected.png
index 82fc320..b6ab46c 100755
--- a/core/res/res/drawable-hdpi/btn_radio_on_selected.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/divider_horizontal_dark.9.png b/core/res/res/drawable-hdpi/divider_horizontal_dark.9.png
old mode 100755
new mode 100644
index bd1cc0e..cb62721
--- a/core/res/res/drawable-hdpi/divider_horizontal_dark.9.png
+++ b/core/res/res/drawable-hdpi/divider_horizontal_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/divider_vertical_dark.9.png b/core/res/res/drawable-hdpi/divider_vertical_dark.9.png
index 702b878..a6c9295 100644
--- a/core/res/res/drawable-hdpi/divider_vertical_dark.9.png
+++ b/core/res/res/drawable-hdpi/divider_vertical_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_ic_maximized.9.png b/core/res/res/drawable-hdpi/expander_ic_maximized.9.png
index b99937d..0c19bb7 100755
--- a/core/res/res/drawable-hdpi/expander_ic_maximized.9.png
+++ b/core/res/res/drawable-hdpi/expander_ic_maximized.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_ic_minimized.9.png b/core/res/res/drawable-hdpi/expander_ic_minimized.9.png
index 11354c4..2ec27af 100755
--- a/core/res/res/drawable-hdpi/expander_ic_minimized.9.png
+++ b/core/res/res/drawable-hdpi/expander_ic_minimized.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fasttrack_badge_normal.9.png b/core/res/res/drawable-hdpi/fasttrack_badge_normal.9.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_btn_round_more_disabled.png b/core/res/res/drawable-hdpi/ic_btn_round_more_disabled.png
index 2ce2d98..3f1176f 100755
--- a/core/res/res/drawable-hdpi/ic_btn_round_more_disabled.png
+++ b/core/res/res/drawable-hdpi/ic_btn_round_more_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_btn_round_more_normal.png b/core/res/res/drawable-hdpi/ic_btn_round_more_normal.png
index e497833..8abda4d 100755
--- a/core/res/res/drawable-hdpi/ic_btn_round_more_normal.png
+++ b/core/res/res/drawable-hdpi/ic_btn_round_more_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_emergency.png b/core/res/res/drawable-hdpi/ic_emergency.png
index b4465ff..89c05e3 100644
--- a/core/res/res/drawable-hdpi/ic_emergency.png
+++ b/core/res/res/drawable-hdpi/ic_emergency.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_input_add.png b/core/res/res/drawable-hdpi/ic_input_add.png
old mode 100644
new mode 100755
index d26ebac..f9ce574
--- a/core/res/res/drawable-hdpi/ic_input_add.png
+++ b/core/res/res/drawable-hdpi/ic_input_add.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png
index 6560696..6f85f38 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png
index 698c3ec..bec07f1 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png
index 82ad8f7..9fb43b8 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png
index f9d0d33..e26a083 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/menu_background.9.png b/core/res/res/drawable-hdpi/menu_background.9.png
index 60f0731..1b43435 100644
--- a/core/res/res/drawable-hdpi/menu_background.9.png
+++ b/core/res/res/drawable-hdpi/menu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/menu_background_fill_parent_width.9.png b/core/res/res/drawable-hdpi/menu_background_fill_parent_width.9.png
index ed79d41..ec974d6 100644
--- a/core/res/res/drawable-hdpi/menu_background_fill_parent_width.9.png
+++ b/core/res/res/drawable-hdpi/menu_background_fill_parent_width.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/overscroll_edge.png b/core/res/res/drawable-hdpi/overscroll_edge.png
old mode 100755
new mode 100644
index 5969093..f8e40ec
--- a/core/res/res/drawable-hdpi/overscroll_edge.png
+++ b/core/res/res/drawable-hdpi/overscroll_edge.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/picture_emergency.png b/core/res/res/drawable-hdpi/picture_emergency.png
old mode 100755
new mode 100644
index 4227001..64972c2
--- a/core/res/res/drawable-hdpi/picture_emergency.png
+++ b/core/res/res/drawable-hdpi/picture_emergency.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_bottom_bright.9.png b/core/res/res/drawable-hdpi/popup_bottom_bright.9.png
old mode 100644
new mode 100755
index cca47d3..f4125a8
--- a/core/res/res/drawable-hdpi/popup_bottom_bright.9.png
+++ b/core/res/res/drawable-hdpi/popup_bottom_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_bottom_dark.9.png b/core/res/res/drawable-hdpi/popup_bottom_dark.9.png
index 22d5506..734981a 100755
--- a/core/res/res/drawable-hdpi/popup_bottom_dark.9.png
+++ b/core/res/res/drawable-hdpi/popup_bottom_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_bottom_medium.9.png b/core/res/res/drawable-hdpi/popup_bottom_medium.9.png
old mode 100644
new mode 100755
index 6ebb4f7..26ede44
--- a/core/res/res/drawable-hdpi/popup_bottom_medium.9.png
+++ b/core/res/res/drawable-hdpi/popup_bottom_medium.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_center_bright.9.png b/core/res/res/drawable-hdpi/popup_center_bright.9.png
old mode 100644
new mode 100755
index 756e9ed..102c84b
--- a/core/res/res/drawable-hdpi/popup_center_bright.9.png
+++ b/core/res/res/drawable-hdpi/popup_center_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_center_dark.9.png b/core/res/res/drawable-hdpi/popup_center_dark.9.png
index 37c6dd2..e2e983f 100755
--- a/core/res/res/drawable-hdpi/popup_center_dark.9.png
+++ b/core/res/res/drawable-hdpi/popup_center_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_center_medium.9.png b/core/res/res/drawable-hdpi/popup_center_medium.9.png
old mode 100644
new mode 100755
index de4be2a..1ce2a6d
--- a/core/res/res/drawable-hdpi/popup_center_medium.9.png
+++ b/core/res/res/drawable-hdpi/popup_center_medium.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_full_bright.9.png b/core/res/res/drawable-hdpi/popup_full_bright.9.png
old mode 100644
new mode 100755
index 6c30bec..d98ab0c
--- a/core/res/res/drawable-hdpi/popup_full_bright.9.png
+++ b/core/res/res/drawable-hdpi/popup_full_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_full_dark.9.png b/core/res/res/drawable-hdpi/popup_full_dark.9.png
index c4cb1d5..502adaf 100755
--- a/core/res/res/drawable-hdpi/popup_full_dark.9.png
+++ b/core/res/res/drawable-hdpi/popup_full_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_top_bright.9.png b/core/res/res/drawable-hdpi/popup_top_bright.9.png
old mode 100644
new mode 100755
index ddd30ab..e52a603
--- a/core/res/res/drawable-hdpi/popup_top_bright.9.png
+++ b/core/res/res/drawable-hdpi/popup_top_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/popup_top_dark.9.png b/core/res/res/drawable-hdpi/popup_top_dark.9.png
index a633f4a..3f7d61e 100755
--- a/core/res/res/drawable-hdpi/popup_top_dark.9.png
+++ b/core/res/res/drawable-hdpi/popup_top_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_sms_failed.png b/core/res/res/drawable-hdpi/stat_notify_sms_failed.png
index 49a0d50..93ede20 100755
--- a/core/res/res/drawable-hdpi/stat_notify_sms_failed.png
+++ b/core/res/res/drawable-hdpi/stat_notify_sms_failed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_gps_acquiring.png b/core/res/res/drawable-hdpi/stat_sys_gps_acquiring.png
index 50be47e..e306ad7 100755
--- a/core/res/res/drawable-hdpi/stat_sys_gps_acquiring.png
+++ b/core/res/res/drawable-hdpi/stat_sys_gps_acquiring.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_gps_on.png b/core/res/res/drawable-hdpi/stat_sys_gps_on.png
index 8d2a6b0..37fb8f7 100755
--- a/core/res/res/drawable-hdpi/stat_sys_gps_on.png
+++ b/core/res/res/drawable-hdpi/stat_sys_gps_on.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png b/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
index 003e6e4..fecfe6c 100755
--- a/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
+++ b/core/res/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_tether_bluetooth.png b/core/res/res/drawable-hdpi/stat_sys_tether_bluetooth.png
index e43fbae..4ebee58 100644
--- a/core/res/res/drawable-hdpi/stat_sys_tether_bluetooth.png
+++ b/core/res/res/drawable-hdpi/stat_sys_tether_bluetooth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_tether_general.png b/core/res/res/drawable-hdpi/stat_sys_tether_general.png
index c42b00c..e23f7f9 100644
--- a/core/res/res/drawable-hdpi/stat_sys_tether_general.png
+++ b/core/res/res/drawable-hdpi/stat_sys_tether_general.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_tether_usb.png b/core/res/res/drawable-hdpi/stat_sys_tether_usb.png
index c6c533d..d432f9a 100644
--- a/core/res/res/drawable-hdpi/stat_sys_tether_usb.png
+++ b/core/res/res/drawable-hdpi/stat_sys_tether_usb.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png b/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png
index 9fcadef..74dfbba 100644
--- a/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png
+++ b/core/res/res/drawable-hdpi/stat_sys_tether_wifi.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_warning.png b/core/res/res/drawable-hdpi/stat_sys_warning.png
index b3a18b3..cb8a3d4 100755
--- a/core/res/res/drawable-hdpi/stat_sys_warning.png
+++ b/core/res/res/drawable-hdpi/stat_sys_warning.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_default.9.png b/core/res/res/drawable-hdpi/textfield_default.9.png
index a5d7d6a..f7b6e99 100755
--- a/core/res/res/drawable-hdpi/textfield_default.9.png
+++ b/core/res/res/drawable-hdpi/textfield_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_disabled.9.png b/core/res/res/drawable-hdpi/textfield_disabled.9.png
index 62bb455..3011502 100755
--- a/core/res/res/drawable-hdpi/textfield_disabled.9.png
+++ b/core/res/res/drawable-hdpi/textfield_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_disabled_selected.9.png b/core/res/res/drawable-hdpi/textfield_disabled_selected.9.png
index bde1233..e0f82eb 100755
--- a/core/res/res/drawable-hdpi/textfield_disabled_selected.9.png
+++ b/core/res/res/drawable-hdpi/textfield_disabled_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_pressed.9.png b/core/res/res/drawable-hdpi/textfield_pressed.9.png
index fb4b528..296d3da 100755
--- a/core/res/res/drawable-hdpi/textfield_pressed.9.png
+++ b/core/res/res/drawable-hdpi/textfield_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_selected.9.png b/core/res/res/drawable-hdpi/textfield_selected.9.png
index 28b4877..cf2cae3 100755
--- a/core/res/res/drawable-hdpi/textfield_selected.9.png
+++ b/core/res/res/drawable-hdpi/textfield_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable/overscroll_edge.png b/core/res/res/drawable/overscroll_edge.png
index 250c827..b026880 100644
--- a/core/res/res/drawable/overscroll_edge.png
+++ b/core/res/res/drawable/overscroll_edge.png
Binary files differ
diff --git a/libs/gui/SensorEventQueue.cpp b/libs/gui/SensorEventQueue.cpp
index b0d0f12..f935524 100644
--- a/libs/gui/SensorEventQueue.cpp
+++ b/libs/gui/SensorEventQueue.cpp
@@ -110,7 +110,7 @@
}
} while (result != fd);
- return result;
+ return (result == fd) ? status_t(NO_ERROR) : result;
}
status_t SensorEventQueue::wake() const
diff --git a/libs/ui/GraphicLog.cpp b/libs/ui/GraphicLog.cpp
index b55ce23..7ba2779 100644
--- a/libs/ui/GraphicLog.cpp
+++ b/libs/ui/GraphicLog.cpp
@@ -30,7 +30,11 @@
static inline
void writeInt32(uint8_t* base, size_t& pos, int32_t value) {
+#ifdef HAVE_LITTLE_ENDIAN
+ int32_t v = value;
+#else
int32_t v = htole32(value);
+#endif
base[pos] = EVENT_TYPE_INT;
memcpy(&base[pos+1], &v, sizeof(int32_t));
pos += 1+sizeof(int32_t);
@@ -38,7 +42,11 @@
static inline
void writeInt64(uint8_t* base, size_t& pos, int64_t value) {
+#ifdef HAVE_LITTLE_ENDIAN
+ int64_t v = value;
+#else
int64_t v = htole64(value);
+#endif
base[pos] = EVENT_TYPE_LONG;
memcpy(&base[pos+1], &v, sizeof(int64_t));
pos += 1+sizeof(int64_t);
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index cd70a3d..523b79c 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -169,15 +169,18 @@
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.qcom.7x30.video.decoder.mpeg4" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.qcom.video.decoder.mpeg4" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.TI.Video.Decoder" },
+ { MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.SEC.MPEG4.Decoder" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "M4vH263Decoder" },
// { MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.PV.mpeg4dec" },
{ MEDIA_MIMETYPE_VIDEO_H263, "OMX.qcom.7x30.video.decoder.h263" },
{ MEDIA_MIMETYPE_VIDEO_H263, "OMX.qcom.video.decoder.h263" },
+ { MEDIA_MIMETYPE_VIDEO_H263, "OMX.SEC.H263.Decoder" },
{ MEDIA_MIMETYPE_VIDEO_H263, "M4vH263Decoder" },
// { MEDIA_MIMETYPE_VIDEO_H263, "OMX.PV.h263dec" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.qcom.7x30.video.decoder.avc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.qcom.video.decoder.avc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.TI.Video.Decoder" },
+ { MEDIA_MIMETYPE_VIDEO_AVC, "OMX.SEC.AVC.Decoder" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "AVCDecoder" },
// { MEDIA_MIMETYPE_VIDEO_AVC, "OMX.PV.avcdec" },
{ MEDIA_MIMETYPE_AUDIO_VORBIS, "VorbisDecoder" },
@@ -195,16 +198,19 @@
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.qcom.7x30.video.encoder.mpeg4" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.qcom.video.encoder.mpeg4" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.TI.Video.encoder" },
+ { MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.SEC.MPEG4.Encoder" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4, "M4vH263Encoder" },
// { MEDIA_MIMETYPE_VIDEO_MPEG4, "OMX.PV.mpeg4enc" },
{ MEDIA_MIMETYPE_VIDEO_H263, "OMX.qcom.7x30.video.encoder.h263" },
{ MEDIA_MIMETYPE_VIDEO_H263, "OMX.qcom.video.encoder.h263" },
{ MEDIA_MIMETYPE_VIDEO_H263, "OMX.TI.Video.encoder" },
+ { MEDIA_MIMETYPE_VIDEO_H263, "OMX.SEC.H263.Encoder" },
{ MEDIA_MIMETYPE_VIDEO_H263, "M4vH263Encoder" },
// { MEDIA_MIMETYPE_VIDEO_H263, "OMX.PV.h263enc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.qcom.7x30.video.encoder.avc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.qcom.video.encoder.avc" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "OMX.TI.Video.encoder" },
+ { MEDIA_MIMETYPE_VIDEO_AVC, "OMX.SEC.AVC.Encoder" },
{ MEDIA_MIMETYPE_VIDEO_AVC, "AVCEncoder" },
// { MEDIA_MIMETYPE_VIDEO_AVC, "OMX.PV.avcenc" },
};
@@ -1437,6 +1443,8 @@
}
OMXCodec::~OMXCodec() {
+ mSource.clear();
+
CHECK(mState == LOADED || mState == ERROR);
status_t err = mOMX->freeNode(mNode);
diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp
index 6de761f..c927da1 100644
--- a/media/libstagefright/omx/OMX.cpp
+++ b/media/libstagefright/omx/OMX.cpp
@@ -245,13 +245,15 @@
CHECK(index >= 0);
mLiveNodes.removeItemsAt(index);
+ instance->observer()->asBinder()->unlinkToDeath(this);
+
+ status_t err = instance->freeNode(mMaster);
+
index = mDispatchers.indexOfKey(node);
CHECK(index >= 0);
mDispatchers.removeItemsAt(index);
- instance->observer()->asBinder()->unlinkToDeath(this);
-
- return instance->freeNode(mMaster);
+ return err;
}
status_t OMX::sendCommand(
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png
index 89daee1..2d3eb30 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm_2.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm_2.png
new file mode 100644
index 0000000..69841ac
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_alarm_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_bt_incoming_file.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_bt_incoming_file.png
new file mode 100644
index 0000000..18addce
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_bt_incoming_file.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_calendar.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_calendar.png
new file mode 100644
index 0000000..0caab3e
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_calendar.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_call_mute.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_call_mute.png
new file mode 100644
index 0000000..0cf5ef5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_call_mute.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_car_mode.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_car_mode.png
new file mode 100644
index 0000000..60c3778
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_car_mode.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_disk_full.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_disk_full.png
new file mode 100644
index 0000000..66e7380
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_disk_full.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_email_generic.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_email_generic.png
new file mode 100644
index 0000000..78003fa
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_email_generic.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_gmail.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_gmail.png
new file mode 100644
index 0000000..7356309
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_gmail.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_instant_message.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_instant_message.png
new file mode 100644
index 0000000..9fc8262
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_instant_message.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_marketplace_update.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_marketplace_update.png
new file mode 100644
index 0000000..c0d0284
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_marketplace_update.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_missed_call.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_missed_call.png
new file mode 100644
index 0000000..d1173b4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_missed_call.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_mms.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_mms.png
new file mode 100644
index 0000000..eed8c45
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_mms.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_more_notifications.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_more_notifications.png
new file mode 100644
index 0000000..f54b3d4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_more_notifications.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_musicplayer.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_musicplayer.png
new file mode 100644
index 0000000..1301f86
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_musicplayer.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_myfaves.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_myfaves.png
new file mode 100644
index 0000000..854c745
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_myfaves.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_picasa.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_picasa.png
new file mode 100644
index 0000000..9146185
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_picasa.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard.png
new file mode 100644
index 0000000..dd947a5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_alert.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_alert.png
new file mode 100644
index 0000000..fb2b26a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_alert.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_prepare.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_prepare.png
new file mode 100644
index 0000000..4b9b9ca
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sdcard_prepare.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sim_toolkit.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sim_toolkit.png
new file mode 100644
index 0000000..8865bda
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sim_toolkit.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sms.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sms.png
new file mode 100644
index 0000000..66981ba
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sms.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sms_failed.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sms_failed.png
new file mode 100644
index 0000000..93ede20
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sms_failed.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync.png
new file mode 100644
index 0000000..004cfab
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_alert.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_alert.png
new file mode 100644
index 0000000..26b2446
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_alert.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim0.png
new file mode 100644
index 0000000..6973fc5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim1.png
new file mode 100644
index 0000000..f9d4b32
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim2.png
new file mode 100644
index 0000000..06ff588
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim3.png
new file mode 100644
index 0000000..20d1720
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim4.png
new file mode 100644
index 0000000..a217034
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim5.png
new file mode 100644
index 0000000..8d733ec
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_sync_anim5.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_system_update.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_system_update.png
new file mode 100644
index 0000000..f4365a5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_system_update.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_usb_debugger.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_usb_debugger.png
new file mode 100644
index 0000000..fdf6c6c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_usb_debugger.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_voicemail.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_voicemail.png
new file mode 100644
index 0000000..5b77846
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_voicemail.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_10.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_10.png
new file mode 100644
index 0000000..4486553
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_10.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_100.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_100.png
new file mode 100644
index 0000000..23b9e3b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_100.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_20.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_20.png
new file mode 100644
index 0000000..c8f9c92
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_20.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_40.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_40.png
new file mode 100644
index 0000000..8d7e1d5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_40.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_60.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_60.png
new file mode 100644
index 0000000..cb674cc
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_60.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_80.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_80.png
new file mode 100644
index 0000000..5846df9
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_80.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim0.png
new file mode 100644
index 0000000..c7464f7
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim1.png
new file mode 100644
index 0000000..997feb3
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
new file mode 100644
index 0000000..bb8b022
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
new file mode 100644
index 0000000..212a25f
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
new file mode 100644
index 0000000..b211ed6
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
new file mode 100644
index 0000000..a52f81b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_charge_anim5.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_empty.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_empty.png
new file mode 100644
index 0000000..82f2509
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_empty.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_unknown.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_unknown.png
new file mode 100644
index 0000000..dadfe8d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_battery_unknown.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_bluetooth_connected.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_bluetooth_connected.png
new file mode 100644
index 0000000..18c77df
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_bluetooth_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi.png
new file mode 100644
index 0000000..aea18ed
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png
new file mode 100644
index 0000000..1a25a2c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_1bar_wifi_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi.png
new file mode 100644
index 0000000..77e6ee4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png
new file mode 100644
index 0000000..00d86bf
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_2bar_wifi_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi.png
new file mode 100644
index 0000000..c2574e1
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png
new file mode 100644
index 0000000..70c030b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_3bar_wifi_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi.png
new file mode 100644
index 0000000..55caecf
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png
new file mode 100644
index 0000000..b5326d2
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_4bar_wifi_fully.png
Binary files differ
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 96dc085..e8fbc9e 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_connected_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png
new file mode 100644
index 0000000..ba24082
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_1x_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png
new file mode 100644
index 0000000..5af2b05
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_3g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e_fully.png
new file mode 100644
index 0000000..9909b09
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_e_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g_fully.png
new file mode 100644
index 0000000..0e02b8d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h_fully.png
new file mode 100644
index 0000000..f84ad32
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_connected_h_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x_fully.png
new file mode 100644
index 0000000..d80a8ce
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_1x_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g_fully.png
new file mode 100644
index 0000000..31c976a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_3g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e_fully.png
new file mode 100644
index 0000000..c299e12
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_e_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g_fully.png
new file mode 100644
index 0000000..a487f29
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h_fully.png
new file mode 100644
index 0000000..816085b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_in_h_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png
new file mode 100644
index 0000000..0132019
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_1x_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png
new file mode 100644
index 0000000..3903545
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_3g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png
new file mode 100644
index 0000000..ed099ff
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_e_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png
new file mode 100644
index 0000000..c930e4c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png
new file mode 100644
index 0000000..407a06c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_inandout_h_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png
new file mode 100644
index 0000000..98e874a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_nosignal_wifi.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x_fully.png
new file mode 100644
index 0000000..6141f72
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_1x_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g_fully.png
new file mode 100644
index 0000000..d44a4cf
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_3g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e_fully.png
new file mode 100644
index 0000000..54ebd9b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_e_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g_fully.png
new file mode 100644
index 0000000..2fe0bbf
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_g_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h_fully.png
new file mode 100644
index 0000000..e58e019
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_out_h_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_data_usb.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_usb.png
new file mode 100644
index 0000000..e916fbb
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_data_usb.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim0.png
new file mode 100644
index 0000000..9df7799
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim1.png
new file mode 100644
index 0000000..c3defd7
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim2.png
new file mode 100644
index 0000000..1302a06
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim3.png
new file mode 100644
index 0000000..c7f85bf
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim4.png
new file mode 100644
index 0000000..705dfd3
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim5.png
new file mode 100644
index 0000000..c0bdb13
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_download_anim5.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png
index 9003d67..e306ad7 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_acquiring.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_on.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_on.png
new file mode 100644
index 0000000..37fb8f7
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_gps_on.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_install_complete.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_install_complete.png
new file mode 100644
index 0000000..c1478c4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_install_complete.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call.png
new file mode 100644
index 0000000..9b5f075
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
new file mode 100644
index 0000000..fecfe6c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_bluetooth.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_emergency.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_emergency.png
new file mode 100644
index 0000000..f69f82c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_emergency.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_forward.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_forward.png
new file mode 100644
index 0000000..032f8f1
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_forward.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png
new file mode 100644
index 0000000..5b0a68d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_phone_call_on_hold.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_cdma.png
new file mode 100644
index 0000000..1d2f966
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png
new file mode 100644
index 0000000..7ff8820
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png
new file mode 100644
index 0000000..d128053
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png
new file mode 100644
index 0000000..ecd46e9
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png
new file mode 100644
index 0000000..4462bce
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png
new file mode 100644
index 0000000..d635d8c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png
new file mode 100644
index 0000000..cfca5d2
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png
new file mode 100644
index 0000000..e470925
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png
new file mode 100644
index 0000000..d290699
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png
new file mode 100644
index 0000000..ef47408
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png
new file mode 100644
index 0000000..26cb22b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_cdma_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_0_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_0_cdma.png
new file mode 100644
index 0000000..901058a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_0_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma.png
new file mode 100644
index 0000000..f5c5f98
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png
new file mode 100644
index 0000000..f71a35c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_1_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma.png
new file mode 100644
index 0000000..82102b2
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png
new file mode 100644
index 0000000..6818f43
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_2_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png
new file mode 100644
index 0000000..7d8dc5b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_3_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_4_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_4_cdma.png
new file mode 100644
index 0000000..c08cc86
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ra_signal_4_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png
index bdd37e1..5a741bb 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png
index 21c1c08..7ff375a 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_secure.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_secure.png
new file mode 100644
index 0000000..0889e49
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_secure.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png
index 3e317dd..2f66b1d 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_cdma.png
new file mode 100644
index 0000000..af43e00
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png
index 72329f8..b91eaf5 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma.png
new file mode 100644
index 0000000..4ffe421
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png
new file mode 100644
index 0000000..cd8e314
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png
index 72329f8..cb1ad97 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png
index 558c49c..53217e4 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma.png
new file mode 100644
index 0000000..6f27b96
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png
new file mode 100644
index 0000000..416a544
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png
index 558c49c..74ecb08 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png
index 6440bdd..08f357f 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma.png
new file mode 100644
index 0000000..ddc46b0
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png
new file mode 100644
index 0000000..341116e
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png
index 6440bdd..929c700 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png
index fe20423..b3bb321 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma.png
new file mode 100644
index 0000000..fb3cfe9
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png
new file mode 100644
index 0000000..ae83e93
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_cdma_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png
index fe20423..4644ac1 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_0.png
new file mode 100644
index 0000000..b697ca4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1.png
new file mode 100644
index 0000000..a61de4d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png
new file mode 100644
index 0000000..9fa018b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2.png
new file mode 100644
index 0000000..62e0393
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png
new file mode 100644
index 0000000..0324d9f
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3.png
new file mode 100644
index 0000000..09eae9d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png
new file mode 100644
index 0000000..1ffde3d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4.png
new file mode 100644
index 0000000..4012ac5
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png
new file mode 100644
index 0000000..22f7e42
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_evdo_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png
index 7a419f1..01c7e2a 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_flightmode.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png
index 1adc05a..03d2147 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_null.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_0.png
new file mode 100644
index 0000000..5796a8a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1.png
new file mode 100644
index 0000000..3dec269
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png
new file mode 100644
index 0000000..eeb7f67
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_1_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2.png
new file mode 100644
index 0000000..2dcff93
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png
new file mode 100644
index 0000000..aee093a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_2_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3.png
new file mode 100644
index 0000000..1b38450
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png
new file mode 100644
index 0000000..a40017f
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_3_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4.png
new file mode 100644
index 0000000..33bf3b3
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png
new file mode 100644
index 0000000..c3b44ee
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_roaming_4_fully.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_speakerphone.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_speakerphone.png
new file mode 100644
index 0000000..21f96c4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_speakerphone.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_bluetooth.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_bluetooth.png
new file mode 100644
index 0000000..4ebee58
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_bluetooth.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_general.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_general.png
new file mode 100644
index 0000000..e23f7f9
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_general.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_usb.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_usb.png
new file mode 100644
index 0000000..d432f9a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_usb.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_wifi.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_wifi.png
new file mode 100644
index 0000000..74dfbba
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_tether_wifi.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_throttled.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_throttled.png
new file mode 100644
index 0000000..58eafc0
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_throttled.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim0.png
new file mode 100644
index 0000000..cefcecc
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim1.png
new file mode 100644
index 0000000..9d018d0
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim2.png
new file mode 100644
index 0000000..38a20a6
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim3.png
new file mode 100644
index 0000000..f517809
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim4.png
new file mode 100644
index 0000000..3ae614e
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim5.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim5.png
new file mode 100644
index 0000000..d0638ef
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_upload_anim5.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call.png
new file mode 100644
index 0000000..83e8ead
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call_on_hold.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call_on_hold.png
new file mode 100644
index 0000000..9731c46
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_vp_phone_call_on_hold.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_warning.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_warning.png
new file mode 100644
index 0000000..cb8a3d4
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_warning.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_0.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_0.png
index 98e874a..55a2ad8 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_0.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_1.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_1.png
index aea18ed..d16b3e8 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_1.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_2.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_2.png
index 77e6ee4..2511083 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_2.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_3.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_3.png
index c2574e1..e0799a5 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_3.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_4.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_4.png
index 55caecf..2385c3a 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_4.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_sys_wifi_signal_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png b/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png
new file mode 100644
index 0000000..87d1944
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_header_background.9.png b/packages/SystemUI/res/drawable-hdpi/status_bar_header_background.9.png
new file mode 100644
index 0000000..79d77aa
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/status_bar_header_background.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/statusbar_background.9.png b/packages/SystemUI/res/drawable-hdpi/statusbar_background.9.png
new file mode 100644
index 0000000..67c8b7f
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/statusbar_background.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_1x.png
new file mode 100644
index 0000000..130724f
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_3g.png
new file mode 100644
index 0000000..a109280
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_e.png
new file mode 100644
index 0000000..c552644
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_g.png
new file mode 100644
index 0000000..f7edb49
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_h.png
new file mode 100644
index 0000000..7d5413a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_connected_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_1x.png
new file mode 100644
index 0000000..3155e632
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_3g.png
new file mode 100644
index 0000000..01b003c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_e.png
new file mode 100644
index 0000000..bffa0eb
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_g.png
new file mode 100644
index 0000000..8884b48
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_h.png
new file mode 100644
index 0000000..695b80c
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_in_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_1x.png
new file mode 100644
index 0000000..1017e3b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_3g.png
new file mode 100644
index 0000000..3651300
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_e.png
new file mode 100644
index 0000000..99533e0
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_g.png
new file mode 100644
index 0000000..f4e5a12
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_h.png
new file mode 100644
index 0000000..467acd1
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_inandout_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_1x.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_1x.png
new file mode 100644
index 0000000..5418791
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_1x.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_3g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_3g.png
new file mode 100644
index 0000000..f7f0f89
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_3g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_e.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_e.png
new file mode 100644
index 0000000..c915426
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_e.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_g.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_g.png
new file mode 100644
index 0000000..5d36035
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_g.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_h.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_h.png
new file mode 100644
index 0000000..da50305
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_data_out_h.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png
new file mode 100644
index 0000000..bfbf18e
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png
new file mode 100644
index 0000000..896ba4d
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png
new file mode 100644
index 0000000..af79eff
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png
new file mode 100644
index 0000000..92c09c8
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png
new file mode 100644
index 0000000..f04fb11
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png
Binary files 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
new file mode 100644
index 0000000..cb7b7b3
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png
Binary files 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
new file mode 100644
index 0000000..5376e92
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png
Binary files 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
new file mode 100644
index 0000000..fd54363
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png
Binary files 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
new file mode 100644
index 0000000..6c4873a
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png
Binary files 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
new file mode 100644
index 0000000..a3320cb
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png
Binary files 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
new file mode 100755
index 0000000..2f4fd4f
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png
new file mode 100644
index 0000000..5aa23f6
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png
Binary files 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
new file mode 100644
index 0000000..8ee3421
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_0.png
Binary files 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
new file mode 100644
index 0000000..184fa36
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_1.png
Binary files 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
new file mode 100644
index 0000000..79935bb
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_2.png
Binary files 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
new file mode 100644
index 0000000..d2099e6
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_3.png
Binary files 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
new file mode 100644
index 0000000..2062aad
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/stat_sys_wifi_signal_4.png
Binary files differ
diff --git a/services/java/com/android/server/sip/SipSessionGroup.java b/services/java/com/android/server/sip/SipSessionGroup.java
index 0822350..baf9a8e 100644
--- a/services/java/com/android/server/sip/SipSessionGroup.java
+++ b/services/java/com/android/server/sip/SipSessionGroup.java
@@ -84,7 +84,8 @@
private static final boolean DEBUG_PING = DEBUG && false;
private static final String ANONYMOUS = "anonymous";
private static final String SERVER_ERROR_PREFIX = "Response: ";
- private static final int EXPIRY_TIME = 3600;
+ private static final int EXPIRY_TIME = 3600; // in seconds
+ private static final int CANCEL_CALL_TIMER = 5; // in seconds
private static final EventObject DEREGISTER = new EventObject("Deregister");
private static final EventObject END_CALL = new EventObject("End call");
@@ -363,6 +364,40 @@
String mPeerSessionDescription;
boolean mInCall;
boolean mReRegisterFlag = false;
+ SessionTimer mTimer;
+
+ // lightweight timer
+ class SessionTimer {
+ private boolean mRunning = true;
+
+ void start(final int timeout) {
+ new Thread(new Runnable() {
+ public void run() {
+ sleep(timeout);
+ if (mRunning) timeout();
+ }
+ }).start();
+ }
+
+ synchronized void cancel() {
+ mRunning = false;
+ this.notify();
+ }
+
+ private void timeout() {
+ synchronized (SipSessionGroup.this) {
+ onError(SipErrorCode.TIME_OUT, "Session timed out!");
+ }
+ }
+
+ private synchronized void sleep(int timeout) {
+ try {
+ this.wait(timeout * 1000);
+ } catch (InterruptedException e) {
+ Log.e(TAG, "session timer interrupted!");
+ }
+ }
+ }
public SipSessionImpl(ISipSessionListener listener) {
setListener(listener);
@@ -382,6 +417,8 @@
mServerTransaction = null;
mClientTransaction = null;
mPeerSessionDescription = null;
+
+ cancelSessionTimer();
}
public boolean isInCall() {
@@ -434,16 +471,16 @@
}).start();
}
- public void makeCall(SipProfile peerProfile,
- String sessionDescription) {
- doCommandAsync(
- new MakeCallCommand(peerProfile, sessionDescription));
+ public void makeCall(SipProfile peerProfile, String sessionDescription,
+ int timeout) {
+ doCommandAsync(new MakeCallCommand(peerProfile, sessionDescription,
+ timeout));
}
- public void answerCall(String sessionDescription) {
+ public void answerCall(String sessionDescription, int timeout) {
try {
- processCommand(
- new MakeCallCommand(mPeerProfile, sessionDescription));
+ processCommand(new MakeCallCommand(mPeerProfile,
+ sessionDescription, timeout));
} catch (SipException e) {
onError(e);
}
@@ -453,9 +490,15 @@
doCommandAsync(END_CALL);
}
- public void changeCall(String sessionDescription) {
- doCommandAsync(
- new MakeCallCommand(mPeerProfile, sessionDescription));
+ public void changeCall(String sessionDescription, int timeout) {
+ doCommandAsync(new MakeCallCommand(mPeerProfile, sessionDescription,
+ timeout));
+ }
+
+ public void changeCallWithTimeout(
+ String sessionDescription, int timeout) {
+ doCommandAsync(new MakeCallCommand(mPeerProfile, sessionDescription,
+ timeout));
}
public void register(int duration) {
@@ -800,6 +843,7 @@
addSipSession(this);
mState = SipSessionState.OUTGOING_CALL;
mProxy.onCalling(this);
+ startSessionTimer(cmd.getTimeout());
return true;
} else if (evt instanceof RegisterCommand) {
int duration = ((RegisterCommand) evt).getDuration();
@@ -831,6 +875,7 @@
((MakeCallCommand) evt).getSessionDescription(),
mServerTransaction);
mState = SipSessionState.INCOMING_CALL_ANSWERING;
+ startSessionTimer(((MakeCallCommand) evt).getTimeout());
return true;
} else if (END_CALL == evt) {
mSipHelper.sendInviteBusyHere(mInviteReceived,
@@ -873,6 +918,7 @@
if (mState == SipSessionState.OUTGOING_CALL) {
mState = SipSessionState.OUTGOING_CALL_RING_BACK;
mProxy.onRingingBack(this);
+ cancelSessionTimer();
}
return true;
case Response.OK:
@@ -885,10 +931,10 @@
if (handleAuthentication(event)) {
addSipSession(this);
} else if (mLastNonce == null) {
- endCallOnError(SipErrorCode.SERVER_ERROR,
+ onError(SipErrorCode.SERVER_ERROR,
"server does not provide challenge");
} else {
- endCallOnError(SipErrorCode.INVALID_CREDENTIALS,
+ onError(SipErrorCode.INVALID_CREDENTIALS,
"incorrect username or password");
}
return true;
@@ -914,6 +960,7 @@
// response.
mSipHelper.sendCancel(mClientTransaction);
mState = SipSessionState.OUTGOING_CALL_CANCELING;
+ startSessionTimer(CANCEL_CALL_TIMER);
return true;
}
return false;
@@ -926,9 +973,13 @@
Response response = event.getResponse();
int statusCode = response.getStatusCode();
if (expectResponse(Request.CANCEL, evt)) {
- if (statusCode == Response.OK) {
- // do nothing; wait for REQUEST_TERMINATED
- return true;
+ switch (statusCode) {
+ case Response.OK:
+ // do nothing; wait for REQUEST_TERMINATED
+ return true;
+ case Response.REQUEST_TERMINATED:
+ endCallNormally();
+ return true;
}
} else if (expectResponse(Request.INVITE, evt)) {
if (statusCode == Response.OK) {
@@ -978,11 +1029,27 @@
mClientTransaction = mSipHelper.sendReinvite(mDialog,
((MakeCallCommand) evt).getSessionDescription());
mState = SipSessionState.OUTGOING_CALL;
+ startSessionTimer(((MakeCallCommand) evt).getTimeout());
return true;
}
return false;
}
+ // timeout in seconds
+ private void startSessionTimer(int timeout) {
+ if (timeout > 0) {
+ mTimer = new SessionTimer();
+ mTimer.start(timeout);
+ }
+ }
+
+ private void cancelSessionTimer() {
+ if (mTimer != null) {
+ mTimer.cancel();
+ mTimer = null;
+ }
+ }
+
private String createErrorMessage(Response response) {
return String.format(SERVER_ERROR_PREFIX + "%s (%d)",
response.getReasonPhrase(), response.getStatusCode());
@@ -991,15 +1058,10 @@
private void establishCall() {
mState = SipSessionState.IN_CALL;
mInCall = true;
+ cancelSessionTimer();
mProxy.onCallEstablished(this, mPeerSessionDescription);
}
- private void fallbackToPreviousInCall(Throwable exception) {
- exception = getRootCause(exception);
- fallbackToPreviousInCall(getErrorCode(exception),
- exception.toString());
- }
-
private void fallbackToPreviousInCall(SipErrorCode errorCode,
String message) {
mState = SipSessionState.IN_CALL;
@@ -1022,6 +1084,7 @@
}
private void onError(SipErrorCode errorCode, String message) {
+ cancelSessionTimer();
switch (mState) {
case REGISTERING:
case DEREGISTERING:
@@ -1255,11 +1318,18 @@
private class MakeCallCommand extends EventObject {
private String mSessionDescription;
+ private int mTimeout; // in seconds
public MakeCallCommand(SipProfile peerProfile,
String sessionDescription) {
+ this(peerProfile, sessionDescription, -1);
+ }
+
+ public MakeCallCommand(SipProfile peerProfile,
+ String sessionDescription, int timeout) {
super(peerProfile);
mSessionDescription = sessionDescription;
+ mTimeout = timeout;
}
public SipProfile getPeerProfile() {
@@ -1269,6 +1339,9 @@
public String getSessionDescription() {
return mSessionDescription;
}
- }
+ public int getTimeout() {
+ return mTimeout;
+ }
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/sip/SipPhone.java b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
index 07dd35d..4887950 100755
--- a/telephony/java/com/android/internal/telephony/sip/SipPhone.java
+++ b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
@@ -74,6 +74,7 @@
public class SipPhone extends SipPhoneBase {
private static final String LOG_TAG = "SipPhone";
private static final boolean LOCAL_DEBUG = true;
+ private static final int SESSION_TIMEOUT = 8; // in seconds
// A call that is ringing or (call) waiting
private SipCall ringingCall = new SipCall();
@@ -393,25 +394,45 @@
}
}
- private CallerInfo getCallerInfo(String number) {
+ private CallerInfo createCallerInfo(String number, SipProfile callee) {
+ SipProfile p = callee;
+ String name = p.getDisplayName();
+ if (TextUtils.isEmpty(name)) name = p.getUserName();
+ CallerInfo info = new CallerInfo();
+ info.name = name;
+ info.phoneNumber = number;
+ Log.v(LOG_TAG, "create caller info from scratch:");
+ Log.v(LOG_TAG, " name: " + info.name);
+ Log.v(LOG_TAG, " numb: " + info.phoneNumber);
+ return info;
+ }
+
+ // from contacts
+ private CallerInfo findCallerInfo(String number) {
CallerInfo info = CallerInfo.getCallerInfo(mContext, number);
if ((info == null) || (info.name == null)) return null;
- Log.v(LOG_TAG, "++******++ got info from contact:");
+ Log.v(LOG_TAG, "got caller info from contact:");
Log.v(LOG_TAG, " name: " + info.name);
Log.v(LOG_TAG, " numb: " + info.phoneNumber);
Log.v(LOG_TAG, " pres: " + info.numberPresentation);
return info;
}
- Connection dial(String calleeSipUri) throws SipException {
- CallerInfo info = getCallerInfo(calleeSipUri);
+ private CallerInfo getCallerInfo(String number, SipProfile callee) {
+ CallerInfo info = findCallerInfo(number);
+ if (info == null) info = createCallerInfo(number, callee);
+ return info;
+ }
+
+ Connection dial(String originalNumber) throws SipException {
+ String calleeSipUri = originalNumber;
if (!calleeSipUri.contains("@")) {
calleeSipUri += "@" + getSipDomain(mProfile);
- if (info != null) info.phoneNumber = calleeSipUri;
}
try {
SipProfile callee =
new SipProfile.Builder(calleeSipUri).build();
+ CallerInfo info = getCallerInfo(originalNumber, callee);
SipConnection c = new SipConnection(this, callee, info);
connections.add(c);
c.dial();
@@ -443,9 +464,9 @@
void initIncomingCall(SipAudioCall sipAudioCall, boolean makeCallWait) {
SipProfile callee = sipAudioCall.getPeerProfile();
- CallerInfo info = getCallerInfo(getUriString(callee));
- if (info == null) info = getCallerInfo(callee.getUserName());
- if (info == null) info = getCallerInfo(callee.getDisplayName());
+ CallerInfo info = findCallerInfo(getUriString(callee));
+ if (info == null) info = findCallerInfo(callee.getUserName());
+ if (info == null) info = findCallerInfo(callee.getDisplayName());
SipConnection c = new SipConnection(this, callee, info);
connections.add(c);
@@ -625,6 +646,7 @@
if (newState == Call.State.INCOMING) {
setState(mOwner.getState()); // INCOMING or WAITING
} else {
+ if (newState == Call.State.ACTIVE) call.startAudio();
setState(newState);
}
mOwner.onConnectionStateChanged(SipConnection.this);
@@ -652,20 +674,9 @@
super(getUriString(callee));
mOwner = owner;
mPeer = callee;
- if (info == null) info = createCallerInfo();
setUserData(info);
}
- private CallerInfo createCallerInfo() {
- SipProfile p = mPeer;
- String name = p.getDisplayName();
- if (TextUtils.isEmpty(name)) name = p.getUserName();
- CallerInfo info = new CallerInfo();
- info.name = name;
- info.phoneNumber = getUriString(p);
- return info;
- }
-
void initIncomingCall(SipAudioCall sipAudioCall, Call.State newState) {
setState(newState);
mSipAudioCall = sipAudioCall;
@@ -675,7 +686,7 @@
void acceptCall() throws CallStateException {
try {
- mSipAudioCall.answerCall();
+ mSipAudioCall.answerCall(SESSION_TIMEOUT);
} catch (SipException e) {
throw new CallStateException("acceptCall(): " + e);
}
@@ -693,7 +704,7 @@
void dial() throws SipException {
setState(Call.State.DIALING);
mSipAudioCall = mSipManager.makeAudioCall(mContext, mProfile,
- mPeer, null);
+ mPeer, null, SESSION_TIMEOUT);
mSipAudioCall.setRingbackToneEnabled(false);
mSipAudioCall.setListener(mAdapter);
}
@@ -701,7 +712,7 @@
void hold() throws CallStateException {
setState(Call.State.HOLDING);
try {
- mSipAudioCall.holdCall();
+ mSipAudioCall.holdCall(SESSION_TIMEOUT);
} catch (SipException e) {
throw new CallStateException("hold(): " + e);
}
@@ -711,7 +722,7 @@
mSipAudioCall.setAudioGroup(audioGroup);
setState(Call.State.ACTIVE);
try {
- mSipAudioCall.continueCall();
+ mSipAudioCall.continueCall(SESSION_TIMEOUT);
} catch (SipException e) {
throw new CallStateException("unhold(): " + e);
}
diff --git a/voip/java/android/net/sip/ISipSession.aidl b/voip/java/android/net/sip/ISipSession.aidl
index cd8bd2c..5661b8f 100644
--- a/voip/java/android/net/sip/ISipSession.aidl
+++ b/voip/java/android/net/sip/ISipSession.aidl
@@ -112,9 +112,11 @@
*
* @param callee the SIP profile to make the call to
* @param sessionDescription the session description of this call
+ * @param timeout the session will be timed out if the call is not
+ * established within {@code timeout} seconds
* @see ISipSessionListener
*/
- void makeCall(in SipProfile callee, String sessionDescription);
+ void makeCall(in SipProfile callee, String sessionDescription, int timeout);
/**
* Answers an incoming call with the specified session description. The
@@ -122,8 +124,10 @@
* {@link SipSessionState#INCOMING_CALL}.
*
* @param sessionDescription the session description to answer this call
+ * @param timeout the session will be timed out if the call is not
+ * established within {@code timeout} seconds
*/
- void answerCall(String sessionDescription);
+ void answerCall(String sessionDescription, int timeout);
/**
* Ends an established call, terminates an outgoing call or rejects an
@@ -140,6 +144,8 @@
* to call when the session state is in {@link SipSessionState#IN_CALL}.
*
* @param sessionDescription the new session description
+ * @param timeout the session will be timed out if the call is not
+ * established within {@code timeout} seconds
*/
- void changeCall(String sessionDescription);
+ void changeCall(String sessionDescription, int timeout);
}
diff --git a/voip/java/android/net/sip/SipAudioCall.java b/voip/java/android/net/sip/SipAudioCall.java
index 573760e..4abea20 100644
--- a/voip/java/android/net/sip/SipAudioCall.java
+++ b/voip/java/android/net/sip/SipAudioCall.java
@@ -153,17 +153,29 @@
void setListener(Listener listener, boolean callbackImmediately);
/**
- * Closes this object. The object is not usable after being closed.
+ * Closes this object. This object is not usable after being closed.
*/
void close();
/**
- * Initiates an audio call to the specified profile.
+ * Initiates an audio call to the specified profile. The attempt will be
+ * timed out if the call is not established within {@code timeout} seconds
+ * and {@code Listener.onError(SipAudioCall, SipErrorCode.TIME_OUT, String)}
+ * will be called.
*
* @param callee the SIP profile to make the call to
* @param sipManager the {@link SipManager} object to help make call with
+ * @param timeout the timeout value in seconds
+ * @see Listener.onError
*/
- void makeCall(SipProfile callee, SipManager sipManager) throws SipException;
+ void makeCall(SipProfile callee, SipManager sipManager, int timeout)
+ throws SipException;
+
+ /**
+ * Starts the audio for the established call. This method should be called
+ * after {@link Listener#onCallEstablished} is called.
+ */
+ void startAudio();
/**
* Attaches an incoming call to this call object.
@@ -179,18 +191,38 @@
/**
* Puts a call on hold. When succeeds, {@link Listener#onCallHeld} is
- * called.
+ * called. The attempt will be timed out if the call is not established
+ * within {@code timeout} seconds and
+ * {@code Listener.onError(SipAudioCall, SipErrorCode.TIME_OUT, String)}
+ * will be called.
+ *
+ * @param timeout the timeout value in seconds
+ * @see Listener.onError
*/
- void holdCall() throws SipException;
+ void holdCall(int timeout) throws SipException;
- /** Answers a call. */
- void answerCall() throws SipException;
+ /**
+ * Answers a call. The attempt will be timed out if the call is not
+ * established within {@code timeout} seconds and
+ * {@code Listener.onError(SipAudioCall, SipErrorCode.TIME_OUT, String)}
+ * will be called.
+ *
+ * @param timeout the timeout value in seconds
+ * @see Listener.onError
+ */
+ void answerCall(int timeout) throws SipException;
/**
* Continues a call that's on hold. When succeeds,
- * {@link Listener#onCallEstablished} is called.
+ * {@link Listener#onCallEstablished} is called. The attempt will be timed
+ * out if the call is not established within {@code timeout} seconds and
+ * {@code Listener.onError(SipAudioCall, SipErrorCode.TIME_OUT, String)}
+ * will be called.
+ *
+ * @param timeout the timeout value in seconds
+ * @see Listener.onError
*/
- void continueCall() throws SipException;
+ void continueCall(int timeout) throws SipException;
/** Puts the device to speaker mode. */
void setSpeakerMode(boolean speakerMode);
diff --git a/voip/java/android/net/sip/SipAudioCallImpl.java b/voip/java/android/net/sip/SipAudioCallImpl.java
index 8bf486a..e61e878 100644
--- a/voip/java/android/net/sip/SipAudioCallImpl.java
+++ b/voip/java/android/net/sip/SipAudioCallImpl.java
@@ -37,6 +37,7 @@
import java.io.IOException;
import java.net.InetAddress;
+import java.net.UnknownHostException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -55,6 +56,7 @@
private static final boolean DONT_RELEASE_SOCKET = false;
private static final String AUDIO = "audio";
private static final int DTMF = 101;
+ private static final int SESSION_TIMEOUT = 5; // in seconds
private Context mContext;
private SipProfile mLocalProfile;
@@ -144,12 +146,21 @@
if (closeRtp) stopCall(RELEASE_SOCKET);
stopRingbackTone();
stopRinging();
- mSipSession = null;
+
mInCall = false;
mHold = false;
mSessionId = -1L;
mErrorCode = null;
mErrorMessage = null;
+
+ if (mSipSession != null) {
+ try {
+ mSipSession.setListener(null);
+ } catch (RemoteException e) {
+ // don't care
+ }
+ mSipSession = null;
+ }
}
public synchronized SipProfile getLocalProfile() {
@@ -219,7 +230,7 @@
// session changing request
try {
mPeerSd = new SdpSessionDescription(sessionDescription);
- answerCall();
+ answerCall(SESSION_TIMEOUT);
} catch (Throwable e) {
Log.e(TAG, "onRinging()", e);
session.endCall();
@@ -229,24 +240,18 @@
}
}
- private synchronized void establishCall(String sessionDescription) {
- stopRingbackTone();
- stopRinging();
- try {
- SdpSessionDescription sd =
- new SdpSessionDescription(sessionDescription);
- Log.d(TAG, "sip call established: " + sd);
- startCall(sd);
- mInCall = true;
- } catch (SdpException e) {
- Log.e(TAG, "createSessionDescription()", e);
- }
- }
-
@Override
public void onCallEstablished(ISipSession session,
String sessionDescription) {
- establishCall(sessionDescription);
+ stopRingbackTone();
+ stopRinging();
+ try {
+ mPeerSd = new SdpSessionDescription(sessionDescription);
+ Log.d(TAG, "sip call established: " + mPeerSd);
+ } catch (SdpException e) {
+ Log.e(TAG, "createSessionDescription()", e);
+ }
+
Listener listener = mListener;
if (listener != null) {
try {
@@ -346,14 +351,15 @@
}
public synchronized void makeCall(SipProfile peerProfile,
- SipManager sipManager) throws SipException {
+ SipManager sipManager, int timeout) throws SipException {
try {
mSipSession = sipManager.createSipSession(mLocalProfile, this);
if (mSipSession == null) {
throw new SipException(
"Failed to create SipSession; network available?");
}
- mSipSession.makeCall(peerProfile, createOfferSessionDescription());
+ mSipSession.makeCall(peerProfile, createOfferSessionDescription(),
+ timeout);
} catch (Throwable e) {
if (e instanceof SipException) {
throw (SipException) e;
@@ -376,10 +382,10 @@
}
}
- public synchronized void holdCall() throws SipException {
+ public synchronized void holdCall(int timeout) throws SipException {
if (mHold) return;
try {
- mSipSession.changeCall(createHoldSessionDescription());
+ mSipSession.changeCall(createHoldSessionDescription(), timeout);
mHold = true;
} catch (Throwable e) {
throwSipException(e);
@@ -389,21 +395,21 @@
if (audioGroup != null) audioGroup.setMode(AudioGroup.MODE_ON_HOLD);
}
- public synchronized void answerCall() throws SipException {
+ public synchronized void answerCall(int timeout) throws SipException {
try {
stopRinging();
- mSipSession.answerCall(createAnswerSessionDescription());
+ mSipSession.answerCall(createAnswerSessionDescription(), timeout);
} catch (Throwable e) {
Log.e(TAG, "answerCall()", e);
throwSipException(e);
}
}
- public synchronized void continueCall() throws SipException {
+ public synchronized void continueCall(int timeout) throws SipException {
if (!mHold) return;
try {
mHold = false;
- mSipSession.changeCall(createContinueSessionDescription());
+ mSipSession.changeCall(createContinueSessionDescription(), timeout);
} catch (Throwable e) {
throwSipException(e);
}
@@ -598,10 +604,23 @@
return copies;
}
- private void startCall(SdpSessionDescription peerSd) {
+ public void startAudio() {
+ try {
+ startAudioInternal();
+ } catch (UnknownHostException e) {
+ onError(mSipSession, SipErrorCode.PEER_NOT_REACHABLE.toString(),
+ e.getMessage());
+ } catch (Throwable e) {
+ onError(mSipSession, SipErrorCode.CLIENT_ERROR.toString(),
+ e.getMessage());
+ }
+ }
+
+ private synchronized void startAudioInternal() throws UnknownHostException {
stopCall(DONT_RELEASE_SOCKET);
+ mInCall = true;
+ SdpSessionDescription peerSd = mPeerSd;
if (isWifiOn()) grabWifiHighPerfLock();
- mPeerSd = peerSd;
String peerMediaAddress = peerSd.getPeerMediaAddress(AUDIO);
// TODO: handle multiple media fields
int peerMediaPort = peerSd.getPeerMediaPort(AUDIO);
@@ -610,58 +629,55 @@
int localPort = getLocalMediaPort();
int sampleRate = 8000;
int frameSize = sampleRate / 50; // 160
- try {
- // TODO: get sample rate from sdp
- mCodec = getCodec(peerSd);
- AudioStream audioStream = mAudioStream;
- audioStream.associate(InetAddress.getByName(peerMediaAddress),
- peerMediaPort);
- audioStream.setCodec(convert(mCodec), mCodec.payloadType);
- audioStream.setDtmfType(DTMF);
- Log.d(TAG, "start media: localPort=" + localPort + ", peer="
- + peerMediaAddress + ":" + peerMediaPort);
+ // TODO: get sample rate from sdp
+ mCodec = getCodec(peerSd);
- audioStream.setMode(RtpStream.MODE_NORMAL);
- if (!mHold) {
- // FIXME: won't work if peer is not sending nor receiving
- if (!peerSd.isSending(AUDIO)) {
- Log.d(TAG, " not receiving");
- audioStream.setMode(RtpStream.MODE_SEND_ONLY);
- }
- if (!peerSd.isReceiving(AUDIO)) {
- Log.d(TAG, " not sending");
- audioStream.setMode(RtpStream.MODE_RECEIVE_ONLY);
- }
+ AudioStream audioStream = mAudioStream;
+ audioStream.associate(InetAddress.getByName(peerMediaAddress),
+ peerMediaPort);
+ audioStream.setCodec(convert(mCodec), mCodec.payloadType);
+ audioStream.setDtmfType(DTMF);
+ Log.d(TAG, "start media: localPort=" + localPort + ", peer="
+ + peerMediaAddress + ":" + peerMediaPort);
- /* The recorder volume will be very low if the device is in
- * IN_CALL mode. Therefore, we have to set the mode to NORMAL
- * in order to have the normal microphone level.
- */
- ((AudioManager) mContext.getSystemService
- (Context.AUDIO_SERVICE))
- .setMode(AudioManager.MODE_NORMAL);
+ audioStream.setMode(RtpStream.MODE_NORMAL);
+ if (!mHold) {
+ // FIXME: won't work if peer is not sending nor receiving
+ if (!peerSd.isSending(AUDIO)) {
+ Log.d(TAG, " not receiving");
+ audioStream.setMode(RtpStream.MODE_SEND_ONLY);
+ }
+ if (!peerSd.isReceiving(AUDIO)) {
+ Log.d(TAG, " not sending");
+ audioStream.setMode(RtpStream.MODE_RECEIVE_ONLY);
}
- // AudioGroup logic:
- AudioGroup audioGroup = getAudioGroup();
- if (mHold) {
- if (audioGroup != null) {
- audioGroup.setMode(AudioGroup.MODE_ON_HOLD);
- }
- // don't create an AudioGroup here; doing so will fail if
- // there's another AudioGroup out there that's active
+ /* The recorder volume will be very low if the device is in
+ * IN_CALL mode. Therefore, we have to set the mode to NORMAL
+ * in order to have the normal microphone level.
+ */
+ ((AudioManager) mContext.getSystemService
+ (Context.AUDIO_SERVICE))
+ .setMode(AudioManager.MODE_NORMAL);
+ }
+
+ // AudioGroup logic:
+ AudioGroup audioGroup = getAudioGroup();
+ if (mHold) {
+ if (audioGroup != null) {
+ audioGroup.setMode(AudioGroup.MODE_ON_HOLD);
+ }
+ // don't create an AudioGroup here; doing so will fail if
+ // there's another AudioGroup out there that's active
+ } else {
+ if (audioGroup == null) audioGroup = new AudioGroup();
+ audioStream.join(audioGroup);
+ if (mMuted) {
+ audioGroup.setMode(AudioGroup.MODE_MUTED);
} else {
- if (audioGroup == null) audioGroup = new AudioGroup();
- audioStream.join(audioGroup);
- if (mMuted) {
- audioGroup.setMode(AudioGroup.MODE_MUTED);
- } else {
- audioGroup.setMode(AudioGroup.MODE_NORMAL);
- }
+ audioGroup.setMode(AudioGroup.MODE_NORMAL);
}
- } catch (Exception e) {
- Log.e(TAG, "call()", e);
}
}
diff --git a/voip/java/android/net/sip/SipManager.java b/voip/java/android/net/sip/SipManager.java
index 5b1767d..36895cd 100644
--- a/voip/java/android/net/sip/SipManager.java
+++ b/voip/java/android/net/sip/SipManager.java
@@ -218,44 +218,55 @@
}
/**
- * Creates a {@link SipAudioCall} to make a call.
+ * Creates a {@link SipAudioCall} to make a call. The attempt will be timed
+ * out if the call is not established within {@code timeout} seconds and
+ * {@code SipAudioCall.Listener.onError(SipAudioCall, SipErrorCode.TIME_OUT, String)}
+ * will be called.
*
* @param context context to create a {@link SipAudioCall} object
* @param localProfile the SIP profile to make the call from
* @param peerProfile the SIP profile to make the call to
* @param listener to listen to the call events from {@link SipAudioCall};
* can be null
+ * @param timeout the timeout value in seconds
* @return a {@link SipAudioCall} object
* @throws SipException if calling the SIP service results in an error
+ * @see SipAudioCall.Listener.onError
*/
public SipAudioCall makeAudioCall(Context context, SipProfile localProfile,
- SipProfile peerProfile, SipAudioCall.Listener listener)
+ SipProfile peerProfile, SipAudioCall.Listener listener, int timeout)
throws SipException {
SipAudioCall call = new SipAudioCallImpl(context, localProfile);
call.setListener(listener);
- call.makeCall(peerProfile, this);
+ call.makeCall(peerProfile, this, timeout);
return call;
}
/**
* Creates a {@link SipAudioCall} to make a call. To use this method, one
- * must call {@link #open(SipProfile)} first.
+ * must call {@link #open(SipProfile)} first. The attempt will be timed out
+ * if the call is not established within {@code timeout} seconds and
+ * {@code SipAudioCall.Listener.onError(SipAudioCall, SipErrorCode.TIME_OUT, String)}
+ * will be called.
*
* @param context context to create a {@link SipAudioCall} object
* @param localProfileUri URI of the SIP profile to make the call from
* @param peerProfileUri URI of the SIP profile to make the call to
* @param listener to listen to the call events from {@link SipAudioCall};
* can be null
+ * @param timeout the timeout value in seconds
* @return a {@link SipAudioCall} object
* @throws SipException if calling the SIP service results in an error
+ * @see SipAudioCall.Listener.onError
*/
public SipAudioCall makeAudioCall(Context context, String localProfileUri,
- String peerProfileUri, SipAudioCall.Listener listener)
+ String peerProfileUri, SipAudioCall.Listener listener, int timeout)
throws SipException {
try {
return makeAudioCall(context,
new SipProfile.Builder(localProfileUri).build(),
- new SipProfile.Builder(peerProfileUri).build(), listener);
+ new SipProfile.Builder(peerProfileUri).build(), listener,
+ timeout);
} catch (ParseException e) {
throw new SipException("build SipProfile", e);
}