From 22ca09595d4b6f4301414f26d6d502eb0e989a88 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 20 Oct 2011 19:44:32 -0700 Subject: [PATCH] Last update for screenshot animations for MR0. (Bug: 5333706) - Also adding proper border asset Change-Id: I423389d1a68498b2e470e6d483f5b7542a814c31 --- .../global_screenshot_background.9.png | Bin 358 -> 0 bytes .../res/drawable-hdpi/screenshot_panel.9.png | Bin 0 -> 595 bytes .../global_screenshot_background.9.png | Bin 358 -> 0 bytes .../res/drawable-mdpi/screenshot_panel.9.png | Bin 0 -> 404 bytes .../global_screenshot_background.9.png | Bin 671 -> 0 bytes .../res/drawable-xhdpi/screenshot_panel.9.png | Bin 0 -> 797 bytes .../SystemUI/res/layout/global_screenshot.xml | 7 +- packages/SystemUI/res/values/dimens.xml | 5 +- .../systemui/screenshot/GlobalScreenshot.java | 153 +++++++++++------- 9 files changed, 99 insertions(+), 66 deletions(-) delete mode 100644 packages/SystemUI/res/drawable-hdpi/global_screenshot_background.9.png create mode 100644 packages/SystemUI/res/drawable-hdpi/screenshot_panel.9.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/global_screenshot_background.9.png create mode 100644 packages/SystemUI/res/drawable-mdpi/screenshot_panel.9.png delete mode 100644 packages/SystemUI/res/drawable-xhdpi/global_screenshot_background.9.png create mode 100644 packages/SystemUI/res/drawable-xhdpi/screenshot_panel.9.png diff --git a/packages/SystemUI/res/drawable-hdpi/global_screenshot_background.9.png b/packages/SystemUI/res/drawable-hdpi/global_screenshot_background.9.png deleted file mode 100644 index e14111dae1689a5742a0425ae7b41b23e869e790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmV-s0h#`ZP)L`;^5>z z@z?uLoE)T6Q7E?YMP4L@Y#uSgJ$PKXA^p-^A$Q`v-)Klgu#}gd7t#XKQrK45-RBv0 za071{9rKzBUtob}_{F#|zXA#XExdy}#+G?a1%L^D!Xx9v{0gWgNDm(wJLWYt5oCaG zj3e_apgnwmPsm-0)QiX&;R@g3$A&c$)$o}5f;HUpo!_!Zfn0KIr4&oT<$xq9>{5z9 zjpTr;kO3Kx0U6NWfx=C%A|CHluAPb(0IMMbG9Ux03CJf+Tq(r{(dU4cq=_q~*dQ)B zpqXv$P!MR~JLlZ6p}JPOx?w{VO63%vyx01l0AE}g9;;s5{u07*qoM6N<$ Ef?(>CDF6Tf diff --git a/packages/SystemUI/res/drawable-hdpi/screenshot_panel.9.png b/packages/SystemUI/res/drawable-hdpi/screenshot_panel.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9447e01d8af5fe70608637102c86133ee9a1c468 GIT binary patch literal 595 zcmV-Z0<8UsP)NG+hdu+V1wN#jA=@=<;oJx8pyM3VK|<0p^DJ&eqaV-vK#F^`lD z;;y@QiMyZ*iDweel|X5&-3$PGQ^uGzP)md60$T7! z-g^QTgV5dA3fN10^gr<7)hZNZZE4)tr$}dR^ zeu?AK%>!t|tLNu3AO$UPJSD-lT?8FX3*!dHUe9&;&o0Cit;5!H=cv;dA{NZnIzcY&BFyAcjo#E1#_<_^~v> zkEIEIEcL;s_I;<5r|9XRx$zXFxp~zk4p&~GHL00`Y8s}iI}m2YG=+Qw_Qseu;1zfQ z*0}6(%uHGh?0^mM0ledK^GA=Z6JBdSwREn4Z(Pb7;DAedw$g47lHTqe$1&4@Cpp(nz`ul}qOnge{Mj3L`;^5>z z@z?uLoE)T6Q7E?YMP4L@Y#uSgJ$PKXA^p-^A$Q`v-)Klgu#}gd7t#XKQrK45-RBv0 za071{9rKzBUtob}_{F#|zXA#XExdy}#+G?a1%L^D!Xx9v{0gWgNDm(wJLWYt5oCaG zj3e_apgnwmPsm-0)QiX&;R@g3$A&c$)$o}5f;HUpo!_!Zfn0KIr4&oT<$xq9>{5z9 zjpTr;kO3Kx0U6NWfx=C%A|CHluAPb(0IMMbG9Ux03CJf+Tq(r{(dU4cq=_q~*dQ)B zpqXv$P!MR~JLlZ6p}JPOx?w{VO63%vyx01l0AE}g9;;s5{u07*qoM6N<$ Ef?(>CDF6Tf diff --git a/packages/SystemUI/res/drawable-mdpi/screenshot_panel.9.png b/packages/SystemUI/res/drawable-mdpi/screenshot_panel.9.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1aea1da7f3172f20cbfa367127cccade6302c4 GIT binary patch literal 404 zcmV;F0c-w=P)TSX0C&B`UgO-%jx!B^lymL@sDMww44%*fIj~D%F74#u<#_^tuH;)_ zpAcX#k1R}#0j^bn2|(C_jR;d|E042V5XPH?0Kt4<80319N)wN91+K0YUN8p~gw)_Kl z1r9*jgP64C4PDDz056&==z6#qfC@M&XQ6Qu7K{N(;7#LqzI(VBfLeJAkL!$@#%KN6o6`3o>xmD{gr0W2!QcY!CMAKFtmCOPk^x?}=y3G9Gv*#0Gn zeidE?*mnW^ZL(jGC;BdcZ-EW4#s?0Lkq0ir_ksRwHv2ppjXsoR+0|MrV~ljpWr@6$ z(kP{LQ55^tYV~tEoqpk%KKqy82b0O<<9Iy&lmqsb7K_CX;48<}IrM&-25H(nZ#El~ z6Y`pNyIl!913fC^t_mLqY+q}g_DW+i#z=fN#7X0z>HzG76N+$AKL{c^8FNA%w-3 zwGBya9?l~l9f_?{N@pXyAt|NBm$&yMmJVEoFM;)7Fu03CYp>TU@a{;7Hy94^X&Kvv zH+R5hKA(RZ4u|ifD`Kq`If}1B2!s$;N@x^_y^3{(>a0ar~d!|002ovPDHLk FV1o7)G|K=0 diff --git a/packages/SystemUI/res/drawable-xhdpi/screenshot_panel.9.png b/packages/SystemUI/res/drawable-xhdpi/screenshot_panel.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e5cfc364cc23c1d06e33abf88661877328965bf6 GIT binary patch literal 797 zcmV+&1LFLNP)=>Y6xNNU$Sr<@Xp7~n1~%?tz`k(s6F?OFT?yAG9UQ<-np+L zJJIhchKWI?718IhYnPH$M`-#tV+4!+m^?Mov*RT~( zSZfb67(APdF>g57D*?I(U&Pm_@dD@J&5SnAr47z@;eaSYwa0ZnSN_7UtP^|>TzvmV zKkO|GLtVfHegkZuVd;YP!qj)sbOFzEFd3*m1OCPK~&cj<=ZkK#;Rj-(S*1xjE?#Wd>2A44%>bn^Y zoJ%{#A8DP&Jg!%ExdCgF2G%*=Y0Tr$U*OgXt{1j}rocsmJGBzswfi3Ur&R_|O&L5j zW$@IL!BbNPPfbaKr}!TmpcbYX#Q~g9sQa?9sp%;B1Wf348;7;3}cs z2&G_4trIQKcpDG6y0%}yU*PP=^$qAL2A8`cCtrPQaGq+=^U3(FA1LB__3By zOSUAqc=m*YJQ09(s1J(vV~Mvdu}z0+8z$CdpuK}lG}Co2Y@Ed2zM#qLJP zZSC!MLtXFZfc_p2nLMr-TvG9G4sqBe8kciBP3=Nj`(~UNdH|p7_N!z!++}5DWqnSi bx^ey=;4KQ}^q(IZ00000NkvXXu0mjfezbGI literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/layout/global_screenshot.xml b/packages/SystemUI/res/layout/global_screenshot.xml index 6d70135d51879..d416af9296802 100644 --- a/packages/SystemUI/res/layout/global_screenshot.xml +++ b/packages/SystemUI/res/layout/global_screenshot.xml @@ -26,11 +26,16 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:background="@drawable/global_screenshot_background" + android:background="@drawable/screenshot_panel" android:visibility="gone"> + diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index bf192868ffe7b..55b722b12473c 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -89,9 +89,6 @@ 2000dp - 0dp - - 6dp - 0dp + 20dp diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java index cc1b8ed12c91e..6549610fe6824 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java @@ -34,7 +34,6 @@ import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.PixelFormat; import android.graphics.PointF; -import android.graphics.RectF; import android.net.Uri; import android.os.AsyncTask; import android.os.Environment; @@ -52,6 +51,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.view.animation.AccelerateInterpolator; import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; import android.widget.FrameLayout; import android.widget.ImageView; @@ -229,15 +229,18 @@ class SaveImageInBackgroundTask extends AsyncTask h) { - tmpMinScale = finalBounds.width() / (2f * w); - } else { - tmpMinScale = finalBounds.height() / (2f * h); - } - final float minScale = tmpMinScale; + final float offsetPct = SCREENSHOT_DROP_OUT_MIN_SCALE_OFFSET; + final PointF finalPos = new PointF( + -halfScreenWidth + (SCREENSHOT_DROP_OUT_MIN_SCALE + offsetPct) * halfScreenWidth, + -halfScreenHeight + (SCREENSHOT_DROP_OUT_MIN_SCALE + offsetPct) * halfScreenHeight); // Animate the screenshot to the status bar - anim.setDuration(SCREENSHOT_FADE_OUT_DURATION); + anim.setDuration(SCREENSHOT_DROP_OUT_DURATION); anim.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { float t = ((Float) animation.getAnimatedValue()).floatValue(); - float scaleT = minScale - + (float) (1f - t) * (SCREENSHOT_SCALE - minScale - mBgPaddingScale) - + mBgPaddingScale; - mScreenshotContainerView.setAlpha(d.getInterpolation(1f - t)); - mScreenshotContainerView.setTranslationX(d.getInterpolation(t) * finalPos.x); - mScreenshotContainerView.setTranslationY(d.getInterpolation(t) * finalPos.y); + float scaleT = (SCREENSHOT_DROP_IN_MIN_SCALE + mBgPaddingScale) + - (float) scaleInterpolator.getInterpolation(t) + * (SCREENSHOT_DROP_IN_MIN_SCALE - SCREENSHOT_DROP_OUT_MIN_SCALE); + mBackgroundView.setAlpha((1f - t) * BACKGROUND_ALPHA); + mScreenshotContainerView.setAlpha(1f - scaleInterpolator.getInterpolation(t)); mScreenshotContainerView.setScaleX(scaleT); mScreenshotContainerView.setScaleY(scaleT); - mBackgroundView.setAlpha((1f - t) * BACKGROUND_ALPHA); + mScreenshotContainerView.setTranslationX(t * finalPos.x); + mScreenshotContainerView.setTranslationY(t * finalPos.y); } }); }