diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2015-04-08 19:01:34 -0700 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2015-04-08 19:01:34 -0700 |
commit | 3f471440a8b6b71d4c15501a96befd3b715c9e8f (patch) | |
tree | d5da39d089eed5096a4b10204153d5d6bb798624 /res | |
parent | 85e3d4cc5ea4e554639868069f4fd409731f7bbb (diff) | |
download | android_packages_apps_Trebuchet-3f471440a8b6b71d4c15501a96befd3b715c9e8f.tar.gz android_packages_apps_Trebuchet-3f471440a8b6b71d4c15501a96befd3b715c9e8f.tar.bz2 android_packages_apps_Trebuchet-3f471440a8b6b71d4c15501a96befd3b715c9e8f.zip |
WidgetTray revamp work
- RecyclerView is rendering
- Animation is connected
- Drag and drop is now handled
- UI tweaking: background, margins, more to come.
- Flicker and preview not loading issue:
fixed height for the horizontal scroll view.
- Shortcuts are added
- Widget Preview loading should support shortPress for drop
- UI tweaks left: overlay of arrow when there are more items to scroll
- icons are added in the section header
- Sorting of widget sections and widget horizontal list
- Adding all the padding constants to dimen.xml file
- RecyclerView should only support one view type
For items to be addressed in follow up patches OR CLs,
TODO is added to the comment.
b/19897708
Change-Id: Ibfc4da1696a23d20bada93db46e126706eb13cdc
Diffstat (limited to 'res')
-rw-r--r-- | res/layout-land/launcher.xml | 4 | ||||
-rw-r--r-- | res/layout-port/launcher.xml | 4 | ||||
-rw-r--r-- | res/layout-sw720dp/launcher.xml | 4 | ||||
-rw-r--r-- | res/layout/apps_customize_pane.xml | 62 | ||||
-rw-r--r-- | res/layout/apps_list_row_view.xml | 2 | ||||
-rw-r--r-- | res/layout/widget_cell.xml (renamed from res/layout/apps_customize_widget.xml) | 64 | ||||
-rw-r--r-- | res/layout/widgets_list_row_view.xml | 89 | ||||
-rw-r--r-- | res/layout/widgets_view.xml | 49 | ||||
-rw-r--r-- | res/values-land/dimens.xml | 5 | ||||
-rw-r--r-- | res/values-sw600dp/dimens.xml | 8 | ||||
-rw-r--r-- | res/values-v17/styles.xml | 4 | ||||
-rw-r--r-- | res/values/colors.xml | 4 | ||||
-rw-r--r-- | res/values/dimens.xml | 28 | ||||
-rw-r--r-- | res/values/styles.xml | 4 |
14 files changed, 190 insertions, 141 deletions
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index b13984a26..d5dd91ab4 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -57,8 +57,8 @@ android:id="@+id/overview_panel" android:visibility="gone" /> - <include layout="@layout/apps_customize_pane" - android:id="@+id/apps_customize_pane" + <include layout="@layout/widgets_view" + android:id="@+id/widgets_view" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index 3cb338efe..5a018c516 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -66,8 +66,8 @@ android:id="@+id/search_drop_target_bar" layout="@layout/search_drop_target_bar" /> - <include layout="@layout/apps_customize_pane" - android:id="@+id/apps_customize_pane" + <include layout="@layout/widgets_view" + android:id="@+id/widgets_view" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> diff --git a/res/layout-sw720dp/launcher.xml b/res/layout-sw720dp/launcher.xml index a3d502cf4..8bd827a25 100644 --- a/res/layout-sw720dp/launcher.xml +++ b/res/layout-sw720dp/launcher.xml @@ -66,8 +66,8 @@ android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> - <include layout="@layout/apps_customize_pane" - android:id="@+id/apps_customize_pane" + <include layout="@layout/widgets_view" + android:id="@+id/widget_view" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> diff --git a/res/layout/apps_customize_pane.xml b/res/layout/apps_customize_pane.xml deleted file mode 100644 index e42576ffe..000000000 --- a/res/layout/apps_customize_pane.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<com.android.launcher3.AppsCustomizeTabHost - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:launcher="http://schemas.android.com/apk/res-auto" - android:clipChildren="false"> - - <LinearLayout - android:id="@+id/content" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:clipChildren="false" - android:orientation="vertical"> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:clipChildren="false"> - <FrameLayout - android:id="@+id/fake_page_container" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:clipChildren="false" - android:clipToPadding="false"> - <FrameLayout - android:id="@+id/fake_page" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="invisible" - android:clipToPadding="false" /> - </FrameLayout> - <com.android.launcher3.AppsCustomizePagedView - android:id="@+id/apps_customize_pane_content" - android:layout_width="match_parent" - android:layout_height="match_parent" - launcher:widgetCountX="@integer/apps_customize_widget_cell_count_x" - launcher:widgetCountY="@integer/apps_customize_widget_cell_count_y" - launcher:maxGap="@dimen/workspace_max_gap" - launcher:pageIndicator="@+id/apps_customize_page_indicator" /> - </FrameLayout> - <include - android:id="@+id/apps_customize_page_indicator" - layout="@layout/page_indicator" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" /> - </LinearLayout> -</com.android.launcher3.AppsCustomizeTabHost> diff --git a/res/layout/apps_list_row_view.xml b/res/layout/apps_list_row_view.xml index 83c175bb8..e80285b95 100644 --- a/res/layout/apps_list_row_view.xml +++ b/res/layout/apps_list_row_view.xml @@ -30,4 +30,4 @@ android:textColor="@color/apps_view_section_text_color" android:textSize="@dimen/apps_view_section_text_size" android:focusable="false" /> -</LinearLayout>
\ No newline at end of file +</LinearLayout> diff --git a/res/layout/apps_customize_widget.xml b/res/layout/widget_cell.xml index a8344e3ff..1286a622b 100644 --- a/res/layout/apps_customize_widget.xml +++ b/res/layout/widget_cell.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 The Android Open Source Project +<!-- Copyright (C) 2015 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -13,58 +13,26 @@ See the License for the specific language governing permissions and limitations under the License. --> -<com.android.launcher3.PagedViewWidget +<com.android.launcher3.widget.WidgetCell xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_width="wrap_content" + android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" - android:background="@drawable/focusable_view_bg" android:focusable="true"> <LinearLayout - android:orientation="horizontal" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1"> - <FrameLayout - android:id="@+id/left_border" - android:layout_width="1dp" - android:layout_height="match_parent" - android:background="@color/widget_text_panel" - android:visibility="gone" /> - - <!-- The preview of the widget or shortcut. --> - <com.android.launcher3.PagedViewWidgetImageView - android:id="@+id/widget_preview" - style="@style/PagedViewWidgetImageView" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_weight="1" - android:paddingTop="@dimen/app_widget_preview_padding_top" - android:paddingEnd="@dimen/app_widget_preview_padding_right" - android:paddingRight="@dimen/app_widget_preview_padding_right" - android:scaleType="matrix" /> - <FrameLayout - android:id="@+id/right_border" - android:layout_width="1dp" - android:layout_height="match_parent" - android:background="@color/widget_text_panel" - android:visibility="gone" /> - </LinearLayout> - - <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingTop="@dimen/app_widget_preview_label_vertical_padding" - android:paddingBottom="@dimen/app_widget_preview_label_vertical_padding" - android:paddingLeft="@dimen/app_widget_preview_label_horizontal_padding" - android:paddingRight="@dimen/app_widget_preview_label_horizontal_padding" - android:background="@color/widget_text_panel" + android:paddingTop="@dimen/widget_preview_label_vertical_padding" + android:paddingBottom="@dimen/widget_preview_label_vertical_padding" + android:paddingLeft="@dimen/widget_preview_label_horizontal_padding" + android:paddingRight="@dimen/widget_preview_label_horizontal_padding" android:orientation="horizontal"> + <!-- The name of the widget. --> <TextView android:id="@+id/widget_name" @@ -91,6 +59,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginStart="5dp" + android:layout_marginLeft="5dp" android:layout_weight="0" android:gravity="start" @@ -101,5 +70,16 @@ android:shadowColor="#B0000000" /> </LinearLayout> + <!-- The image of the widget. --> + <com.android.launcher3.widget.WidgetImageView + android:id="@+id/widget_preview" + style="@style/WidgetImageView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:paddingTop="@dimen/widget_preview_padding_top" + android:paddingEnd="@dimen/widget_preview_padding_right" + android:paddingRight="@dimen/widget_preview_padding_right" + android:scaleType="matrix" /> -</com.android.launcher3.PagedViewWidget> +</com.android.launcher3.widget.WidgetCell> diff --git a/res/layout/widgets_list_row_view.xml b/res/layout/widgets_list_row_view.xml new file mode 100644 index 000000000..c7863c7c3 --- /dev/null +++ b/res/layout/widgets_list_row_view.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/widgets_cell_list_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:layout_marginLeft="8dp" + android:layout_marginRight="8dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:focusable="true" + android:background="@drawable/focusable_view_bg" + android:descendantFocusability="afterDescendants"> + + <!-- Section info --> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:focusable="true" + android:background="@drawable/focusable_view_bg" + android:descendantFocusability="afterDescendants"> + <ImageView + android:id="@+id/section_image" + android:layout_width="@dimen/widget_section_height" + android:layout_height="@dimen/widget_section_height" + android:paddingLeft="@dimen/widget_section_icon_padding" + android:paddingRight="@dimen/widget_section_icon_padding" + android:paddingTop="@dimen/widget_section_icon_padding" + android:paddingBottom="@dimen/widget_section_icon_padding" + android:background="@color/widget_text_panel" + /> + <TextView + android:id="@+id/section" + android:layout_width="match_parent" + android:layout_height="@dimen/widget_section_height" + android:paddingTop="8dp" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:gravity="start|center_vertical" + android:textColor="@color/widgets_view_section_text_color" + android:background="@color/widget_text_panel" + android:textSize="20sp" + android:focusable="false" /> + </LinearLayout> + + <!-- Widget list --> + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_gravity="end" + > + <!-- TODO(hyunyoungs): replace the indicator with actual assets. --> + <FrameLayout + android:id="@+id/scrollable_indicator" + android:layout_gravity="center_vertical" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/ic_pageindicator_default" + android:visibility="invisible" + /> + <HorizontalScrollView + android:id="@+id/widgets_scroll_container" + android:layout_width="match_parent" + android:layout_height="@dimen/widget_cell_height" + android:scrollbars="none" > + <LinearLayout + android:id="@+id/widgets_cell_list" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="horizontal" /> + </HorizontalScrollView> + </RelativeLayout> +</LinearLayout> diff --git a/res/layout/widgets_view.xml b/res/layout/widgets_view.xml new file mode 100644 index 000000000..8e7ed161a --- /dev/null +++ b/res/layout/widgets_view.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<!-- The top and bottom paddings are defined in this container, but since we want + the list view to span the full width (for touch interception purposes), we + will bake the left/right padding into that view's background itself. --> +<com.android.launcher3.widget.WidgetsContainerView + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/widgets_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="@dimen/widget_container_inset" + android:paddingBottom="@dimen/widget_container_inset" + android:descendantFocusability="afterDescendants"> + + <!-- Temporary until finalizing on animation. --> + <include + android:id="@+id/widgets_reveal_view" + layout="@layout/apps_reveal_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_gravity="center" /> + + <LinearLayout + android:id="@+id/content" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:clipChildren="false" + android:orientation="vertical"> + + <android.support.v7.widget.RecyclerView + android:id="@+id/widgets_list_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@drawable/quantum_panel_dark"/> + </LinearLayout> +</com.android.launcher3.widget.WidgetsContainerView>
\ No newline at end of file diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml index 1b3418154..06a99842e 100644 --- a/res/values-land/dimens.xml +++ b/res/values-land/dimens.xml @@ -18,9 +18,4 @@ <!-- QSB --> <dimen name="toolbar_button_vertical_padding">8dip</dimen> <dimen name="toolbar_button_horizontal_padding">0dip</dimen> - -<!-- AppsCustomize --> - <dimen name="apps_customize_tab_bar_height">42dp</dimen> - <integer name="apps_customize_widget_cell_count_x">3</integer> - <integer name="apps_customize_widget_cell_count_y">2</integer> </resources> diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml index d80f18c9e..13a1f4098 100644 --- a/res/values-sw600dp/dimens.xml +++ b/res/values-sw600dp/dimens.xml @@ -24,11 +24,9 @@ <dimen name="apps_view_row_height">76dp</dimen> <!-- AppsCustomize --> - <dimen name="apps_customize_tab_bar_height">60dp</dimen> - <dimen name="apps_customize_tab_bar_margin_top">8dp</dimen> - <dimen name="app_widget_preview_label_margin_top">8dp</dimen> - <dimen name="app_widget_preview_label_margin_left">@dimen/app_widget_preview_padding_left</dimen> - <dimen name="app_widget_preview_label_margin_right">@dimen/app_widget_preview_padding_right</dimen> + <dimen name="widget_preview_label_margin_top">8dp</dimen> + <dimen name="widget_preview_label_margin_left">@dimen/widget_preview_padding_left</dimen> + <dimen name="widget_preview_label_margin_right">@dimen/widget_preview_padding_right</dimen> <!-- Cling --> <dimen name="cling_migration_logo_height">400dp</dimen> diff --git a/res/values-v17/styles.xml b/res/values-v17/styles.xml index 11d2a1f82..229375f85 100644 --- a/res/values-v17/styles.xml +++ b/res/values-v17/styles.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <style name="PagedViewWidgetImageView"> - <item name="android:paddingStart">@dimen/app_widget_preview_padding_left</item> + <style name="WidgetImageView"> + <item name="android:paddingStart">@dimen/widget_preview_padding_left</item> </style> </resources> diff --git a/res/values/colors.xml b/res/values/colors.xml index 590a8872b..3a06bd95a 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -36,8 +36,10 @@ <color name="outline_color">#FFFFFFFF</color> <color name="widget_text_panel">#FF374248</color> -<!-- Apps view --> + <!-- Apps view --> <color name="apps_view_scrollbar_thumb_color">#009688</color> <color name="apps_view_section_text_color">#009688</color> + <!-- Widgetss view --> + <color name="widgets_view_section_text_color">#009688</color> </resources> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 735373d69..7c99278a8 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -60,18 +60,9 @@ <dimen name="apps_view_fast_scroll_text_size">40dp</dimen> <!-- AllApps/Customize/AppsCustomize --> - <!-- The height of the tab bar - if this changes, we should update the - external icon width/height above to compensate --> - <dimen name="apps_customize_tab_bar_height">52dp</dimen> - <dimen name="apps_customize_tab_bar_margin_top">0dp</dimen> <dimen name="app_icon_size">48dp</dimen> <dimen name="apps_customize_horizontal_padding">0dp</dimen> - <!-- The AppsCustomize page indicator --> - <dimen name="apps_customize_page_indicator_height">12dp</dimen> - <dimen name="apps_customize_page_indicator_margin">4dp</dimen> - <dimen name="apps_customize_page_indicator_offset">16dp</dimen> - <!-- Drag padding to add to the bottom of drop targets --> <dimen name="drop_target_drag_padding">14dp</dimen> <dimen name="drop_target_text_size">14sp</dimen> @@ -85,12 +76,19 @@ should be. If 0, it will not be scaled at all. --> <dimen name="dragViewScale">12dp</dimen> - <!-- Padding applied to AppWidget previews --> - <dimen name="app_widget_preview_padding_left">16dp</dimen> - <dimen name="app_widget_preview_padding_right">16dp</dimen> - <dimen name="app_widget_preview_padding_top">32dp</dimen> - <dimen name="app_widget_preview_label_vertical_padding">8dp</dimen> - <dimen name="app_widget_preview_label_horizontal_padding">8dp</dimen> +<!-- Widget tray --> + <dimen name="widget_container_inset">8dp</dimen> + <dimen name="widget_preview_size">140dp</dimen> + <dimen name="widget_preview_padding_left">16dp</dimen> + <dimen name="widget_preview_padding_right">16dp</dimen> + <dimen name="widget_preview_padding_top">8dp</dimen> + <dimen name="widget_preview_label_vertical_padding">8dp</dimen> + <dimen name="widget_preview_label_horizontal_padding">8dp</dimen> + + <dimen name="widget_section_height">52dp</dimen> + <dimen name="widget_section_icon_padding">8dp</dimen> + + <dimen name="widget_cell_height">160dp</dimen> <!-- Padding applied to shortcut previews --> <dimen name="shortcut_preview_padding_left">0dp</dimen> diff --git a/res/values/styles.xml b/res/values/styles.xml index 77798f174..94efebc06 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -91,8 +91,8 @@ </style> <!-- Overridden in device overlays --> - <style name="PagedViewWidgetImageView"> - <item name="android:paddingLeft">@dimen/app_widget_preview_padding_left</item> + <style name="WidgetImageView"> + <item name="android:paddingLeft">@dimen/widget_preview_padding_left</item> </style> </resources> |