diff options
author | Jason Monk <jmonk@google.com> | 2015-07-14 17:37:28 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-07-14 17:37:29 +0000 |
commit | b9b20815315d35ed2d10edcbbae4913da36f4107 (patch) | |
tree | 92f3573ed6565b68aba270294d3adf790159513c /src/com/android/packageinstaller | |
parent | a89b4fc76097e2f35e12a469a12c4b5a10348cbb (diff) | |
parent | e132a4b328ea420adf4f717dee7c9103dd8218f9 (diff) | |
download | android_packages_apps_PackageInstaller-b9b20815315d35ed2d10edcbbae4913da36f4107.tar.gz android_packages_apps_PackageInstaller-b9b20815315d35ed2d10edcbbae4913da36f4107.tar.bz2 android_packages_apps_PackageInstaller-b9b20815315d35ed2d10edcbbae4913da36f4107.zip |
Merge "Add animation to checkbox" into mnc-dev
Diffstat (limited to 'src/com/android/packageinstaller')
-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) { |