From e53711736e4da5ae7f722e54182f1cb51082d45c Mon Sep 17 00:00:00 2001 From: twyen Date: Thu, 16 Nov 2017 17:25:08 -0800 Subject: Implement change SIM animation CheckableLabledButton will no longer set icon if the icon has not changed, so the animation will not be interrupted. Bug: 64215256 Test: N/A PiperOrigin-RevId: 176047325 Change-Id: I8cb0c6e706b931406e78c91821f75e266e453ceb --- .../incallui/incall/impl/ButtonController.java | 6 +- .../incall/impl/CheckableLabeledButton.java | 10 ++- .../drawable-xxxhdpi/ic_sim_change_white_00.png | Bin 0 -> 860 bytes .../drawable-xxxhdpi/ic_sim_change_white_01.png | Bin 0 -> 942 bytes .../drawable-xxxhdpi/ic_sim_change_white_02.png | Bin 0 -> 886 bytes .../drawable-xxxhdpi/ic_sim_change_white_03.png | Bin 0 -> 822 bytes .../drawable-xxxhdpi/ic_sim_change_white_04.png | Bin 0 -> 885 bytes .../drawable-xxxhdpi/ic_sim_change_white_05.png | Bin 0 -> 915 bytes .../drawable-xxxhdpi/ic_sim_change_white_06.png | Bin 0 -> 911 bytes .../drawable-xxxhdpi/ic_sim_change_white_07.png | Bin 0 -> 907 bytes .../drawable-xxxhdpi/ic_sim_change_white_08.png | Bin 0 -> 945 bytes .../drawable-xxxhdpi/ic_sim_change_white_09.png | Bin 0 -> 917 bytes .../drawable-xxxhdpi/ic_sim_change_white_10.png | Bin 0 -> 973 bytes .../drawable-xxxhdpi/ic_sim_change_white_11.png | Bin 0 -> 950 bytes .../drawable-xxxhdpi/ic_sim_change_white_12.png | Bin 0 -> 972 bytes .../drawable-xxxhdpi/ic_sim_change_white_13.png | Bin 0 -> 940 bytes .../drawable-xxxhdpi/ic_sim_change_white_14.png | Bin 0 -> 872 bytes .../impl/res/drawable/ic_sim_change_white.xml | 68 +++++++++++++++++++++ 18 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_00.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_01.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_02.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_03.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_04.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_05.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_06.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_07.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_08.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_09.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_10.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_11.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_12.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_13.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_14.png create mode 100644 java/com/android/incallui/incall/impl/res/drawable/ic_sim_change_white.xml (limited to 'java') diff --git a/java/com/android/incallui/incall/impl/ButtonController.java b/java/com/android/incallui/incall/impl/ButtonController.java index cefbd723b..5e37a492b 100644 --- a/java/com/android/incallui/incall/impl/ButtonController.java +++ b/java/com/android/incallui/incall/impl/ButtonController.java @@ -16,6 +16,7 @@ package com.android.incallui.incall.impl; +import android.graphics.drawable.AnimationDrawable; import android.support.annotation.CallSuper; import android.support.annotation.DrawableRes; import android.support.annotation.NonNull; @@ -569,11 +570,14 @@ interface ButtonController { InCallButtonIds.BUTTON_SWAP_SIM, R.string.incall_content_description_swap_sim, R.string.incall_label_swap_sim, - R.drawable.quantum_ic_swap_calls_white_36); + R.drawable.ic_sim_change_white); } @Override public void onClick(View view) { + AnimationDrawable drawable = (AnimationDrawable) button.getIconDrawable(); + drawable.stop(); // animation is one shot, stop it so it can be started again. + drawable.start(); delegate.swapSimClicked(); } } diff --git a/java/com/android/incallui/incall/impl/CheckableLabeledButton.java b/java/com/android/incallui/incall/impl/CheckableLabeledButton.java index 325c3a92a..ca018acc2 100644 --- a/java/com/android/incallui/incall/impl/CheckableLabeledButton.java +++ b/java/com/android/incallui/incall/impl/CheckableLabeledButton.java @@ -47,6 +47,7 @@ public class CheckableLabeledButton extends LinearLayout implements Checkable { private boolean isChecked; private OnCheckedChangeListener onCheckedChangeListener; private ImageView iconView; + @DrawableRes private int iconResource = 0; private TextView labelView; private Drawable background; private Drawable backgroundMore; @@ -135,8 +136,15 @@ public class CheckableLabeledButton extends LinearLayout implements Checkable { new int[] {color, Color.WHITE})); } + public Drawable getIconDrawable() { + return iconView.getDrawable(); + } + public void setIconDrawable(@DrawableRes int drawableRes) { - iconView.setImageResource(drawableRes); + if (iconResource != drawableRes) { + iconView.setImageResource(drawableRes); + iconResource = drawableRes; + } } public void setLabelText(@StringRes int stringRes) { diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_00.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_00.png new file mode 100644 index 000000000..4c8b33f95 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_00.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_01.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_01.png new file mode 100644 index 000000000..910177920 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_01.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_02.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_02.png new file mode 100644 index 000000000..92a27eed2 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_02.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_03.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_03.png new file mode 100644 index 000000000..484058f22 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_03.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_04.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_04.png new file mode 100644 index 000000000..348ae927a Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_04.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_05.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_05.png new file mode 100644 index 000000000..011915a93 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_05.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_06.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_06.png new file mode 100644 index 000000000..c1cc0d6d7 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_06.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_07.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_07.png new file mode 100644 index 000000000..75233db73 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_07.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_08.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_08.png new file mode 100644 index 000000000..2918e1a4b Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_08.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_09.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_09.png new file mode 100644 index 000000000..7e927674c Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_09.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_10.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_10.png new file mode 100644 index 000000000..008931431 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_10.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_11.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_11.png new file mode 100644 index 000000000..f66a6b669 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_11.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_12.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_12.png new file mode 100644 index 000000000..9303d9596 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_12.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_13.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_13.png new file mode 100644 index 000000000..d2bef6e77 Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_13.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_14.png b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_14.png new file mode 100644 index 000000000..a5434ecdc Binary files /dev/null and b/java/com/android/incallui/incall/impl/res/drawable-xxxhdpi/ic_sim_change_white_14.png differ diff --git a/java/com/android/incallui/incall/impl/res/drawable/ic_sim_change_white.xml b/java/com/android/incallui/incall/impl/res/drawable/ic_sim_change_white.xml new file mode 100644 index 000000000..00b1b7ace --- /dev/null +++ b/java/com/android/incallui/incall/impl/res/drawable/ic_sim_change_white.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3