diff --git a/packages/SystemUI/res/anim/ic_hotspot_disable_animation_cross_1.xml b/packages/SystemUI/res/anim/ic_hotspot_disable_animation_cross_1.xml
new file mode 100644
index 0000000000000..ad06d8eef40ee
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_hotspot_disable_animation_cross_1.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/anim/ic_hotspot_disable_animation_mask.xml b/packages/SystemUI/res/anim/ic_hotspot_disable_animation_mask.xml
new file mode 100644
index 0000000000000..4cd8ce9ef7190
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_hotspot_disable_animation_mask.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/anim/ic_hotspot_disable_animation_root.xml b/packages/SystemUI/res/anim/ic_hotspot_disable_animation_root.xml
new file mode 100644
index 0000000000000..770c40149dcf8
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_hotspot_disable_animation_root.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/packages/SystemUI/res/anim/ic_hotspot_enable_animation_cross_1.xml b/packages/SystemUI/res/anim/ic_hotspot_enable_animation_cross_1.xml
new file mode 100644
index 0000000000000..523e53a1551ad
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_hotspot_enable_animation_cross_1.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/anim/ic_hotspot_enable_animation_mask.xml b/packages/SystemUI/res/anim/ic_hotspot_enable_animation_mask.xml
new file mode 100644
index 0000000000000..7562c9b38c181
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_hotspot_enable_animation_mask.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/anim/ic_hotspot_enable_animation_root.xml b/packages/SystemUI/res/anim/ic_hotspot_enable_animation_root.xml
new file mode 100644
index 0000000000000..387ca290a1cad
--- /dev/null
+++ b/packages/SystemUI/res/anim/ic_hotspot_enable_animation_root.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_hotspot_disable.xml b/packages/SystemUI/res/drawable/ic_hotspot_disable.xml
new file mode 100644
index 0000000000000..8249609bb5d09
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_hotspot_disable.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_hotspot_disable_animation.xml b/packages/SystemUI/res/drawable/ic_hotspot_disable_animation.xml
new file mode 100644
index 0000000000000..694c23f709b2b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_hotspot_disable_animation.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_hotspot_enable.xml b/packages/SystemUI/res/drawable/ic_hotspot_enable.xml
new file mode 100644
index 0000000000000..5043bdf8f2e89
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_hotspot_enable.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_hotspot_enable_animation.xml b/packages/SystemUI/res/drawable/ic_hotspot_enable_animation.xml
new file mode 100644
index 0000000000000..c5187dd9c4649
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_hotspot_enable_animation.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_qs_hotspot_off.xml b/packages/SystemUI/res/drawable/ic_qs_hotspot_off.xml
deleted file mode 100644
index d68ee4c2f65b3..0000000000000
--- a/packages/SystemUI/res/drawable/ic_qs_hotspot_off.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
diff --git a/packages/SystemUI/res/drawable/ic_qs_hotspot_on.xml b/packages/SystemUI/res/drawable/ic_qs_hotspot_on.xml
deleted file mode 100644
index da09f6e39f4e5..0000000000000
--- a/packages/SystemUI/res/drawable/ic_qs_hotspot_on.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_disable_cross_1_pathdata_interpolator.xml b/packages/SystemUI/res/interpolator/ic_hotspot_disable_cross_1_pathdata_interpolator.xml
new file mode 100644
index 0000000000000..bc0442f925c03
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_disable_cross_1_pathdata_interpolator.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_disable_ic_hotspot_alpha_interpolator.xml b/packages/SystemUI/res/interpolator/ic_hotspot_disable_ic_hotspot_alpha_interpolator.xml
new file mode 100644
index 0000000000000..f7072f2d35179
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_disable_ic_hotspot_alpha_interpolator.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_disable_mask_pathdata_interpolator_1.xml b/packages/SystemUI/res/interpolator/ic_hotspot_disable_mask_pathdata_interpolator_1.xml
new file mode 100644
index 0000000000000..0cc9c02e37eab
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_disable_mask_pathdata_interpolator_1.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_disable_mask_pathdata_interpolator_2.xml b/packages/SystemUI/res/interpolator/ic_hotspot_disable_mask_pathdata_interpolator_2.xml
new file mode 100644
index 0000000000000..44c755eab7ae1
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_disable_mask_pathdata_interpolator_2.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_enable_cross_1_pathdata_interpolator.xml b/packages/SystemUI/res/interpolator/ic_hotspot_enable_cross_1_pathdata_interpolator.xml
new file mode 100644
index 0000000000000..bc90d28a1724f
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_enable_cross_1_pathdata_interpolator.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_enable_mask_pathdata_interpolator_1.xml b/packages/SystemUI/res/interpolator/ic_hotspot_enable_mask_pathdata_interpolator_1.xml
new file mode 100644
index 0000000000000..e361d9c8183a7
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_enable_mask_pathdata_interpolator_1.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/res/interpolator/ic_hotspot_enable_mask_pathdata_interpolator_2.xml b/packages/SystemUI/res/interpolator/ic_hotspot_enable_mask_pathdata_interpolator_2.xml
new file mode 100644
index 0000000000000..25ba9706adcf4
--- /dev/null
+++ b/packages/SystemUI/res/interpolator/ic_hotspot_enable_mask_pathdata_interpolator_2.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index 374ceab347901..bccc753927a2c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -27,6 +27,10 @@ import com.android.systemui.statusbar.policy.HotspotController;
/** Quick settings tile: Hotspot **/
public class HotspotTile extends QSTile {
+ private final AnimationIcon mEnable =
+ new AnimationIcon(R.drawable.ic_hotspot_enable_animation);
+ private final AnimationIcon mDisable =
+ new AnimationIcon(R.drawable.ic_hotspot_disable_animation);
private final HotspotController mController;
private final Callback mCallback = new Callback();
private final UsageTracker mUsageTracker;
@@ -62,6 +66,8 @@ public class HotspotTile extends QSTile {
protected void handleClick() {
final boolean isEnabled = (Boolean) mState.value;
mController.setHotspotEnabled(!isEnabled);
+ mEnable.setAllowAnimation(true);
+ mDisable.setAllowAnimation(true);
}
@Override
@@ -84,8 +90,7 @@ public class HotspotTile extends QSTile {
state.label = mContext.getString(R.string.quick_settings_hotspot_label);
state.value = mController.isHotspotEnabled();
- state.icon = ResourceIcon.get(state.visible && state.value ? R.drawable.ic_qs_hotspot_on
- : R.drawable.ic_qs_hotspot_off);
+ state.icon = state.visible && state.value ? mEnable : mDisable;
}
@Override