diff options
author | Adam Cohen <adamcohen@google.com> | 2014-10-16 09:49:24 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2014-10-22 17:40:39 -0700 |
commit | c2d6e897dbcb96b7b629e42002966368fbda2f95 (patch) | |
tree | 1a9d6e72ac5160709e64e45ffd6de094084f1bec /src/com/android/launcher3/SearchDropTargetBar.java | |
parent | 1aa3abea279d8b3ead93d704d424757bfe65c2bd (diff) | |
download | android_packages_apps_Trebuchet-c2d6e897dbcb96b7b629e42002966368fbda2f95.tar.gz android_packages_apps_Trebuchet-c2d6e897dbcb96b7b629e42002966368fbda2f95.tar.bz2 android_packages_apps_Trebuchet-c2d6e897dbcb96b7b629e42002966368fbda2f95.zip |
First pass of the Launcher Overlay interface / impl
-> Added simple reference launcher extension
-> Make launcher able to handle a null qsb
Change-Id: Ib1575243cac800a335e95bbf00cdc394bb4741c3
Diffstat (limited to 'src/com/android/launcher3/SearchDropTargetBar.java')
-rw-r--r-- | src/com/android/launcher3/SearchDropTargetBar.java | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/src/com/android/launcher3/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java index 435dbda1d..6205088c5 100644 --- a/src/com/android/launcher3/SearchDropTargetBar.java +++ b/src/com/android/launcher3/SearchDropTargetBar.java @@ -19,6 +19,7 @@ package com.android.launcher3; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; @@ -37,7 +38,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D private static final int sTransitionOutDuration = 175; private ObjectAnimator mDropTargetBarAnim; - private ObjectAnimator mQSBSearchBarAnim; + private ValueAnimator mQSBSearchBarAnim; private static final AccelerateInterpolator sAccelerateInterpolator = new AccelerateInterpolator(); @@ -70,28 +71,38 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mInfoDropTarget.setLauncher(launcher); mDeleteDropTarget.setLauncher(launcher); mQSBSearchBar = launcher.getQsbBar(); - if (mEnableDropDownDropTargets) { - mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "translationY", 0, - -mBarHeight); + if (mQSBSearchBar != null) { + if (mEnableDropDownDropTargets) { + mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "translationY", 0, + -mBarHeight); + } else { + mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "alpha", 1f, 0f); + } + setupAnimation(mQSBSearchBarAnim, mQSBSearchBar); } else { - mQSBSearchBarAnim = LauncherAnimUtils.ofFloat(mQSBSearchBar, "alpha", 1f, 0f); + // Create a no-op animation of the search bar is null + mQSBSearchBarAnim = ValueAnimator.ofFloat(0, 0); + mQSBSearchBarAnim.setDuration(sTransitionInDuration); } - setupAnimation(mQSBSearchBarAnim, mQSBSearchBar); } private void prepareStartAnimation(View v) { // Enable the hw layers before the animation starts (will be disabled in the onAnimationEnd // callback below) - v.setLayerType(View.LAYER_TYPE_HARDWARE, null); + if (v != null) { + v.setLayerType(View.LAYER_TYPE_HARDWARE, null); + } } - private void setupAnimation(ObjectAnimator anim, final View v) { + private void setupAnimation(ValueAnimator anim, final View v) { anim.setInterpolator(sAccelerateInterpolator); anim.setDuration(sTransitionInDuration); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - v.setLayerType(View.LAYER_TYPE_NONE, null); + if (v != null) { + v.setLayerType(View.LAYER_TYPE_NONE, null); + } } }); } @@ -145,9 +156,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mQSBSearchBarAnim.reverse(); } else { mQSBSearchBarAnim.cancel(); - if (mEnableDropDownDropTargets) { + if (mQSBSearchBar != null && mEnableDropDownDropTargets) { mQSBSearchBar.setTranslationY(0); - } else { + } else if (mQSBSearchBar != null) { mQSBSearchBar.setAlpha(1f); } } @@ -161,9 +172,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mQSBSearchBarAnim.start(); } else { mQSBSearchBarAnim.cancel(); - if (mEnableDropDownDropTargets) { + if (mQSBSearchBar != null && mEnableDropDownDropTargets) { mQSBSearchBar.setTranslationY(-mBarHeight); - } else { + } else if (mQSBSearchBar != null) { mQSBSearchBar.setAlpha(0f); } } |