summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/ApplicationInfoDropTarget.java
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2010-12-16 11:39:26 -0800
committerMichael Jurka <mikejurka@google.com>2010-12-17 19:31:18 -0800
commit800242b5b7a066c3d0ddcc0e0aee32fb4d64d611 (patch)
tree09c16bfb44ddb1ee2fc3858f4fcbfe97230d821c /src/com/android/launcher2/ApplicationInfoDropTarget.java
parent1d9c213a7f9c8066c5f2ef8fd0b93408c4869321 (diff)
downloadandroid_packages_apps_Trebuchet-800242b5b7a066c3d0ddcc0e0aee32fb4d64d611.tar.gz
android_packages_apps_Trebuchet-800242b5b7a066c3d0ddcc0e0aee32fb4d64d611.tar.bz2
android_packages_apps_Trebuchet-800242b5b7a066c3d0ddcc0e0aee32fb4d64d611.zip
updating assets for configure/all apps
- fixed the dead zone between configure/all apps
Diffstat (limited to 'src/com/android/launcher2/ApplicationInfoDropTarget.java')
-rw-r--r--src/com/android/launcher2/ApplicationInfoDropTarget.java39
1 files changed, 30 insertions, 9 deletions
diff --git a/src/com/android/launcher2/ApplicationInfoDropTarget.java b/src/com/android/launcher2/ApplicationInfoDropTarget.java
index fdcbbd478..2ee350195 100644
--- a/src/com/android/launcher2/ApplicationInfoDropTarget.java
+++ b/src/com/android/launcher2/ApplicationInfoDropTarget.java
@@ -16,16 +16,18 @@
package com.android.launcher2;
+import com.android.launcher.R;
+
import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
+import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
+import android.animation.Animator.AnimatorListener;
import android.content.ComponentName;
import android.content.Context;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.util.AttributeSet;
-
-import com.android.launcher.R;
+import android.view.View;
/**
* Implements a DropTarget which allows applications to be dropped on it,
@@ -35,8 +37,9 @@ public class ApplicationInfoDropTarget extends IconDropTarget {
private static final int sFadeInAnimationDuration = 200;
private static final int sFadeOutAnimationDuration = 100;
- private ObjectAnimator mFadeAnimator;
+ private AnimatorSet mFadeAnimator;
private ObjectAnimator mHandleFadeAnimator;
+ private boolean mHandleWasVisibleOnDragStart;
public ApplicationInfoDropTarget(Context context, AttributeSet attrs) {
this(context, attrs, 0);
@@ -87,13 +90,25 @@ public class ApplicationInfoDropTarget extends IconDropTarget {
if (mActive) {
// Fade in this icon
if (mFadeAnimator != null) mFadeAnimator.cancel();
- mFadeAnimator = ObjectAnimator.ofFloat(this, "alpha", 0.0f, 1.0f);
- mFadeAnimator.setDuration(sFadeInAnimationDuration);
+ mFadeAnimator = new AnimatorSet();
+ Animator infoButtonAnimator = ObjectAnimator.ofFloat(this, "alpha", 0.0f, 1.0f);
+ infoButtonAnimator.setDuration(sFadeInAnimationDuration);
+
+ if (mHandle == mLauncher.findViewById(R.id.configure_button)) {
+ final View divider = mLauncher.findViewById(R.id.divider_during_drag);
+ divider.setVisibility(VISIBLE);
+ Animator dividerAnimator = ObjectAnimator.ofFloat(divider, "alpha", 1.0f);
+ dividerAnimator.setDuration(sFadeInAnimationDuration);
+ mFadeAnimator.play(infoButtonAnimator).with(dividerAnimator);
+ } else {
+ mFadeAnimator.play(infoButtonAnimator);
+ }
mFadeAnimator.start();
setVisibility(VISIBLE);
// Fade out the handle
if (mHandle != null) {
+ mHandleWasVisibleOnDragStart = mHandle.getVisibility() == VISIBLE;
if (mHandleFadeAnimator != null) mHandleFadeAnimator.cancel();
mHandleFadeAnimator = ObjectAnimator.ofFloat(mHandle, "alpha", 0.0f);
mHandleFadeAnimator.setDuration(sFadeOutAnimationDuration);
@@ -123,8 +138,12 @@ public class ApplicationInfoDropTarget extends IconDropTarget {
// Fade out this icon
if (mFadeAnimator != null) mFadeAnimator.cancel();
- mFadeAnimator = ObjectAnimator.ofFloat(this, "alpha", 0.0f);
- mFadeAnimator.setDuration(sFadeOutAnimationDuration);
+ mFadeAnimator = new AnimatorSet();
+ Animator infoButtonAnimator = ObjectAnimator.ofFloat(this, "alpha", 0.0f);
+ infoButtonAnimator.setDuration(sFadeOutAnimationDuration);
+ final View divider = mLauncher.findViewById(R.id.divider_during_drag);
+ divider.setVisibility(VISIBLE);
+ Animator dividerAnimator = ObjectAnimator.ofFloat(divider, "alpha", 0.0f);
mFadeAnimator.addListener(new AnimatorListener() {
public void onAnimationStart(Animator animation) {}
public void onAnimationRepeat(Animator animation) {}
@@ -136,13 +155,15 @@ public class ApplicationInfoDropTarget extends IconDropTarget {
}
private void onEndOrCancel() {
setVisibility(GONE);
+ divider.setVisibility(GONE);
mFadeAnimator = null;
}
});
+ mFadeAnimator.play(infoButtonAnimator).with(dividerAnimator);
mFadeAnimator.start();
// Fade in the handle
- if (mHandle != null) {
+ if (mHandle != null && mHandleWasVisibleOnDragStart) {
if (mHandleFadeAnimator != null) mHandleFadeAnimator.cancel();
mHandleFadeAnimator = ObjectAnimator.ofFloat(mHandle, "alpha", 1.0f);
mHandleFadeAnimator.setDuration(sFadeInAnimationDuration);