diff options
author | Jason Monk <jmonk@google.com> | 2015-07-14 18:56:27 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-14 18:56:27 +0000 |
commit | 55a7f3f838ac2452e38cb4bbccac78ad34c90a54 (patch) | |
tree | 6bace774196f799df8e3e9fbbb3debd8559bbeb0 | |
parent | f6b167ba2d2fe27e61b55e37ad4727c46114e642 (diff) | |
parent | 3202d3d969a662b0929f6ff1500f1754ffb98075 (diff) | |
download | android_packages_apps_PackageInstaller-55a7f3f838ac2452e38cb4bbccac78ad34c90a54.tar.gz android_packages_apps_PackageInstaller-55a7f3f838ac2452e38cb4bbccac78ad34c90a54.tar.bz2 android_packages_apps_PackageInstaller-55a7f3f838ac2452e38cb4bbccac78ad34c90a54.zip |
am 3202d3d9: am 93174326: am abb6aacc: am b52d2b47: am b9b20815: Merge "Add animation to checkbox" into mnc-dev
* commit '3202d3d969a662b0929f6ff1500f1754ffb98075':
Add animation to checkbox
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java index 4e53097e..c5d78784 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java @@ -32,6 +32,7 @@ import android.view.ViewGroup; import android.view.ViewParent; import android.view.ViewRootImpl; import android.view.WindowManager.LayoutParams; +import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; import android.widget.Button; @@ -63,6 +64,7 @@ final class GrantPermissionsDefaultViewHandler private static final long TRANSLATE_START_DELAY = 367; private static final long TRANSLATE_LENGTH = 317; private static final long GROUP_UPDATE_DELAY = 400; + private static final long DO_NOT_ASK_CHECK_DELAY = 450; private final Context mContext; @@ -151,10 +153,9 @@ final class GrantPermissionsDefaultViewHandler } else { updateDescription(); updateGroup(); + updateDoNotAskCheckBox(); } } - updateDoNotAskCheckBox(); - } private void animateToPermission() { @@ -189,6 +190,13 @@ final class GrantPermissionsDefaultViewHandler mRootView.removeOnLayoutChangeListener(this); SparseArray<Float> endPositions = getViewPositions(); int endHeight = mRootView.getLayoutHeight(); + if (startPositions.get(R.id.do_not_ask_checkbox) == 0 + && endPositions.get(R.id.do_not_ask_checkbox) != 0) { + // If the checkbox didn't have a position before but has one now then set + // the start position to the end position because it just became visible. + startPositions.put(R.id.do_not_ask_checkbox, + endPositions.get(R.id.do_not_ask_checkbox)); + } animateYPos(startPositions, endPositions, endHeight - startHeight); } }); @@ -248,6 +256,16 @@ final class GrantPermissionsDefaultViewHandler } }) .start(); + + boolean visibleBefore = mDoNotAskCheckbox.getVisibility() == View.VISIBLE; + updateDoNotAskCheckBox(); + boolean visibleAfter = mDoNotAskCheckbox.getVisibility() == View.VISIBLE; + if (visibleBefore != visibleAfter) { + Animation anim = AnimationUtils.loadAnimation(mContext, + visibleAfter ? android.R.anim.fade_in : android.R.anim.fade_out); + anim.setStartOffset(visibleAfter ? DO_NOT_ASK_CHECK_DELAY : 0); + mDoNotAskCheckbox.startAnimation(anim); + } } private void addHeightController(View v) { |