Merge "Fix a bug in disabling wifi tethering on a wifi-only device."
diff --git a/res/drawable-hdpi/data_grid_border.9.png b/res/drawable-hdpi/data_grid_border.9.png
index e0110b6..e963917 100644
--- a/res/drawable-hdpi/data_grid_border.9.png
+++ b/res/drawable-hdpi/data_grid_border.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_grid_primary.9.png b/res/drawable-hdpi/data_grid_primary.9.png
index a2b7b82..de0acf0 100644
--- a/res/drawable-hdpi/data_grid_primary.9.png
+++ b/res/drawable-hdpi/data_grid_primary.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_grid_secondary.9.png b/res/drawable-hdpi/data_grid_secondary.9.png
index f13bf78..9a69574 100644
--- a/res/drawable-hdpi/data_grid_secondary.9.png
+++ b/res/drawable-hdpi/data_grid_secondary.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_left_activated.9.png b/res/drawable-hdpi/data_sweep_left_activated.9.png
index 28efd35..df8dc10 100644
--- a/res/drawable-hdpi/data_sweep_left_activated.9.png
+++ b/res/drawable-hdpi/data_sweep_left_activated.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_left_default.9.png b/res/drawable-hdpi/data_sweep_left_default.9.png
index 4b6f2df..dd1205a 100644
--- a/res/drawable-hdpi/data_sweep_left_default.9.png
+++ b/res/drawable-hdpi/data_sweep_left_default.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_limit_activated.9.png b/res/drawable-hdpi/data_sweep_limit_activated.9.png
index 59de0d3..f946d79 100644
--- a/res/drawable-hdpi/data_sweep_limit_activated.9.png
+++ b/res/drawable-hdpi/data_sweep_limit_activated.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_limit_default.9.png b/res/drawable-hdpi/data_sweep_limit_default.9.png
index d7f3a88..25fb4fd 100644
--- a/res/drawable-hdpi/data_sweep_limit_default.9.png
+++ b/res/drawable-hdpi/data_sweep_limit_default.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_right_activated.9.png b/res/drawable-hdpi/data_sweep_right_activated.9.png
index ccd7ff9..44b9a91 100644
--- a/res/drawable-hdpi/data_sweep_right_activated.9.png
+++ b/res/drawable-hdpi/data_sweep_right_activated.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_right_default.9.png b/res/drawable-hdpi/data_sweep_right_default.9.png
index 1179fde..becc0cd 100644
--- a/res/drawable-hdpi/data_sweep_right_default.9.png
+++ b/res/drawable-hdpi/data_sweep_right_default.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_warning_activated.9.png b/res/drawable-hdpi/data_sweep_warning_activated.9.png
index 9ecd28b..d4c9930 100644
--- a/res/drawable-hdpi/data_sweep_warning_activated.9.png
+++ b/res/drawable-hdpi/data_sweep_warning_activated.9.png
Binary files differ
diff --git a/res/drawable-hdpi/data_sweep_warning_default.9.png b/res/drawable-hdpi/data_sweep_warning_default.9.png
index ec2b9df..68381ef 100644
--- a/res/drawable-hdpi/data_sweep_warning_default.9.png
+++ b/res/drawable-hdpi/data_sweep_warning_default.9.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_sync_anim0.png b/res/drawable-hdpi/ic_list_sync_anim0.png
deleted file mode 100755
index dc78905..0000000
--- a/res/drawable-hdpi/ic_list_sync_anim0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_sync_anim1.png b/res/drawable-hdpi/ic_list_sync_anim1.png
deleted file mode 100755
index 5fe6b4f..0000000
--- a/res/drawable-hdpi/ic_list_sync_anim1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_sync_anim2.png b/res/drawable-hdpi/ic_list_sync_anim2.png
deleted file mode 100755
index d9d68ed..0000000
--- a/res/drawable-hdpi/ic_list_sync_anim2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_sync_anim3.png b/res/drawable-hdpi/ic_list_sync_anim3.png
deleted file mode 100755
index 7275c29..0000000
--- a/res/drawable-hdpi/ic_list_sync_anim3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_anim_holo.png b/res/drawable-hdpi/ic_sync_anim_holo.png
new file mode 100644
index 0000000..bc8dc58
--- /dev/null
+++ b/res/drawable-hdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_error.png b/res/drawable-hdpi/ic_sync_error.png
new file mode 100644
index 0000000..914d44d
--- /dev/null
+++ b/res/drawable-hdpi/ic_sync_error.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_error_holo.png b/res/drawable-hdpi/ic_sync_error_holo.png
new file mode 100644
index 0000000..3e34bd0
--- /dev/null
+++ b/res/drawable-hdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_green_holo.png b/res/drawable-hdpi/ic_sync_green_holo.png
new file mode 100644
index 0000000..2588f3d
--- /dev/null
+++ b/res/drawable-hdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_grey_holo.png b/res/drawable-hdpi/ic_sync_grey_holo.png
new file mode 100644
index 0000000..4c7060d
--- /dev/null
+++ b/res/drawable-hdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_red_holo.png b/res/drawable-hdpi/ic_sync_red_holo.png
new file mode 100644
index 0000000..b65520d
--- /dev/null
+++ b/res/drawable-hdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/data_grid_border.9.png b/res/drawable-mdpi/data_grid_border.9.png
index 85912b8..ac6b034 100644
--- a/res/drawable-mdpi/data_grid_border.9.png
+++ b/res/drawable-mdpi/data_grid_border.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_grid_primary.9.png b/res/drawable-mdpi/data_grid_primary.9.png
index 0aa9143..491f156 100644
--- a/res/drawable-mdpi/data_grid_primary.9.png
+++ b/res/drawable-mdpi/data_grid_primary.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_grid_secondary.9.png b/res/drawable-mdpi/data_grid_secondary.9.png
index 7a09593..9a69574 100644
--- a/res/drawable-mdpi/data_grid_secondary.9.png
+++ b/res/drawable-mdpi/data_grid_secondary.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_left_activated.9.png b/res/drawable-mdpi/data_sweep_left_activated.9.png
index fc6764a..940ff0c 100644
--- a/res/drawable-mdpi/data_sweep_left_activated.9.png
+++ b/res/drawable-mdpi/data_sweep_left_activated.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_left_default.9.png b/res/drawable-mdpi/data_sweep_left_default.9.png
index 31343e7..f076a59 100644
--- a/res/drawable-mdpi/data_sweep_left_default.9.png
+++ b/res/drawable-mdpi/data_sweep_left_default.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_limit_activated.9.png b/res/drawable-mdpi/data_sweep_limit_activated.9.png
index b01d5f0..8db6978 100644
--- a/res/drawable-mdpi/data_sweep_limit_activated.9.png
+++ b/res/drawable-mdpi/data_sweep_limit_activated.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_limit_default.9.png b/res/drawable-mdpi/data_sweep_limit_default.9.png
index a59649a..f40d15c 100644
--- a/res/drawable-mdpi/data_sweep_limit_default.9.png
+++ b/res/drawable-mdpi/data_sweep_limit_default.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_right_activated.9.png b/res/drawable-mdpi/data_sweep_right_activated.9.png
index 5314538..91da8a0 100644
--- a/res/drawable-mdpi/data_sweep_right_activated.9.png
+++ b/res/drawable-mdpi/data_sweep_right_activated.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_right_default.9.png b/res/drawable-mdpi/data_sweep_right_default.9.png
index cc3b586..55e6536 100644
--- a/res/drawable-mdpi/data_sweep_right_default.9.png
+++ b/res/drawable-mdpi/data_sweep_right_default.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_warning_activated.9.png b/res/drawable-mdpi/data_sweep_warning_activated.9.png
index ed44d4d..257d790 100644
--- a/res/drawable-mdpi/data_sweep_warning_activated.9.png
+++ b/res/drawable-mdpi/data_sweep_warning_activated.9.png
Binary files differ
diff --git a/res/drawable-mdpi/data_sweep_warning_default.9.png b/res/drawable-mdpi/data_sweep_warning_default.9.png
index 760ea18..95a8b42 100644
--- a/res/drawable-mdpi/data_sweep_warning_default.9.png
+++ b/res/drawable-mdpi/data_sweep_warning_default.9.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_sync_anim0.png b/res/drawable-mdpi/ic_list_sync_anim0.png
deleted file mode 100644
index 981a72e..0000000
--- a/res/drawable-mdpi/ic_list_sync_anim0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_sync_anim1.png b/res/drawable-mdpi/ic_list_sync_anim1.png
deleted file mode 100644
index 4581ba2..0000000
--- a/res/drawable-mdpi/ic_list_sync_anim1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_sync_anim2.png b/res/drawable-mdpi/ic_list_sync_anim2.png
deleted file mode 100644
index b745916..0000000
--- a/res/drawable-mdpi/ic_list_sync_anim2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_sync_anim3.png b/res/drawable-mdpi/ic_list_sync_anim3.png
deleted file mode 100644
index 43e453d..0000000
--- a/res/drawable-mdpi/ic_list_sync_anim3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_anim_holo.png b/res/drawable-mdpi/ic_sync_anim_holo.png
new file mode 100644
index 0000000..66db062
--- /dev/null
+++ b/res/drawable-mdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_error.png b/res/drawable-mdpi/ic_sync_error.png
new file mode 100644
index 0000000..2b98bca
--- /dev/null
+++ b/res/drawable-mdpi/ic_sync_error.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_error_holo.png b/res/drawable-mdpi/ic_sync_error_holo.png
new file mode 100644
index 0000000..dd3958e
--- /dev/null
+++ b/res/drawable-mdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_green_holo.png b/res/drawable-mdpi/ic_sync_green_holo.png
new file mode 100644
index 0000000..1c981b66
--- /dev/null
+++ b/res/drawable-mdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_grey_holo.png b/res/drawable-mdpi/ic_sync_grey_holo.png
new file mode 100644
index 0000000..bb4267f
--- /dev/null
+++ b/res/drawable-mdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_red_holo.png b/res/drawable-mdpi/ic_sync_red_holo.png
new file mode 100644
index 0000000..36fe6b8
--- /dev/null
+++ b/res/drawable-mdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_grid_border.9.png b/res/drawable-xhdpi/data_grid_border.9.png
index 2139cf2..66b7e31 100644
--- a/res/drawable-xhdpi/data_grid_border.9.png
+++ b/res/drawable-xhdpi/data_grid_border.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_grid_primary.9.png b/res/drawable-xhdpi/data_grid_primary.9.png
index ae68886..b1a3352 100644
--- a/res/drawable-xhdpi/data_grid_primary.9.png
+++ b/res/drawable-xhdpi/data_grid_primary.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_grid_secondary.9.png b/res/drawable-xhdpi/data_grid_secondary.9.png
index 7a09593..77e30de 100644
--- a/res/drawable-xhdpi/data_grid_secondary.9.png
+++ b/res/drawable-xhdpi/data_grid_secondary.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_left_activated.9.png b/res/drawable-xhdpi/data_sweep_left_activated.9.png
index ff9631e..878bbc8 100644
--- a/res/drawable-xhdpi/data_sweep_left_activated.9.png
+++ b/res/drawable-xhdpi/data_sweep_left_activated.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_left_default.9.png b/res/drawable-xhdpi/data_sweep_left_default.9.png
index 2e0651c..f04e12e 100644
--- a/res/drawable-xhdpi/data_sweep_left_default.9.png
+++ b/res/drawable-xhdpi/data_sweep_left_default.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_limit_activated.9.png b/res/drawable-xhdpi/data_sweep_limit_activated.9.png
index ae02388..4138ae7 100644
--- a/res/drawable-xhdpi/data_sweep_limit_activated.9.png
+++ b/res/drawable-xhdpi/data_sweep_limit_activated.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_limit_default.9.png b/res/drawable-xhdpi/data_sweep_limit_default.9.png
index 7391148..dcd99f4 100644
--- a/res/drawable-xhdpi/data_sweep_limit_default.9.png
+++ b/res/drawable-xhdpi/data_sweep_limit_default.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_right_activated.9.png b/res/drawable-xhdpi/data_sweep_right_activated.9.png
index 81c1a3c..9fd92b4 100644
--- a/res/drawable-xhdpi/data_sweep_right_activated.9.png
+++ b/res/drawable-xhdpi/data_sweep_right_activated.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_right_default.9.png b/res/drawable-xhdpi/data_sweep_right_default.9.png
index 94a9f61..ebba774 100644
--- a/res/drawable-xhdpi/data_sweep_right_default.9.png
+++ b/res/drawable-xhdpi/data_sweep_right_default.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_warning_activated.9.png b/res/drawable-xhdpi/data_sweep_warning_activated.9.png
index 0a2d2b1..83e7d08 100644
--- a/res/drawable-xhdpi/data_sweep_warning_activated.9.png
+++ b/res/drawable-xhdpi/data_sweep_warning_activated.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/data_sweep_warning_default.9.png b/res/drawable-xhdpi/data_sweep_warning_default.9.png
index d5f6044..3a53cf7 100644
--- a/res/drawable-xhdpi/data_sweep_warning_default.9.png
+++ b/res/drawable-xhdpi/data_sweep_warning_default.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_sync_anim0.png b/res/drawable-xhdpi/ic_list_sync_anim0.png
deleted file mode 100644
index 9909f6a..0000000
--- a/res/drawable-xhdpi/ic_list_sync_anim0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_sync_anim1.png b/res/drawable-xhdpi/ic_list_sync_anim1.png
deleted file mode 100644
index f751f2a..0000000
--- a/res/drawable-xhdpi/ic_list_sync_anim1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_sync_anim2.png b/res/drawable-xhdpi/ic_list_sync_anim2.png
deleted file mode 100644
index 374db6a..0000000
--- a/res/drawable-xhdpi/ic_list_sync_anim2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_sync_anim3.png b/res/drawable-xhdpi/ic_list_sync_anim3.png
deleted file mode 100644
index ec3fde6..0000000
--- a/res/drawable-xhdpi/ic_list_sync_anim3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_anim_holo.png b/res/drawable-xhdpi/ic_sync_anim_holo.png
new file mode 100644
index 0000000..d315e95
--- /dev/null
+++ b/res/drawable-xhdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_error.png b/res/drawable-xhdpi/ic_sync_error.png
new file mode 100644
index 0000000..b9a5357
--- /dev/null
+++ b/res/drawable-xhdpi/ic_sync_error.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_error_holo.png b/res/drawable-xhdpi/ic_sync_error_holo.png
new file mode 100644
index 0000000..85f19bf
--- /dev/null
+++ b/res/drawable-xhdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_green_holo.png b/res/drawable-xhdpi/ic_sync_green_holo.png
new file mode 100644
index 0000000..95e2d7d
--- /dev/null
+++ b/res/drawable-xhdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_grey_holo.png b/res/drawable-xhdpi/ic_sync_grey_holo.png
new file mode 100644
index 0000000..10cc48a
--- /dev/null
+++ b/res/drawable-xhdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_red_holo.png b/res/drawable-xhdpi/ic_sync_red_holo.png
new file mode 100644
index 0000000..c4b9136
--- /dev/null
+++ b/res/drawable-xhdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable/ic_list_sync_anim.xml b/res/drawable/ic_list_sync_anim.xml
index b6965c5..e70c300 100644
--- a/res/drawable/ic_list_sync_anim.xml
+++ b/res/drawable/ic_list_sync_anim.xml
@@ -17,12 +17,8 @@
** limitations under the License.
*/
-->
-<animation-list
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:oneshot="false">
- <item android:drawable="@drawable/ic_list_sync_anim0" android:duration="150" />
- <item android:drawable="@drawable/ic_list_sync_anim1" android:duration="150" />
- <item android:drawable="@drawable/ic_list_sync_anim2" android:duration="150" />
- <item android:drawable="@drawable/ic_list_sync_anim3" android:duration="150" />
-</animation-list>
+<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawable="@drawable/ic_sync_anim_holo"
+ android:pivotX="50%"
+ android:pivotY="50%" />
diff --git a/res/layout/account_sync_screen.xml b/res/layout/account_sync_screen.xml
index 5a4bc59..d54d750 100644
--- a/res/layout/account_sync_screen.xml
+++ b/res/layout/account_sync_screen.xml
@@ -37,7 +37,10 @@
<TextView android:id="@+id/sync_settings_error_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/sync_is_failing" />
+ android:layout_margin="8dip"
+ android:text="@string/sync_is_failing"
+ android:drawablePadding="8dip"
+ android:drawableLeft="@drawable/ic_sync_error_holo" />
<!--
<LinearLayout android:id="@+id/remove_account_area"
diff --git a/res/layout/manage_accounts_screen.xml b/res/layout/manage_accounts_screen.xml
index ce86920..2717805 100644
--- a/res/layout/manage_accounts_screen.xml
+++ b/res/layout/manage_accounts_screen.xml
@@ -34,6 +34,9 @@
<TextView android:id="@+id/sync_settings_error_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/sync_is_failing" />
+ android:layout_margin="8dip"
+ android:text="@string/sync_is_failing"
+ android:drawablePadding="8dip"
+ android:drawableLeft="@drawable/ic_sync_error_holo" />
</LinearLayout>
diff --git a/res/layout/preference_widget_sync_toggle.xml b/res/layout/preference_widget_sync_toggle.xml
index 6eaa86e..5057aab 100644
--- a/res/layout/preference_widget_sync_toggle.xml
+++ b/res/layout/preference_widget_sync_toggle.xml
@@ -23,34 +23,23 @@
android:gravity="center_vertical|right">
<ImageView
- android:id="@+android:id/sync_failed"
- android:src="@drawable/ic_list_syncerror"
+ android:id="@+id/sync_failed"
+ android:src="@drawable/ic_sync_error_holo"
android:layout_width="wrap_content"
- android:layout_marginLeft="6sp"
- android:layout_marginBottom="2sp"
+ android:layout_marginRight="8dip"
android:layout_height="wrap_content" />
- <ImageView
- android:id="@+android:id/sync_active"
+ <com.android.settings.widget.AnimatedImageView
+ android:id="@+id/sync_active"
android:src="@drawable/ic_list_sync_anim"
android:layout_width="wrap_content"
- android:layout_marginLeft="6sp"
- android:layout_marginBottom="2sp"
- android:layout_height="wrap_content" />
-
- <ImageView
- android:id="@+android:id/sync_pending"
- android:src="@drawable/ic_list_sync_anim0"
- android:layout_width="wrap_content"
- android:layout_marginLeft="6sp"
- android:layout_marginBottom="2sp"
- android:layout_height="wrap_content" />
+ android:layout_height="wrap_content"
+ android:layout_marginRight="8dip" />
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+android:id/checkbox"
+ android:id="@android:id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="4sp"
android:layout_gravity="center_vertical"
android:focusable="false"
android:clickable="false" />
diff --git a/src/com/android/settings/AccountPreference.java b/src/com/android/settings/AccountPreference.java
index f76d5cb..824420d 100644
--- a/src/com/android/settings/AccountPreference.java
+++ b/src/com/android/settings/AccountPreference.java
@@ -112,16 +112,16 @@
int res;
switch (status) {
case SYNC_ENABLED:
- res = R.drawable.ic_sync_green;
+ res = R.drawable.ic_sync_green_holo;
break;
case SYNC_DISABLED:
- res = R.drawable.ic_sync_grey;
+ res = R.drawable.ic_sync_grey_holo;
break;
case SYNC_ERROR:
- res = R.drawable.ic_sync_red;
+ res = R.drawable.ic_sync_red_holo;
break;
default:
- res = R.drawable.ic_sync_red;
+ res = R.drawable.ic_sync_red_holo;
Log.e(TAG, "Unknown sync status: " + status);
}
return res;
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index e70cbad..82f9844 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -158,8 +158,6 @@
mErrorInfoView = (TextView) rootView.findViewById(R.id.sync_settings_error_info);
mErrorInfoView.setVisibility(View.GONE);
- mErrorInfoView.setCompoundDrawablesWithIntrinsicBounds(
- getResources().getDrawable(R.drawable.ic_list_syncerror), null, null, null);
mUserId = (TextView) rootView.findViewById(R.id.user_id);
mProviderId = (TextView) rootView.findViewById(R.id.provider_id);
diff --git a/src/com/android/settings/accounts/ManageAccountsSettings.java b/src/com/android/settings/accounts/ManageAccountsSettings.java
index 05f74dd..4902d8a 100644
--- a/src/com/android/settings/accounts/ManageAccountsSettings.java
+++ b/src/com/android/settings/accounts/ManageAccountsSettings.java
@@ -110,9 +110,6 @@
mErrorInfoView = (TextView)view.findViewById(R.id.sync_settings_error_info);
mErrorInfoView.setVisibility(View.GONE);
- mErrorInfoView.setCompoundDrawablesWithIntrinsicBounds(
- activity.getResources().getDrawable(R.drawable.ic_list_syncerror),
- null, null, null);
mAutoSyncCheckbox = (CheckBoxPreference) findPreference(AUTO_SYNC_CHECKBOX_KEY);
diff --git a/src/com/android/settings/accounts/SyncStateCheckBoxPreference.java b/src/com/android/settings/accounts/SyncStateCheckBoxPreference.java
index 4b9ca81..13081dd 100644
--- a/src/com/android/settings/accounts/SyncStateCheckBoxPreference.java
+++ b/src/com/android/settings/accounts/SyncStateCheckBoxPreference.java
@@ -16,17 +16,15 @@
package com.android.settings.accounts;
-import com.android.settings.R;
-
+import android.accounts.Account;
import android.content.Context;
-import android.graphics.drawable.AnimationDrawable;
-import android.os.Handler;
import android.preference.CheckBoxPreference;
import android.util.AttributeSet;
import android.view.View;
-import android.widget.ImageView;
import android.widget.TextView;
-import android.accounts.Account;
+
+import com.android.settings.R;
+import com.android.settings.widget.AnimatedImageView;
public class SyncStateCheckBoxPreference extends CheckBoxPreference {
@@ -59,35 +57,16 @@
@Override
public void onBindView(View view) {
super.onBindView(view);
- ImageView syncActiveView = (ImageView) view.findViewById(R.id.sync_active);
- View syncPendingView = view.findViewById(R.id.sync_pending);
- View syncFailedView = view.findViewById(R.id.sync_failed);
+ final AnimatedImageView syncActiveView = (AnimatedImageView) view.findViewById(
+ R.id.sync_active);
+ final View syncFailedView = view.findViewById(R.id.sync_failed);
- syncActiveView.setVisibility(mIsActive ? View.VISIBLE : View.GONE);
- final AnimationDrawable anim = (AnimationDrawable) syncActiveView.getDrawable();
- boolean showError;
- boolean showPending;
- if (mIsActive) {
- new Handler(getContext().getMainLooper()).post(new Runnable() {
- public void run() {
- anim.start();
- }
- });
- showPending = false;
- showError = false;
- } else {
- anim.stop();
- if (mIsPending) {
- showPending = true;
- showError = false;
- } else {
- showPending = false;
- showError = mFailed;
- }
- }
+ final boolean activeVisible = mIsActive || mIsPending;
+ syncActiveView.setVisibility(activeVisible ? View.VISIBLE : View.GONE);
+ syncActiveView.setAnimating(mIsActive);
- syncFailedView.setVisibility(showError ? View.VISIBLE : View.GONE);
- syncPendingView.setVisibility((showPending && !mIsActive) ? View.VISIBLE : View.GONE);
+ final boolean failedVisible = mFailed && !activeVisible;
+ syncFailedView.setVisibility(failedVisible ? View.VISIBLE : View.GONE);
View checkBox = view.findViewById(android.R.id.checkbox);
if (mOneTimeSyncMode) {
diff --git a/src/com/android/settings/inputmethod/CheckBoxAndSettingsPreference.java b/src/com/android/settings/inputmethod/CheckBoxAndSettingsPreference.java
index f983f59..952146d 100644
--- a/src/com/android/settings/inputmethod/CheckBoxAndSettingsPreference.java
+++ b/src/com/android/settings/inputmethod/CheckBoxAndSettingsPreference.java
@@ -52,7 +52,7 @@
new OnClickListener() {
@Override
public void onClick(View arg0) {
- onCheckBoxClicked(arg0);
+ onCheckBoxClicked();
}
});
mSetingsButton = (ImageView)view.findViewById(R.id.inputmethod_settings);
@@ -80,7 +80,7 @@
mSettingsIntent = intent;
}
- protected void onCheckBoxClicked(View view) {
+ protected void onCheckBoxClicked() {
if (isChecked()) {
setChecked(false);
} else {
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index c80267b..45621e5 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -110,6 +110,7 @@
// IME
mIsOnlyImeSettings = Settings.ACTION_INPUT_METHOD_SETTINGS.equals(
getActivity().getIntent().getAction());
+ getActivity().getIntent().setAction(null);
mImm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mImis = mImm.getInputMethodList();
createImePreferenceHierarchy((PreferenceGroup)findPreference("keyboard_settings_category"));
diff --git a/src/com/android/settings/inputmethod/SpellCheckersPreference.java b/src/com/android/settings/inputmethod/SpellCheckersPreference.java
index 7d2eec8..5e4ebba 100644
--- a/src/com/android/settings/inputmethod/SpellCheckersPreference.java
+++ b/src/com/android/settings/inputmethod/SpellCheckersPreference.java
@@ -18,10 +18,22 @@
import android.content.Context;
import android.util.AttributeSet;
+import android.view.textservice.TextServicesManager;
public class SpellCheckersPreference extends CheckBoxAndSettingsPreference {
+ private final TextServicesManager mTsm;
public SpellCheckersPreference(Context context, AttributeSet attrs) {
super(context, attrs);
+ mTsm = (TextServicesManager) context.getSystemService(
+ Context.TEXT_SERVICES_MANAGER_SERVICE);
+ setChecked(mTsm.isSpellCheckerEnabled());
+ }
+
+ @Override
+ protected void onCheckBoxClicked() {
+ super.onCheckBoxClicked();
+ final boolean checked = isChecked();
+ mTsm.setSpellCheckerEnabled(checked);
}
}
diff --git a/src/com/android/settings/widget/AnimatedImageView.java b/src/com/android/settings/widget/AnimatedImageView.java
new file mode 100644
index 0000000..671d718
--- /dev/null
+++ b/src/com/android/settings/widget/AnimatedImageView.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.widget;
+
+import android.content.Context;
+import android.graphics.drawable.AnimatedRotateDrawable;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageView;
+
+public class AnimatedImageView extends ImageView {
+ private AnimatedRotateDrawable mDrawable;
+ private boolean mAnimating;
+
+ public AnimatedImageView(Context context) {
+ super(context);
+ }
+
+ public AnimatedImageView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ private void updateDrawable() {
+ if (isShown() && mDrawable != null) {
+ mDrawable.stop();
+ }
+ final Drawable drawable = getDrawable();
+ if (drawable instanceof AnimatedRotateDrawable) {
+ mDrawable = (AnimatedRotateDrawable) drawable;
+ // TODO: define in drawable xml once we have public attrs.
+ mDrawable.setFramesCount(56);
+ mDrawable.setFramesDuration(32);
+ if (isShown() && mAnimating) {
+ mDrawable.start();
+ }
+ } else {
+ mDrawable = null;
+ }
+ }
+
+ private void updateAnimating() {
+ if (mDrawable != null) {
+ if (isShown() && mAnimating) {
+ mDrawable.start();
+ } else {
+ mDrawable.stop();
+ }
+ }
+ }
+
+ @Override
+ public void setImageDrawable(Drawable drawable) {
+ super.setImageDrawable(drawable);
+ updateDrawable();
+ }
+
+ @Override
+ public void setImageResource(int resid) {
+ super.setImageResource(resid);
+ updateDrawable();
+ }
+
+ @Override
+ public void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ updateAnimating();
+ }
+
+ @Override
+ public void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ updateAnimating();
+ }
+
+ public void setAnimating(boolean animating) {
+ mAnimating = animating;
+ updateAnimating();
+ }
+
+ @Override
+ protected void onVisibilityChanged(View changedView, int vis) {
+ super.onVisibilityChanged(changedView, vis);
+ updateAnimating();
+ }
+}