mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 15:26:58 +00:00
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
This commit is contained in:
@@ -79,9 +79,13 @@
|
||||
|
||||
<!-- External-drop widget pick label format string [CHAR_LIMIT=25] -->
|
||||
<string name="external_drop_widget_pick_format" translatable="false">%1$s (%2$d x %3$d)</string>
|
||||
<!-- External-drop widget error string -->
|
||||
<string name="external_drop_widget_error">Could not install clipboard item</string>
|
||||
<!-- External-drop widget pick title -->
|
||||
<!-- External-drop widget error string. This is the error that is shown
|
||||
when you drag and item into the homescreen and it is unable to fit,
|
||||
or an error is encountered. [CHAR_LIMIT=50] -->
|
||||
<string name="external_drop_widget_error">Could not drop item onto this homescreen</string>
|
||||
<!-- External-drop widget pick title. This is shown as the title of the
|
||||
dialog which allows you to pick which widgets to handle a particular
|
||||
drop if there are multiple choices. [CHAR_LIMIT=35] -->
|
||||
<string name="external_drop_widget_pick_title">Select widget to create</string>
|
||||
|
||||
<!-- Folders -->
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user