diff options
-rw-r--r-- | res/drawable-xlarge-hdpi/trashcan.png | bin | 888 -> 0 bytes | |||
-rw-r--r-- | res/drawable-xlarge-hdpi/trashcan_hover.png | bin | 834 -> 0 bytes | |||
-rw-r--r-- | res/drawable-xlarge-mdpi/trashcan.png | bin | 906 -> 0 bytes | |||
-rw-r--r-- | res/drawable-xlarge-mdpi/trashcan_hover.png | bin | 542 -> 0 bytes | |||
-rw-r--r-- | res/layout-land/launcher.xml | 2 | ||||
-rw-r--r-- | res/layout-port/launcher.xml | 2 | ||||
-rw-r--r-- | res/layout-xlarge-land/all_apps_tabbed.xml | 16 | ||||
-rw-r--r-- | res/layout-xlarge-land/launcher.xml | 14 | ||||
-rw-r--r-- | res/layout-xlarge-port/all_apps_tabbed.xml | 16 | ||||
-rw-r--r-- | res/layout-xlarge-port/launcher.xml | 14 | ||||
-rw-r--r-- | res/values/colors.xml | 4 | ||||
-rw-r--r-- | res/values/strings.xml | 7 | ||||
-rw-r--r-- | src/com/android/launcher2/AllAppsPagedView.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher2/DeleteZone.java | 20 | ||||
-rw-r--r-- | src/com/android/launcher2/IconDropTarget.java | 9 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 6 |
16 files changed, 87 insertions, 30 deletions
diff --git a/res/drawable-xlarge-hdpi/trashcan.png b/res/drawable-xlarge-hdpi/trashcan.png Binary files differdeleted file mode 100644 index a07f78442..000000000 --- a/res/drawable-xlarge-hdpi/trashcan.png +++ /dev/null diff --git a/res/drawable-xlarge-hdpi/trashcan_hover.png b/res/drawable-xlarge-hdpi/trashcan_hover.png Binary files differdeleted file mode 100644 index 6dbc8f3b8..000000000 --- a/res/drawable-xlarge-hdpi/trashcan_hover.png +++ /dev/null diff --git a/res/drawable-xlarge-mdpi/trashcan.png b/res/drawable-xlarge-mdpi/trashcan.png Binary files differdeleted file mode 100644 index 839d4b854..000000000 --- a/res/drawable-xlarge-mdpi/trashcan.png +++ /dev/null diff --git a/res/drawable-xlarge-mdpi/trashcan_hover.png b/res/drawable-xlarge-mdpi/trashcan_hover.png Binary files differdeleted file mode 100644 index cc2fde7d5..000000000 --- a/res/drawable-xlarge-mdpi/trashcan_hover.png +++ /dev/null diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index 8d38a3d61..6e797f8eb 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -86,7 +86,7 @@ android:layout_gravity="right|center_vertical" android:scaleType="center" - android:src="@drawable/delete_zone_selector" + android:drawableLeft="@drawable/delete_zone_selector" android:visibility="invisible" launcher:direction="vertical" /> diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index c50dbca93..b7c61d8fa 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 e1a37ff14..fbe98b09e 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"> <com.android.launcher2.ApplicationInfoDropTarget android:id="@+id/all_apps_info_target" - android:src="@drawable/ic_home_info_holo_dark" + android:drawableRight="@drawable/ic_home_info_holo_dark" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" @@ -53,14 +53,24 @@ </FrameLayout> <com.android.launcher2.DeleteZone android:id="@+id/all_apps_delete_zone" - android:src="@drawable/delete_zone_selector" + android:text="@string/delete_zone_label_all_apps" + android:drawablePadding="@dimen/all_apps_drawable_padding" + android:drawableLeft="@drawable/delete_zone_selector" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/market_info_frame" android:layout_centerVertical="true" android:visibility="invisible" android:paddingRight="22dp" - launcher:direction="horizontal" /> + 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" /> </RelativeLayout> <FrameLayout android:id="@android:id/tabcontent" diff --git a/res/layout-xlarge-land/launcher.xml b/res/layout-xlarge-land/launcher.xml index ca77c5590..b68231785 100644 --- a/res/layout-xlarge-land/launcher.xml +++ b/res/layout-xlarge-land/launcher.xml @@ -168,16 +168,26 @@ android:visibility="gone"/> <com.android.launcher2.DeleteZone android:id="@+id/delete_zone" - android:src="@drawable/delete_zone_selector" + android:text="@string/delete_zone_label_workspace" + android:drawablePadding="@dimen/all_apps_drawable_padding" + android:drawableLeft="@drawable/delete_zone_selector" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignLeft="@id/configure_button" + android:layout_alignRight="@id/configure_button" android:paddingLeft="@dimen/toolbar_button_horizontal_padding" android:paddingRight="@dimen/toolbar_button_horizontal_padding" android:paddingTop="@dimen/toolbar_button_vertical_padding" android:paddingBottom="@dimen/toolbar_button_vertical_padding" android:background="@drawable/button_bg" + 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" + android:visibility="gone" launcher:direction="horizontal" /> </RelativeLayout> diff --git a/res/layout-xlarge-port/all_apps_tabbed.xml b/res/layout-xlarge-port/all_apps_tabbed.xml index a59314834..b90041c6b 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"> <com.android.launcher2.ApplicationInfoDropTarget android:id="@+id/all_apps_info_target" - android:src="@drawable/ic_home_info_holo_dark" + android:drawableRight="@drawable/ic_home_info_holo_dark" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" @@ -53,14 +53,24 @@ </FrameLayout> <com.android.launcher2.DeleteZone android:id="@+id/all_apps_delete_zone" - android:src="@drawable/delete_zone_selector" + android:text="@string/delete_zone_label_all_apps" + android:drawablePadding="@dimen/all_apps_drawable_padding" + android:drawableLeft="@drawable/delete_zone_selector" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/market_info_frame" android:layout_centerVertical="true" android:visibility="invisible" android:paddingRight="22dp" - launcher:direction="horizontal" /> + 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" /> </RelativeLayout> <FrameLayout android:id="@android:id/tabcontent" diff --git a/res/layout-xlarge-port/launcher.xml b/res/layout-xlarge-port/launcher.xml index e64da5af7..40b947e6b 100644 --- a/res/layout-xlarge-port/launcher.xml +++ b/res/layout-xlarge-port/launcher.xml @@ -166,15 +166,25 @@ android:visibility="gone"/> <com.android.launcher2.DeleteZone android:id="@+id/delete_zone" - android:src="@drawable/delete_zone_selector" + android:text="@string/delete_zone_label_workspace" + android:drawablePadding="@dimen/all_apps_drawable_padding" + android:drawableLeft="@drawable/delete_zone_selector" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignLeft="@id/configure_button" + android:layout_alignRight="@id/configure_button" android:paddingLeft="@dimen/toolbar_button_horizontal_padding" android:paddingRight="@dimen/toolbar_button_horizontal_padding" android:paddingTop="@dimen/toolbar_button_vertical_padding" android:paddingBottom="@dimen/toolbar_button_vertical_padding" + 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" + android:visibility="gone" launcher:direction="horizontal" /> </RelativeLayout> diff --git a/res/values/colors.xml b/res/values/colors.xml index 4abbd50dd..91fe2c974 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -38,4 +38,8 @@ <color name="workspace_item_pressed_glow_color">#0997ff</color> <color name="workspace_item_focused_outline_color">#6595f9</color> <color name="workspace_item_focused_glow_color">#0997ff</color> + + <color name="workspace_all_apps_and_delete_zone_text_color">#CCFFFFFF</color> + <color name="workspace_all_apps_and_delete_zone_text_shadow_color">#A0000000</color> + <color name="workspace_delete_zone_drag_text_color">#FFFF0000</color> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 48790525f..c56ee9eb7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -142,6 +142,13 @@ <!-- Label for button in all applications label to go back home (to the workspace / desktop) for accessibilty (spoken when the button gets focus). --> <string name="all_apps_home_button_label">Home</string> + <!-- Label for trash icon on workspace. Meant to communicate the idea of removing the + icon/widget from the home screen, but not permanently. Contrast with the label for trash + icon in All Apps [CHAR_LIMIT=30] --> + <string name="delete_zone_label_workspace">Remove</string> + <!-- Label for trash icon in All Apps. The icon/widget will become completely unavailable on the + device. [CHAR_LIMIT=30]--> + <string name="delete_zone_label_all_apps">Delete</string> <!-- Menus items: --> <skip /> diff --git a/src/com/android/launcher2/AllAppsPagedView.java b/src/com/android/launcher2/AllAppsPagedView.java index 5b98a1530..caa140605 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 16061d34e..4bed84c5c 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 bfc46cf42..fb5d0f081 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 3c1c33657..82f5aea03 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; } } |