From 6085f8a16b5f6ed6a7a7acf854ec29ff2bef45fa Mon Sep 17 00:00:00 2001 From: Chet Haase Date: Fri, 21 Jul 2017 10:45:31 -0700 Subject: [PATCH] Update overscroll and toast UI Overscroll updates: Same shape, but smaller radius (doesn't come as far into the view) and more translucent (max 15% instead of 50%). Overall, more subtle. Toast updates: Light background, smaller, dark font, closer to the bottom of the container. Test: manual unit tests. Also: cts test ToastTest for toast changes cts test EdgeEffectTests for EdgeEffect changes (adding some tests to known-failures for now, due to brittle golden-image failures - see CL ag/2596621) Bug: 30563264 Refresh toast visuals for Android ODR Bug: 63010438 Tweaks to overscroll animation Change-Id: I0fac6322b0b81d030c8d174852c134211290bbea --- core/java/android/widget/EdgeEffect.java | 10 +++++--- core/res/res/drawable-hdpi/toast_frame.9.png | Bin 1573 -> 0 bytes core/res/res/drawable-ldpi/toast_frame.9.png | Bin 3268 -> 0 bytes core/res/res/drawable-mdpi/toast_frame.9.png | Bin 965 -> 0 bytes core/res/res/drawable-xhdpi/toast_frame.9.png | Bin 2090 -> 0 bytes .../res/res/drawable-xxhdpi/toast_frame.9.png | Bin 2323 -> 0 bytes core/res/res/drawable/toast_frame.xml | 24 ++++++++++++++++++ .../res/res/layout/transient_notification.xml | 4 ++- core/res/res/values/dimens.xml | 2 +- core/res/res/values/styles.xml | 3 ++- 10 files changed, 36 insertions(+), 7 deletions(-) delete mode 100644 core/res/res/drawable-hdpi/toast_frame.9.png delete mode 100644 core/res/res/drawable-ldpi/toast_frame.9.png delete mode 100644 core/res/res/drawable-mdpi/toast_frame.9.png delete mode 100644 core/res/res/drawable-xhdpi/toast_frame.9.png delete mode 100644 core/res/res/drawable-xxhdpi/toast_frame.9.png create mode 100644 core/res/res/drawable/toast_frame.xml diff --git a/core/java/android/widget/EdgeEffect.java b/core/java/android/widget/EdgeEffect.java index 98d8a13d68b51..f9f5901a6651e 100644 --- a/core/java/android/widget/EdgeEffect.java +++ b/core/java/android/widget/EdgeEffect.java @@ -59,7 +59,8 @@ public class EdgeEffect { // Time it will take in ms for a pulled glow to decay to partial strength before release private static final int PULL_DECAY_TIME = 2000; - private static final float MAX_ALPHA = 0.5f; + private static final float MAX_ALPHA = 0.15f; + private static final float GLOW_ALPHA_START = .09f; private static final float MAX_GLOW_SCALE = 2.f; @@ -75,6 +76,7 @@ public class EdgeEffect { private static final double ANGLE = Math.PI / 6; private static final float SIN = (float) Math.sin(ANGLE); private static final float COS = (float) Math.cos(ANGLE); + private static final float RADIUS_FACTOR = 0.6f; private float mGlowAlpha; private float mGlowScaleY; @@ -134,10 +136,10 @@ public class EdgeEffect { * @param height Effect height in pixels */ public void setSize(int width, int height) { - final float r = width * 0.75f / SIN; + final float r = width * RADIUS_FACTOR / SIN; final float y = COS * r; final float h = r - y; - final float or = height * 0.75f / SIN; + final float or = height * RADIUS_FACTOR / SIN; final float oy = COS * or; final float oh = or - oy; @@ -272,7 +274,7 @@ public class EdgeEffect { // The glow depends more on the velocity, and therefore starts out // nearly invisible. - mGlowAlphaStart = 0.3f; + mGlowAlphaStart = GLOW_ALPHA_START; mGlowScaleYStart = Math.max(mGlowScaleY, 0.f); diff --git a/core/res/res/drawable-hdpi/toast_frame.9.png b/core/res/res/drawable-hdpi/toast_frame.9.png deleted file mode 100644 index a804a8a9456438adfa3fc1ebb234b2c19be684b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1573 zcmV+=2HN?FP)OBUV$;j3oneum>9Xy#2CFe24lQYi9sQ# zDA4kD+Vbj4TWYsJ-O}CSwjD2?Gc&vG%+AZs?9ADnZ!#A~K{PsD||M~yV|9PZo zYKW=Kc?}(Dni^Yzi>$_l*o^D39b551TvB{Cj

QUBN77a1@8}Z@h***oR3>XIa*_ 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 diff --git a/core/res/res/drawable-xhdpi/toast_frame.9.png b/core/res/res/drawable-xhdpi/toast_frame.9.png deleted file mode 100644 index 77e69c72ab9afccc0afa1772c9087ad3333189d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2090 zcmV+_2-WwAP)4>Bp-m){Nm_DgYHl-Wa(q~OE@yJ)GaJvv_TlM|*!x$Sb3-OK#!Jfgt@Iv+d#iA$%Zmk0q zs#<1m!d`qBAHr^|6P7YE7GBX1mUj+^a1c+R#L1#41~!nsPfR7wxLDTq<73E#V9Sw{ zcou)bqnN~WzeVe-P?Qmjf5qXVD6aJDhJBf^N}!wZ zapbs7Sk+2o8qcG^LwLC#g4Hfmp655>E_?;=!}@;QXT)gWEdGt3KD)^L&-?;J%GdVq+cGU8bxTuNv>fD_NFJmSx$q zSUn4s=lPrQS$qd~U{$ZzTmh^SPSgi+KFhMhWm!)3a=|4peU;n23HRdj*wV{DRxl^< z8~hBXm+HnZ$)c*r!Y%j~z91qAiPo$YE6rxSkY(Bb%ChYGB3%nriL_Nbk3L-uB+;H5 z@D98cPiI+nu3NFX5~^D6b_kI^BjR<5&X^Hv3;vU3*=ya1)om1dGw#DDsv9S|;|4Kz z_ldden2s%~^6u`%7p3K{7iKK$N|t5McIpjwBvkdDbPv8RISzF&Bi4y5%gRpPv#u#r z6>+#ryeDn%d5DP_){4EjGRv}wvMk%~adq;H+KI2?Z8Z!o(abIQnwaCZw6&-z!1_%Q zyGs#=`WX|e)L52f|18V$^~L^hQH!dUygP+Rt7{)(VusaXj_<7Iyd~|HzKtU4u&w5S zC9YtbJF|Lpx7Y-xKFikEE-o?R26;LC3a_1AZO*CK79l~CKo{?ba#aTsOB#oS-@zS<;IWpa0mEY-wt*n_(l zE`JLxYO~0@TQ{IVC9Y*%l=w^!QCTGY%*zw~?>9mYibZ##2B?exaY6(41`ip|9)i+UsHi;pTBEwHFPhIeK* zu{hU@!+*0v?HJxz64zh{NvP#OlTe$6IFLkpHZdnuawJBV4TMk)+&J8^B-*f+Ig3iW zxueTCz1I{<42T(_riVI;L_4Mlp~g^aO@u_PoM+CWULE2<674y|oKUBSIFLkpPBSOe z(IE~b(Vn9up_T(pLcJ&|KPERlrKr$`qcdv}uamwM8-r35Ur*lO@Ms7P%K5D& z7H%A#!o!kNF-*=04NlGfvPr0_-sz(vq?8yAFXGXKwP#yx#ZTgQ(ys3?m=<$Cx$qaQ zgqp@9!d*|#s=?6^bN+}HMsk%d@Y_y1w{?7Ow=B!4 zEX$q~-9FzgiM3SDiw2elilXQ^p{U!_9H;PO@nW{9hmu&7OJeR0SP*o*7G0f$FUwMv zWoPj;-Xc7~WLceY9)H01aID*gUtO0hsKlB{hIx~4-IG}DxgdhAKN9`tyN;nQskTHV z)@!1jX+u1-k~i3z6QYCY0nwv(Nf+t)1vby~4WbhMH$*v@^imu&#QV`t@L*9CXL`9< z&(&HgZ?MF3BHXlH3O7yRANVf*R7dmVTFUBF?^zQfH}E=9#A1CN*ItGk7wyQuFA^wg zIed{?kk`Zf7UaLc!I5o2KA)<$$IYUJK`tufuT;@6v5voYJ2Y%RyIE9@pM2#B$}KPx!?!!gb?avzr~r)P$s6TkiSM0 zWZEm7j?7%i)D4DL=<%}1!#^(e;+_>wLRo!(aVe37UKyGH;5^UQ3%7o!SSI&WKW`JI z&^8Kj$Ms$s=!&qEiy}|qw8&eS5DAbo2m6i|MRB&rd(}g$rc%q8#)8j^AkTCE2cO&t UA4kTif&c&j07*qoM6N<$g6?_+uK)l5 diff --git a/core/res/res/drawable-xxhdpi/toast_frame.9.png b/core/res/res/drawable-xxhdpi/toast_frame.9.png deleted file mode 100644 index edecb6320de52da7e822c84484454fce5ed41a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2323 zcmV+u3GDWXP)-MdCZ{3Q-Vlf5m5s%0D zM{AnDj=)R%L_=_VeMwcMUZhG=H&U5J?c{YGvb~uE>vWpGuDAJ_E|FSD&7=z!otF1F zPC7=alh+}50Vg5>t0oO54Itf4Y8$Z6X$^SS46nONIzl>3+D|$tfow(a{HL5Wl2ju< z%Zunl;uB_|=n?s|2GTCl4*A)D;OV1+G>$ZpbQj48QP+r1tcOI`N#Bt+leUn~A$ac7 zMq0Hgq%rdQu)`;&n}!gU3SywWM{V-pGYEdW+|^%Exg} zzk)YT&b$Ya1K(ipcS|jbK6pG`w3PH-&^o&zrA%tERN0uTF4W-lBW)#3M!f^aWT{QR zVhi2`(w8bRi4THFmDFfLF$9lSj4ULr)ZLVWoV!9RrDl;r4IYmdE!S}nz>~&eh4OIB z&+zcf;Y;?1QOANMCN=C(D8b`_%8yCIQM-a?xYV*!(1T}&ZV+l#Gz{`0d~ODh=LA0> z-GN#a9bD73%EdW!w}Qu=P+kKz1T`vJ_&%2R-MZj#BX|+HdL4<{6g?xP){!6t?`f5| z2LOZvuJwGsgEyY^B5Dyjo|D@95J97fFURX^RqYfoB5>WCVImQu+;d!4~s ztTe7<0D+}SvY;h+V@Z#}b0BaQ?)N%)ym<3Xcny+xLpfa7>oj=Wtd_%PkVLuDuUsd= z8%3G~k3kwHNk(j8cMA)iCRqY+K^9&kjaG>*)>0yyTiR~%W~jslhX7=vk7Okqt#*Rf znX~|&0-JDF%G~JV%~QC;AJ~VpGB@AgbsH6lMN$Qi7kXB}AK($Z(y33X;N1yt zfX56*@PHpwrwZNx_yRm;KyvW-a<@Nx0Upyo7K=r#!MlxA0$+f~l$aM7hUJPD03F@;0MsejjS25Sd4$3haW%_4b~R#BK!cFxM&StJ^TQgsJ9011pEM+IAIOm zN%#RYanc&RU*QMP#Ba&Ly8=&u$26OboEbbGP5uSG0FOBmkH=fA!D9}?7vM2JnZK|G z?*M!O9&-S}1AeeSRq*Oa=im+Shz4aDJxN{&x*PrgkKk;zrVHK<_yas*yY)B8!P})| zp&kG(!kOBWDR_U9_Q5CMGMuUNnS#fB0iS@&{4Z0fg13d#04LYDbPAq6W&vrF@19`GqrMYK2(-syVks9G0 z$dM+=ka8M44&6HV2XbU>riLrqradc3m*F9B$Ysfn$~AbrT4fD<1P)oFvaEEnvrSno z`g*_tjglFaZ}51pi{wTqUAT-2ya0eHrfrH)8H|SRf-8;5PBLU8_KKTap<0h&mf5xoHj_g?E1b{ zVMYV|%X-O#@;Z3tSMD)*9(p(fi*osgxdxA?L}n^HrXb8TNd_+K3?6fo^sKVnD+xkF ztJMBzu5Xa3h_sXyKino|IavpahTki}VEP2h^zO;F>-zHC90j9>Z&~9wi+@t%`<2Qd3vg zWP0(uS~GlmQL}<)uNR^7DtHV(lXNO6j@lJ08>NPqym)gjpU};n(D^Dc&WAzf!hvhW z!zItSbs?cUc;-QH@Me2;<^b2fspgR0^187wG#wCcQ#D>;`FxP6lNx=l<3BSr9vDBs zWvs%6KtW`K)JEGwb_~r2$W8e|(kz9if(L;MQj3MUyF!Lf2h0=9BT1j4_P+6%)L^q8 z|GDAgf%BfY^GMT3zat0QV6S-=Vy;TsmpClJGx=K1yjK-=Ebx*>@tD2d?)Qf=0%8h} z7rjFoMtWP}5vFc(MLZoQ9$yW@hcW_Y65pw`gfx`&uENs#d}tC6hl;0xx-HcRsA*?a z;)bGX((9x%$dPT%h-cN};n^U5$Y=rdOKRmSqDCd=4(}$lLB9S2KRJgV2ewXr2L97do2Wu1M%W)94GwUt?KQl&FfY#JnFfB2L_s}yGg^R#o0~*F33@lxy1&DuCD~L7paoeO + + + + + + + diff --git a/core/res/res/layout/transient_notification.xml b/core/res/res/layout/transient_notification.xml index daa9faf70bb20..2c08bf70491e9 100644 --- a/core/res/res/layout/transient_notification.xml +++ b/core/res/res/layout/transient_notification.xml @@ -29,9 +29,11 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" + android:layout_marginHorizontal="24dp" + android:layout_marginVertical="15dp" android:layout_gravity="center_horizontal" android:textAppearance="@style/TextAppearance.Toast" - android:textColor="@color/bright_foreground_dark" + android:textColor="@color/primary_text_default_material_light" android:shadowColor="#BB000000" android:shadowRadius="2.75" /> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 9f9c883fe6aae..7155226071954 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -30,7 +30,7 @@ will be displayed in the app launcher and elsewhere. --> 48dip - 64dip + 24dp 24dp diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 5c6e3df3ac332..4b0fe3f3a04cd 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -956,7 +956,8 @@ please see styles_device_defaults.xml.