From 577d017732abf9969e9a5c1b6aa3ffb5b8fdae7f Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Fri, 17 Dec 2010 20:04:50 -0800 Subject: [PATCH] adding "Remove" and "Delete" text to delete button - also removed some unused assets Change-Id: Iad42afd2f144de92d80fb89d892ab42b32811b69 --- res/drawable-xlarge-hdpi/trashcan.png | Bin 888 -> 0 bytes res/drawable-xlarge-hdpi/trashcan_hover.png | Bin 834 -> 0 bytes res/drawable-xlarge-mdpi/trashcan.png | Bin 906 -> 0 bytes res/drawable-xlarge-mdpi/trashcan_hover.png | Bin 542 -> 0 bytes res/layout-land/launcher.xml | 2 +- res/layout-port/launcher.xml | 2 +- res/layout-xlarge-land/all_apps_tabbed.xml | 16 +++++++++++--- res/layout-xlarge-land/launcher.xml | 14 ++++++++++-- res/layout-xlarge-port/all_apps_tabbed.xml | 16 +++++++++++--- res/layout-xlarge-port/launcher.xml | 14 ++++++++++-- res/values/colors.xml | 4 ++++ res/values/strings.xml | 7 ++++++ .../android/launcher2/AllAppsPagedView.java | 7 ------ src/com/android/launcher2/DeleteZone.java | 20 ++++++++++++++---- src/com/android/launcher2/IconDropTarget.java | 9 +++----- src/com/android/launcher2/Launcher.java | 6 +++++- 16 files changed, 87 insertions(+), 30 deletions(-) delete mode 100644 res/drawable-xlarge-hdpi/trashcan.png delete mode 100644 res/drawable-xlarge-hdpi/trashcan_hover.png delete mode 100644 res/drawable-xlarge-mdpi/trashcan.png delete mode 100644 res/drawable-xlarge-mdpi/trashcan_hover.png diff --git a/res/drawable-xlarge-hdpi/trashcan.png b/res/drawable-xlarge-hdpi/trashcan.png deleted file mode 100644 index a07f784420b1fcf0a3ea9276a4fcb201bfa845b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}trX+877l!}s{b%+Ad7K3vk;M!Q z+(IDCcKfnz$52J2-w_pT=#s4dph#W5t}@Z0Gd^Did|9Ie05awX7Vnl_87 zrVi)Xpj8?{FT1Yry*<;`k?^r2z+NBzWwmmOm7j+4aXVmPM&R<9%#1NSD}q*PK7Yf+s5d>URnP|H8Qu~ z725DC%1rS#%Y)tJ>g%GEOu00ggBLGZn7g&-+~2cHmK+G%6~cZ_dqy~84$F@0m+u|# z2kg3-qb^X?{PsdvOm4zz4JU+Gj#7wCdDRCZ$=CCMeMw!2E<#Ev4%sS=ORF;Oz zAM7fBFZ0;TAK-cL(VN-J3-UF!Sko(GnzyH(Z3vZ3_@3P%RJw6y)dnN2lXu-e7_EC- zadTOmV};P(%f+b`KO%yfG;Uqn?tJ66ymCX%p>(d)1$!*GXKOaZ9DDoOx#8XqjR$*o zRJ_ukaDpxArdo(ltBTI@FKkm@F_DgZes4^@F#J8^jqS z<*qlZ>Q;2=EW5p+&$lS)i_s6yCr*cFxv)Omo3Ux7WWXFRR@{Vz+q|C(s$$13dV(6HHiKQ|+zPqN7@d%l9omVdwPg#PS{N(}$7aMv`x zML#k#j%^UWY2J|Iv~kxz)_Lo7QWS*tPknPkC((3)Dqq%y+80sIZ|bJ4^nS9_X=ORb zjdNAnrK$RE))!gM&6}KS_1oKkt!%b|YLj5upL=hZzx}P3+|Q_Rdd=>|rG5dxR3}p6 z8d2h0l$uzQnV+W+l9`*zV5x7eZ)i|D_h&LtUKJ#tl30>zl?+mp%3x$*XrOCosB2^# zVrXgwLs6hr~LvVgtNqJ&XDuZK6ep0G} gTV_#ed45rLv4V53Y2nt#Wzopr01d-!#sB~S diff --git a/res/drawable-xlarge-hdpi/trashcan_hover.png b/res/drawable-xlarge-hdpi/trashcan_hover.png deleted file mode 100644 index 6dbc8f3b888929284ed431f2ac2cf045316f3847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 834 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCwj^(N7l!{JxM1({$v_d#0*}aI zAngIhZYQ(tK!Rljj_E)ete@fByPj|c1|~O87srr{dv9m%&AV+NaJ*hi%7oKMBC_d# z)3TJD<4+`amA|(BBKeD_c4pt)y=K|V4#*jWTu3-zV5HI9|G-hvcVfvRuW#}O?_9b~ z-cPoXmnm=%>zZ?tSBCNVryrV$om(%gYIttPvcu!f4(|zGW+JL5+GYP#tp72?GCsSW zX^!ieSf;H}$9FusJe%vnr|Mqg2kjrOM^9VP@-HNLYoHsmyJ4P5p14r%VYkPzO;Uwo^wVY zq8(^D{$TvV{Tn|ThfCL% z_)6{N-WkBOJ%7V=eJB4ybp~~|{KkXa6CODgn>Df(wEvD0>=rH1|1*C^r(tA<(w4by z{jJlo-mux9iG4Bu(dui~R=u-&`;56;bqW;M*!g(9c^JCsqRNeGU!I=dzBg0k8zi;< zD~Cou-09VlbYRA}O{RH#>)-E`3Nc{6d1f=aI@^1vXx)T$8+^BKEqb`Cjy?Oyl}SZk z?TlIt^Ta$=J|cU*IMQN?*8lDEB^3*o$va& zCEqNte(zj%{a=IK2c`huyi*@NvfP2mOSQx`q9i4;B-JXpC>2OC7#SEE=o%X88X1Qe znpy#ofr+kxg_VIpscz;I6b-rgDVb@NxHYg8T#Nu}kObKfoS#-wo>-L1;Fyx1l&avF co0y&&l$w}QS$Hzl2B?U^)78&qol`;+0O~kdK>z>% diff --git a/res/drawable-xlarge-mdpi/trashcan.png b/res/drawable-xlarge-mdpi/trashcan.png deleted file mode 100644 index 839d4b8549427f788b346d03f238672e3c1ef57e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 906 zcmV;519kj~P)JTpS~L>nBVE+CxG3%71s8D@?9i@v+hM3vw}aAu;5s`LZgUa>j<;GN zgKK)ApeI;47a`?Zq#>BVXU*UZmuO7$+jbmrlnSsWhr<&b(UD-TfSbJCZWF^W_%IS7#LDOMhARR< zFDmF*oC*D}}Siega|#bUW!Mz`BN+1=f3%Cg+SLrWeZb{m#TrOf>N z{E9a@D`sY9K5lMqev0C}`y`ANu(!9T9UmVzDW&=-fo&rjBBwU%c)4p;@~0A}4qDwX2a*Vn%QK)GBF%R7W_ zw|fGh<%|0WfgWHv#aPhm^*Y{lP+X>6(C_!@O9%==tN=oYFMdT%b}F&l+wOwn)>14;Yqz- z|K+e?)LjV8(07*qoM6N<$f|>M`cmMzZ diff --git a/res/drawable-xlarge-mdpi/trashcan_hover.png b/res/drawable-xlarge-mdpi/trashcan_hover.png deleted file mode 100644 index cc2fde7d528a8fb11553dee9e4417c9084b0f0dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 542 zcmV+(0^$9MP)9NRSnanjeMiS7Gx{(NUk zt+nXW2BK$+tXoRC2fq`*(4ut#P(tgEkP)zTE~wpvNC%2Q>HH8dHnhtCt8WrQyzNGy z4E>j(^IO1aLu&=Nqx%gB>~ENg$aB8Yc@9X~vnln#cQFw_JBIOEbrCttcQy3r{GR>4 zB=GjDnl36+5;@K{e&s$R$sNus*O>L?y4VhOVQ84v8v+T1Q8|u{tKsiuL* zkjsbEX-w*$(cm#txhZXTMNdwJ-T40tKsTz2pHEVEo*lKo}t=A-80CUm|Q?QvYRJ{?i2VkOUSUSumwMvh%h) zBLXk9Ihj+TnYL6ytO3tkRj{EDwU^_vEFU?X2indD#* diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index c50dbca937..b7c61d8faf 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -79,7 +79,7 @@ android:layout_gravity="bottom|center_horizontal" android:scaleType="center" - android:src="@drawable/delete_zone_selector" + android:drawableLeft="@drawable/delete_zone_selector" android:visibility="invisible" launcher:direction="horizontal" /> diff --git a/res/layout-xlarge-land/all_apps_tabbed.xml b/res/layout-xlarge-land/all_apps_tabbed.xml index e1a37ff144..fbe98b09e4 100644 --- a/res/layout-xlarge-land/all_apps_tabbed.xml +++ b/res/layout-xlarge-land/all_apps_tabbed.xml @@ -39,7 +39,7 @@ android:layout_centerVertical="true"> + launcher:direction="horizontal" + + android:gravity="center_horizontal|center_vertical" + android:textColor="@color/workspace_all_apps_and_delete_zone_text_color" + android:textSize="18sp" + android:shadowColor="@color/workspace_all_apps_and_delete_zone_text_shadow_color" + android:shadowDx="0.0" + android:shadowDy="0.0" + android:shadowRadius="2.0" /> diff --git a/res/layout-xlarge-port/all_apps_tabbed.xml b/res/layout-xlarge-port/all_apps_tabbed.xml index a593148346..b90041c6b0 100644 --- a/res/layout-xlarge-port/all_apps_tabbed.xml +++ b/res/layout-xlarge-port/all_apps_tabbed.xml @@ -39,7 +39,7 @@ android:layout_centerVertical="true"> + launcher:direction="horizontal" + + android:gravity="center_horizontal|center_vertical" + android:textColor="@color/workspace_all_apps_and_delete_zone_text_color" + android:textSize="18sp" + android:shadowColor="@color/workspace_all_apps_and_delete_zone_text_shadow_color" + android:shadowDx="0.0" + android:shadowDy="0.0" + android:shadowRadius="2.0" /> diff --git a/res/values/colors.xml b/res/values/colors.xml index 4abbd50dd7..91fe2c9747 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -38,4 +38,8 @@ #0997ff #6595f9 #0997ff + + #CCFFFFFF + #A0000000 + #FFFF0000 diff --git a/res/values/strings.xml b/res/values/strings.xml index 48790525f1..c56ee9eb7b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -142,6 +142,13 @@ Home + + Remove + + Delete diff --git a/src/com/android/launcher2/AllAppsPagedView.java b/src/com/android/launcher2/AllAppsPagedView.java index 5b98a15302..caa1406054 100644 --- a/src/com/android/launcher2/AllAppsPagedView.java +++ b/src/com/android/launcher2/AllAppsPagedView.java @@ -204,10 +204,6 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All private void setupDragMode() { mLauncher.getWorkspace().shrink(Workspace.ShrinkState.BOTTOM_VISIBLE); - - DeleteZone deleteZone = (DeleteZone) mLauncher.findViewById(R.id.delete_zone); - deleteZone.setDragAndDropEnabled(false); - DeleteZone allAppsDeleteZone = (DeleteZone) mLauncher.findViewById(R.id.all_apps_delete_zone); allAppsDeleteZone.setDragAndDropEnabled(true); @@ -223,9 +219,6 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All // deleteZone and the appInfoButton in all apps, and re-enable the instance which // live in the workspace public void run() { - DeleteZone deleteZone = (DeleteZone) mLauncher.findViewById(R.id.delete_zone); - deleteZone.setDragAndDropEnabled(true); - DeleteZone allAppsDeleteZone = (DeleteZone) mLauncher.findViewById(R.id.all_apps_delete_zone); allAppsDeleteZone.setDragAndDropEnabled(false); diff --git a/src/com/android/launcher2/DeleteZone.java b/src/com/android/launcher2/DeleteZone.java index 16061d34ec..4bed84c5cc 100644 --- a/src/com/android/launcher2/DeleteZone.java +++ b/src/com/android/launcher2/DeleteZone.java @@ -16,7 +16,10 @@ package com.android.launcher2; +import com.android.launcher.R; + import android.content.Context; +import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; @@ -31,14 +34,13 @@ import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.TranslateAnimation; -import com.android.launcher.R; - public class DeleteZone extends IconDropTarget { private static final int ORIENTATION_HORIZONTAL = 1; private static final int TRANSITION_DURATION = 250; private static final int ANIMATION_DURATION = 200; private static final int XLARGE_TRANSITION_DURATION = 150; private static final int XLARGE_ANIMATION_DURATION = 200; + private static final int LEFT_DRAWABLE = 0; private AnimationSet mInAnimation; private AnimationSet mOutAnimation; @@ -51,6 +53,8 @@ public class DeleteZone extends IconDropTarget { private final RectF mRegionF = new RectF(); private final Rect mRegion = new Rect(); private TransitionDrawable mTransition; + private int mTextColor; + private int mDragTextColor; public DeleteZone(Context context, AttributeSet attrs) { this(context, attrs, 0); @@ -74,7 +78,14 @@ public class DeleteZone extends IconDropTarget { @Override protected void onFinishInflate() { super.onFinishInflate(); - mTransition = (TransitionDrawable) getDrawable(); + mTransition = (TransitionDrawable) getCompoundDrawables()[LEFT_DRAWABLE]; + if (LauncherApplication.isScreenXLarge()) { + mTransition.setCrossFadeEnabled(false); + } + + Resources r = getResources(); + mTextColor = r.getColor(R.color.workspace_all_apps_and_delete_zone_text_color); + mDragTextColor = r.getColor(R.color.workspace_delete_zone_drag_text_color); } public boolean acceptDrop(DragSource source, int x, int y, int xOffset, int yOffset, @@ -115,7 +126,6 @@ public class DeleteZone extends IconDropTarget { final LauncherAppWidgetInfo launcherAppWidgetInfo = (LauncherAppWidgetInfo) item; final LauncherAppWidgetHost appWidgetHost = mLauncher.getAppWidgetHost(); if (appWidgetHost != null) { - final int appWidgetId = launcherAppWidgetInfo.appWidgetId; // Deleting an app widget ID is a void call but writes to disk before returning // to the caller... new Thread("deleteAppWidgetId") { @@ -133,6 +143,7 @@ public class DeleteZone extends IconDropTarget { DragView dragView, Object dragInfo) { if (mDragAndDropEnabled) { mTransition.reverseTransition(getTransitionAnimationDuration()); + setTextColor(mDragTextColor); super.onDragEnter(source, x, y, xOffset, yOffset, dragView, dragInfo); } } @@ -141,6 +152,7 @@ public class DeleteZone extends IconDropTarget { DragView dragView, Object dragInfo) { if (mDragAndDropEnabled) { mTransition.reverseTransition(getTransitionAnimationDuration()); + setTextColor(mTextColor); super.onDragExit(source, x, y, xOffset, yOffset, dragView, dragInfo); } } diff --git a/src/com/android/launcher2/IconDropTarget.java b/src/com/android/launcher2/IconDropTarget.java index bfc46cf422..fb5d0f081a 100644 --- a/src/com/android/launcher2/IconDropTarget.java +++ b/src/com/android/launcher2/IconDropTarget.java @@ -16,22 +16,19 @@ package com.android.launcher2; -import com.android.launcher.R; - import android.content.Context; -import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; -import android.widget.ImageView; +import android.widget.TextView; + /** * Implements a DropTarget which allows applications to be dropped on it, * in order to launch the application info for that app. */ -public class IconDropTarget extends ImageView implements DropTarget, DragController.DragListener { +public class IconDropTarget extends TextView implements DropTarget, DragController.DragListener { protected Launcher mLauncher; /** diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 3c1c336574..82f5aea03f 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -2595,19 +2595,23 @@ public final class Launcher extends Activity hideOrShowToolbarButton(true, divider, showSeq); hideOrShowToolbarButton(true, configureButton, showSeq); mDeleteZone.setOverlappingViews(new View[] { allAppsButton, divider, configureButton }); + mDeleteZone.setDragAndDropEnabled(true); + mDeleteZone.setText(getResources().getString(R.string.delete_zone_label_workspace)); break; case ALL_APPS: hideOrShowToolbarButton(false, configureButton, hideSeq); hideOrShowToolbarButton(false, searchButton, hideSeq); hideOrShowToolbarButton(false, divider, hideSeq); hideOrShowToolbarButton(false, allAppsButton, hideSeq); + mDeleteZone.setDragAndDropEnabled(false); + mDeleteZone.setText(getResources().getString(R.string.delete_zone_label_all_apps)); break; case CUSTOMIZE: hideOrShowToolbarButton(false, allAppsButton, hideSeq); hideOrShowToolbarButton(false, searchButton, hideSeq); hideOrShowToolbarButton(false, divider, hideSeq); hideOrShowToolbarButton(false, configureButton, hideSeq); - //mDeleteZone.setOverlappingView(configureButton); + mDeleteZone.setDragAndDropEnabled(false); break; } }