From cd4bc491c40c8a01a62d6846577da124e5e00718 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 9 Dec 2010 18:52:32 -0800 Subject: [PATCH] Changing AllApps checked visualization, fixing drag offset issue in AllApps/Customize. - fixing previous change which clobbered pressed/focused state padding Change-Id: I229d803322554e51bc9c1f15d3687b01b0f6679f --- .../focused_application_background.9.png | Bin 1454 -> 4127 bytes .../pressed_application_background.9.png | Bin 1572 -> 4075 bytes .../focused_application_background.9.png | Bin 1050 -> 3614 bytes .../pressed_application_background.9.png | Bin 1091 -> 3778 bytes .../android/launcher2/AllAppsPagedView.java | 32 ++++++++------ .../android/launcher2/CustomizePagedView.java | 40 ++++++++++-------- src/com/android/launcher2/PagedViewIcon.java | 29 ++++++++----- src/com/android/launcher2/Workspace.java | 3 +- 8 files changed, 64 insertions(+), 40 deletions(-) diff --git a/res/drawable-hdpi/focused_application_background.9.png b/res/drawable-hdpi/focused_application_background.9.png index 7bf37efed57ac70347bb9544d85b488ea6a9c27b..ac67b06e7706bd3c4a7b26c2bd15579b83ebe5ed 100644 GIT binary patch literal 4127 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 SG_n8y002ovPDHLk0$_q%OU~y2 delta 1009 zcmV}LP=Bz2nYy#2xN$nAs2rGyh%hsRCt{2oIk52H59;q$;`W} zHi8HiZn2gMegIp)!WN<+SXu0s5Vp5-yRDQh{UBP}2-Y^jVkHX8o5W(0y=TsxnKx@d zoOpf^GIx@jd-HoInLqDl0{=boPFeWZzQq9oz%QS0FT$rG@Z}KsUOo+QvMBPz+_!%sG?zRum&b{Zp~$;L-na}f28dFclvf4z zDo>_Kix6iY@BL@mgB%E8IJ~`HcbX3+H)u zq@caLnwRH$XGGtAkn^4NQ4bWl969Gzj@$s~VaQtF-HN!adRW8OYUD^r_kh(`xvlyv zra$&&^m33mf;Gwv;&#!o2L5+!MxK9B!P(|mIndva)e&{pp$6l2^qY8nzX=wtnjajx20D3w!dk zz`89MVSai~2oR)o`2m^b@=53;^1zyr%)aUNu=-!?o9^`Bb*9 zEY#Ig%J3rbJSD!M%6pM`G6sGRfky#81YTP-Yz@^OhVIUFtFAU>p5G>ZyiGiQ`&<5i f<;jTiYJ|T5-s+4t2@E%B00000NkvXXu0mjfgeCd< diff --git a/res/drawable-mdpi/pressed_application_background.9.png b/res/drawable-mdpi/pressed_application_background.9.png index b09f595b78008feade0971cec1ceb32987dc3bc8..754af482245d37114dc5e194365912218666ec90 100644 GIT binary patch literal 3778 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 delta 1070 zcmV+}1kwA#9m5EaB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000B! zNkl5QP^I>}1k}E=dJ$z&F*POIq+HW#r-(a#0OBB@MWOvsBKh&XT>v8Kz+OYA6K&Laty9l zni^UOqGiRo0yvamcT74qVV}wl;D%yALh}{SoN=oT0LQ;e5s%@G8HL<&A~Y}LJd0J; zF*Y6cHD>F10^aDO0$VvXs^f~pYXZb<`(u>>p*T;d&3~14HsyHB^0in7$1)K!R&!|8!HX~Ix&S}Fkm5S8hpu(mWt7=JY5^PrkZc473 zLnjynfC`HqgL9S2nkzU>x5Wt#6v4p>cAYCYSE#@uIIUfQsixLDz@@({Z7LTBU{uFV zHO*zb%769uI3A+`6n&uFaB41At;kzk70r(;s5-6E2U;HJqoPYv8kR9EJgYEnT3k9~ zRu!k&e~HCWRh7nkr&!v;bdqCo956#MhJ}BTLAHf~{u4KUvfR(DRUV^<)}B#utu=5B zTmv^>aM&<3#WipZTm#oy4$d_UO>qre1J}T{)_=gg7`XiU*>h}_$LODZM=Zd2h8Dz) zNZ*8y*Ok5$v7jbY07m&l_@fs}8$sfIrT3t53rhPhu{bCWl`6}xvw*^T+zjAxf>Ef^ zv+_jc8N(SV4wa4(EFDNtNaQN+(tte2S*(^NAXp&~D1p-`u5`tZ=9_Sfssn`*#i~jv zE`L|s9Q$$_yJDTKd2l!bD?VkOLq&*Itx5U_wrBNf?if_sHHe9_#->Pgf-R~|Ygct~ zpjM8fPD{+X%=!HQrO||i;TAH-I2k(n(~-Xk!J0ufIES5jLkG?M_< zRX3?SQZo@q-C<|BlRV)m5FEJs6ic=v{GUE|glIi0zh7^QnvKUZ50nvftPb;Wh_Fd< zhp0Sz)JAuO<<}0)ekqQ7|BR)M(dJ;P?rB~>zqsqm0PBUH_%tu;Pr5l}RfPLpgeUF8 oBW&J%96iko+Etm=^7tdb03sxjnDw@Mv;Y7A07*qoM6N<$f*CUETL1t6 diff --git a/src/com/android/launcher2/AllAppsPagedView.java b/src/com/android/launcher2/AllAppsPagedView.java index 2fd0b65691..1ad7e078a6 100644 --- a/src/com/android/launcher2/AllAppsPagedView.java +++ b/src/com/android/launcher2/AllAppsPagedView.java @@ -23,6 +23,7 @@ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; @@ -246,16 +247,6 @@ public class AllAppsPagedView extends PagedView return false; } - if (v instanceof Checkable) { - // In preparation for drag, we always reset the checked grand children regardless of - // what choice mode we are in - resetCheckedGrandchildren(); - - // Toggle the selection on the dragged app - Checkable c = (Checkable) v; - c.toggle(); - } - // Start drag mode after the item is selected setupDragMode(); @@ -263,13 +254,30 @@ public class AllAppsPagedView extends PagedView app = new ApplicationInfo(app); // get icon (top compound drawable, index is 1) - final Drawable icon = ((TextView) v).getCompoundDrawables()[1]; - Bitmap b = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(), + final TextView tv = (TextView) v; + final Drawable icon = tv.getCompoundDrawables()[1]; + Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); + c.translate((v.getWidth() - icon.getIntrinsicWidth()) / 2, v.getPaddingTop()); icon.draw(c); + + // We toggle the checked state _after_ we create the view for the drag in case toggling the + // checked state changes the view's look + if (v instanceof Checkable) { + // In preparation for drag, we always reset the checked grand children regardless of + // what choice mode we are in + resetCheckedGrandchildren(); + + // Toggle the selection on the dragged app + Checkable checkable = (Checkable) v; + checkable.toggle(); + } + + // Start the drag mLauncher.getWorkspace().onDragStartedWithItemSpans(1, 1, b); mDragController.startDrag(v, b, this, app, DragController.DRAG_ACTION_COPY, null); + b.recycle(); return true; } diff --git a/src/com/android/launcher2/CustomizePagedView.java b/src/com/android/launcher2/CustomizePagedView.java index 799e017933..694d4d0151 100644 --- a/src/com/android/launcher2/CustomizePagedView.java +++ b/src/com/android/launcher2/CustomizePagedView.java @@ -24,10 +24,10 @@ import java.util.List; import org.xmlpull.v1.XmlPullParser; import android.animation.Animator; +import android.animation.Animator.AnimatorListener; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.animation.TimeInterpolator; -import android.animation.Animator.AnimatorListener; import android.app.WallpaperManager; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProviderInfo; @@ -41,8 +41,9 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.graphics.Bitmap; -import android.graphics.Canvas; import android.graphics.Bitmap.Config; +import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; @@ -571,10 +572,10 @@ public class CustomizePagedView extends PagedView return super.onTouchEvent(ev); } - Bitmap drawableToBitmap(Drawable d) { - Bitmap b = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(), - Bitmap.Config.ARGB_8888); + Bitmap drawableToBitmap(Drawable d, View v) { + Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); + c.translate((v.getWidth() - d.getIntrinsicWidth()) / 2, v.getPaddingTop()); d.draw(c); return b; } @@ -595,10 +596,10 @@ public class CustomizePagedView extends PagedView case WidgetCustomization: { // Get the widget preview as the drag representation final LinearLayout l = (LinearLayout) v; - final Drawable icon = ((ImageView) l.findViewById(R.id.widget_preview)).getDrawable(); - Bitmap b = drawableToBitmap(icon); + final ImageView i = (ImageView) l.findViewById(R.id.widget_preview); + final Drawable icon = i.getDrawable(); + Bitmap b = drawableToBitmap(icon, i); PendingAddWidgetInfo createWidgetInfo = (PendingAddWidgetInfo) v.getTag(); - final View dragView = v.findViewById(R.id.widget_preview); int[] spanXY = CellLayout.rectToCell( getResources(), createWidgetInfo.minWidth, createWidgetInfo.minHeight, null); @@ -606,30 +607,35 @@ public class CustomizePagedView extends PagedView createWidgetInfo.spanY = spanXY[1]; mLauncher.getWorkspace().onDragStartedWithItemSpans(spanXY[0], spanXY[1], b); mDragController.startDrag( - v, b, this, createWidgetInfo, DragController.DRAG_ACTION_COPY, null); - + i, b, this, createWidgetInfo, DragController.DRAG_ACTION_COPY, null); + b.recycle(); return true; } case ShortcutCustomization: { // get icon (top compound drawable, index is 1) - final Drawable icon = ((TextView) v).getCompoundDrawables()[1]; - Bitmap b = drawableToBitmap(icon); + final TextView tv = (TextView) v; + final Drawable icon = tv.getCompoundDrawables()[1]; + Bitmap b = drawableToBitmap(icon, tv); PendingAddItemInfo createItemInfo = (PendingAddItemInfo) v.getTag(); - mDragController.startDrag( - v, b, this, createItemInfo, DragController.DRAG_ACTION_COPY, null); + mLauncher.getWorkspace().onDragStartedWithItemSpans(1, 1, b); + mDragController.startDrag(v, b, this, createItemInfo, DragController.DRAG_ACTION_COPY, + null); + b.recycle(); return true; } case ApplicationCustomization: { // Pick up the application for dropping // get icon (top compound drawable, index is 1) - final Drawable icon = ((TextView) v).getCompoundDrawables()[1]; - Bitmap b = drawableToBitmap(icon); + final TextView tv = (TextView) v; + final Drawable icon = tv.getCompoundDrawables()[1]; + Bitmap b = drawableToBitmap(icon, tv); ApplicationInfo app = (ApplicationInfo) v.getTag(); app = new ApplicationInfo(app); - mDragController.startDrag(v, b, this, app, DragController.DRAG_ACTION_COPY, null); mLauncher.getWorkspace().onDragStartedWithItemSpans(1, 1, b); + mDragController.startDrag(v, b, this, app, DragController.DRAG_ACTION_COPY, null); + b.recycle(); return true; } } diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java index fbc67d8a08..884884e312 100644 --- a/src/com/android/launcher2/PagedViewIcon.java +++ b/src/com/android/launcher2/PagedViewIcon.java @@ -16,6 +16,7 @@ package com.android.launcher2; +import android.animation.ObjectAnimator; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; @@ -28,7 +29,6 @@ import android.os.HandlerThread; import android.os.Message; import android.util.AttributeSet; import android.widget.Checkable; -import android.widget.TextView; import com.android.launcher.R; import com.android.launcher2.PagedView.PagedViewIconCache; @@ -56,6 +56,10 @@ public class PagedViewIcon extends CacheableTextView implements Checkable { private int mHolographicAlpha; private boolean mIsChecked; + private ObjectAnimator mCheckedAlphaAnimator; + private final static float sCheckedAlpha = 0.4f; + private final static int sCheckedFadeInDuration = 150; + private final static int sCheckedFadeOutDuration = 200; // Highlight colors private int mHoloBlurColor; @@ -230,19 +234,24 @@ public class PagedViewIcon extends CacheableTextView implements Checkable { if (mIsChecked != checked) { mIsChecked = checked; + float alpha; + int duration; if (mIsChecked) { - mCheckedOutline = Bitmap.createBitmap(mIcon.getWidth(), mIcon.getHeight(), - Bitmap.Config.ARGB_8888); - Canvas checkedOutlineCanvas = new Canvas(mCheckedOutline); - mPaint.setAlpha(255); - checkedOutlineCanvas.drawBitmap(mIcon, 0, 0, mPaint); - - sHolographicOutlineHelper.applyThickExpensiveOutlineWithBlur(mCheckedOutline, - checkedOutlineCanvas, mCheckedBlurColor, mCheckedOutlineColor); + alpha = sCheckedAlpha; + duration = sCheckedFadeInDuration; } else { - invalidateCheckedImage(); + alpha = 1.0f; + duration = sCheckedFadeOutDuration; } + // Initialize the animator + if (mCheckedAlphaAnimator != null) { + mCheckedAlphaAnimator.cancel(); + } + mCheckedAlphaAnimator = ObjectAnimator.ofFloat(this, "alpha", alpha); + mCheckedAlphaAnimator.setDuration(duration); + mCheckedAlphaAnimator.start(); + invalidate(); } } diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 969fbd7cc8..705453d3a1 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -21,12 +21,12 @@ import java.util.HashSet; import java.util.List; import android.animation.Animator; +import android.animation.Animator.AnimatorListener; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.animation.TimeInterpolator; import android.animation.ValueAnimator; -import android.animation.Animator.AnimatorListener; import android.animation.ValueAnimator.AnimatorUpdateListener; import android.app.AlertDialog; import android.app.WallpaperManager; @@ -44,6 +44,7 @@ import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Camera; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Rect;