summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2010-11-12 13:40:58 -0800
committerWinson Chung <winsonc@google.com>2010-11-15 13:44:42 -0800
commite22a8e9d3eafe569fe0f4d284c77af08c6e2fe28 (patch)
tree9193ade5a266e87dcb600739ba3e5b90f12894d8 /src/com
parentcbbaf9862aa160c5e397cb49b554de20981a35fe (diff)
downloadandroid_packages_apps_Trebuchet-e22a8e9d3eafe569fe0f4d284c77af08c6e2fe28.tar.gz
android_packages_apps_Trebuchet-e22a8e9d3eafe569fe0f4d284c77af08c6e2fe28.tar.bz2
android_packages_apps_Trebuchet-e22a8e9d3eafe569fe0f4d284c77af08c6e2fe28.zip
Minor fixes to Launcher
- Adding checks to prevent multiple onSetAlpha's to be called (especially now that we are using display lists) - Removing an old change to keep artificially make the last page wider - Fixing issue where you could click on an item in the paged view while the page it was on is being faded out Change-Id: I9b194565602b5200c0688da2caec9c3c829b3bb0
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher2/BubbleTextView.java9
-rw-r--r--src/com/android/launcher2/CustomizePagedView.java42
-rw-r--r--src/com/android/launcher2/PagedView.java2
-rw-r--r--src/com/android/launcher2/PagedViewIcon.java12
4 files changed, 30 insertions, 35 deletions
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 076f574de..f4a3d4499 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -39,6 +39,7 @@ public class BubbleTextView extends TextView {
private final RectF mRect = new RectF();
private Paint mPaint;
+ private int mPrevAlpha = -1;
private boolean mBackgroundSizeChanged;
private Drawable mBackground;
@@ -147,7 +148,11 @@ public class BubbleTextView extends TextView {
@Override
protected boolean onSetAlpha(int alpha) {
- mPaint.setAlpha(alpha);
- return super.onSetAlpha(alpha);
+ if (mPrevAlpha != alpha) {
+ mPrevAlpha = alpha;
+ mPaint.setAlpha(alpha);
+ super.onSetAlpha(alpha);
+ }
+ return true;
}
}
diff --git a/src/com/android/launcher2/CustomizePagedView.java b/src/com/android/launcher2/CustomizePagedView.java
index 1763a00f6..a0e3528ec 100644
--- a/src/com/android/launcher2/CustomizePagedView.java
+++ b/src/com/android/launcher2/CustomizePagedView.java
@@ -303,9 +303,10 @@ public class CustomizePagedView extends PagedView
@Override
public void onClick(View v) {
- if (!v.isInTouchMode()) {
- return;
- }
+ // Return early if this is not initiated from a touch
+ if (!v.isInTouchMode()) return;
+ // Return early if we are still animating the pages
+ if (mNextPage == INVALID_PAGE) return;
// On certain pages, we allow single tap to mark items as selected so that they can be
// dropped onto the mini workspaces
@@ -368,9 +369,10 @@ public class CustomizePagedView extends PagedView
@Override
public boolean onLongClick(View v) {
- if (!v.isInTouchMode()) {
- return false;
- }
+ // Return early if this is not initiated from a touch
+ if (!v.isInTouchMode()) return false;
+ // Return early if we are still animating the pages
+ if (mNextPage == INVALID_PAGE) return false;
// End the current choice mode before we start dragging anything
if (isChoiceMode(CHOICE_MODE_SINGLE)) {
@@ -604,17 +606,9 @@ public class CustomizePagedView extends PagedView
layout.setPadding(mPageLayoutPaddingLeft, mPageLayoutPaddingTop,
mPageLayoutPaddingRight, mPageLayoutPaddingBottom);
- // Temporary change to prevent the last page from being too small (and items bleeding
- // onto it). We can remove this once we properly fix the fading algorithm
- if (i < numPages - 1) {
- addView(layout, new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.MATCH_PARENT));
- } else {
- addView(layout, new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.MATCH_PARENT));
- }
+ addView(layout, new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.WRAP_CONTENT,
+ LinearLayout.LayoutParams.MATCH_PARENT));
}
}
@@ -665,17 +659,9 @@ public class CustomizePagedView extends PagedView
layout.setPadding(mPageLayoutPaddingLeft, mPageLayoutPaddingTop,
mPageLayoutPaddingRight, mPageLayoutPaddingBottom);
- // Temporary change to prevent the last page from being too small (and items bleeding
- // onto it). We can remove this once we properly fix the fading algorithm
- if (i < numPages - 1) {
- addView(layout, new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.MATCH_PARENT));
- } else {
- addView(layout, new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.MATCH_PARENT));
- }
+ addView(layout, new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.WRAP_CONTENT,
+ LinearLayout.LayoutParams.MATCH_PARENT));
}
}
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 109696c0a..caa1e1298 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -57,7 +57,7 @@ public abstract class PagedView extends ViewGroup {
// The min drag distance to trigger a page shift (regardless of velocity)
private static final int MIN_LENGTH_FOR_MOVE = 200;
- private static final int PAGE_SNAP_ANIMATION_DURATION = 1000;
+ private static final int PAGE_SNAP_ANIMATION_DURATION = 750;
protected static final float NANOTIME_DIV = 1000000000.0f;
// the velocity at which a fling gesture will cause us to snap to the next page
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index 50ba8d459..b9b9b377e 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -52,7 +52,7 @@ public class PagedViewIcon extends TextView implements Checkable {
private Object mIconCacheKey;
private PagedViewIconCache mIconCache;
- private int mAlpha;
+ private int mAlpha = -1;
private int mHolographicAlpha;
private boolean mIsChecked;
@@ -162,9 +162,13 @@ public class PagedViewIcon extends TextView implements Checkable {
public void setAlpha(float alpha) {
final float viewAlpha = sHolographicOutlineHelper.viewAlphaInterpolator(alpha);
final float holographicAlpha = sHolographicOutlineHelper.highlightAlphaInterpolator(alpha);
- mAlpha = (int) (viewAlpha * 255);
- mHolographicAlpha = (int) (holographicAlpha * 255);
- super.setAlpha(viewAlpha);
+ int newViewAlpha = (int) (viewAlpha * 255);
+ int newHolographicAlpha = (int) (holographicAlpha * 255);
+ if ((mAlpha != newViewAlpha) || (mHolographicAlpha != newHolographicAlpha)) {
+ mAlpha = newViewAlpha;
+ mHolographicAlpha = newHolographicAlpha;
+ super.setAlpha(viewAlpha);
+ }
}
public void invalidateCheckedImage() {