6e74e899d3
- Instead of creating our own drag view within the container, and handling logic to determine when to start a real drag, we start the drag immediately and just defer onDragStart(). - To determine when the deferred drag should start, we add a DeferDragCondition to DragOptions. The default DeferDragCondition never defers a drag, but is overridden for apps with shortcuts to defer until the icon is dragged a given distance. - Because the drag is handled in DragController, including checking when to start the deferred drag, DeepShortcutsContainer no longer needs to handle touch events and ShortcutsContainerListener has been removed. This change has several immediate benefits: - The code is much cleaner, because it allows touch handling to be done by the DragController through the normal drag flow, without recreating logic in ShortcutsContainerListener/DeepShortcutContainer. - The janky second haptic feedback has been removed (now it vibrates when you long press, like everywhere else, but not again when the shortcuts close after dragging a distance). - Drops are animated, instead of just popping the icon back into place. Bug: 30769920 Bug: 30465972 Bug: 31533078 Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
186 lines
8.7 KiB
XML
186 lines
8.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2009 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.
|
|
-->
|
|
|
|
<resources>
|
|
<!-- Dynamic Grid -->
|
|
<dimen name="dynamic_grid_edge_margin">8dp</dimen>
|
|
<dimen name="dynamic_grid_page_indicator_height">28dp</dimen>
|
|
<dimen name="dynamic_grid_page_indicator_line_height">1dp</dimen>
|
|
<dimen name="dynamic_grid_page_indicator_gutter_width_left_nav_bar">38dp</dimen>
|
|
<dimen name="dynamic_grid_page_indicator_gutter_width_right_nav_bar">48dp</dimen>
|
|
<dimen name="dynamic_grid_icon_drawable_padding">8dp</dimen>
|
|
<dimen name="dynamic_grid_overview_min_icon_zone_height">80dp</dimen>
|
|
<dimen name="dynamic_grid_overview_max_icon_zone_height">120dp</dimen>
|
|
<dimen name="dynamic_grid_overview_bar_item_width">80dp</dimen>
|
|
<dimen name="dynamic_grid_overview_bar_spacer_width">25dp</dimen>
|
|
<dimen name="dynamic_grid_hotseat_height">88dp</dimen>
|
|
<dimen name="dynamic_grid_hotseat_top_padding">8dp</dimen>
|
|
<dimen name="dynamic_grid_hotseat_gutter_width">24dp</dimen>
|
|
<dimen name="dynamic_grid_workspace_top_padding">12dp</dimen>
|
|
<dimen name="dynamic_grid_workspace_page_spacing">8dp</dimen>
|
|
<!-- Minimum space between workspace and hotseat in spring loaded mode -->
|
|
<dimen name="dynamic_grid_min_spring_loaded_space">8dp</dimen>
|
|
<dimen name="dynamic_grid_container_land_left_padding">118dp</dimen>
|
|
<dimen name="dynamic_grid_container_land_right_padding">66dp</dimen>
|
|
|
|
<!-- Drop target bar -->
|
|
<dimen name="dynamic_grid_drop_target_size">48dp</dimen>
|
|
<dimen name="vert_drop_target_vertical_gap">20dp</dimen>
|
|
<dimen name="vert_drop_target_horizontal_gap">14dp</dimen>
|
|
|
|
<!-- App Widget resize frame -->
|
|
<dimen name="default_widget_padding">8dp</dimen>
|
|
<dimen name="widget_handle_margin">13dp</dimen>
|
|
<dimen name="resize_frame_background_padding">24dp</dimen>
|
|
|
|
<!-- Container -->
|
|
<!-- Note: This needs to match the fixed insets for the search box. -->
|
|
<dimen name="container_bounds_inset">8dp</dimen>
|
|
<!-- Notes: container_bounds_inset - quantum_panel_outer_padding -->
|
|
<dimen name="container_bounds_minus_quantum_panel_padding_inset">4dp</dimen>
|
|
|
|
<dimen name="container_fastscroll_thumb_min_width">5dp</dimen>
|
|
<dimen name="container_fastscroll_thumb_max_width">9dp</dimen>
|
|
<dimen name="container_fastscroll_thumb_height">72dp</dimen>
|
|
<dimen name="container_fastscroll_thumb_touch_inset">-24dp</dimen>
|
|
<dimen name="container_fastscroll_popup_size">72dp</dimen>
|
|
<dimen name="container_fastscroll_popup_text_size">48dp</dimen>
|
|
|
|
<!-- All Apps -->
|
|
<dimen name="all_apps_button_scale_down">0dp</dimen>
|
|
<dimen name="all_apps_grid_view_start_margin">0dp</dimen>
|
|
<dimen name="all_apps_grid_section_y_offset">8dp</dimen>
|
|
<dimen name="all_apps_grid_section_text_size">24sp</dimen>
|
|
<dimen name="all_apps_search_bar_height">60dp</dimen>
|
|
<dimen name="all_apps_search_bar_margin_top">12dp</dimen>
|
|
<dimen name="all_apps_search_bar_icon_margin_right">4dp</dimen>
|
|
<dimen name="all_apps_search_bar_icon_margin_top">1dp</dimen>
|
|
<dimen name="all_apps_list_bottom_padding">8dp</dimen>
|
|
<dimen name="all_apps_empty_search_message_top_offset">40dp</dimen>
|
|
<dimen name="all_apps_empty_search_bg_top_offset">144dp</dimen>
|
|
<dimen name="all_apps_background_canvas_width">700dp</dimen>
|
|
<dimen name="all_apps_background_canvas_height">475dp</dimen>
|
|
<dimen name="all_apps_caret_stroke_width">2dp</dimen>
|
|
<dimen name="all_apps_caret_shadow_spread">1dp</dimen>
|
|
<dimen name="all_apps_caret_size">13dp</dimen>
|
|
<dimen name="all_apps_caret_workspace_offset">4dp</dimen>
|
|
|
|
<!-- Search bar in All Apps -->
|
|
<dimen name="all_apps_header_max_elevation">3dp</dimen>
|
|
<dimen name="all_apps_header_scroll_to_elevation">16dp</dimen>
|
|
<dimen name="all_apps_header_shadow_height">6dp</dimen>
|
|
|
|
<dimen name="all_apps_divider_margin_vertical">8dp</dimen>
|
|
|
|
<dimen name="all_apps_bezel_swipe_height">24dp</dimen>
|
|
|
|
<!-- Widget tray -->
|
|
<dimen name="widget_preview_label_vertical_padding">8dp</dimen>
|
|
<dimen name="widget_preview_label_horizontal_padding">8dp</dimen>
|
|
|
|
<dimen name="widget_section_height">56dp</dimen>
|
|
<dimen name="widget_section_icon_size">40dp</dimen>
|
|
<dimen name="widget_section_vertical_padding">8dp</dimen>
|
|
<dimen name="widget_section_horizontal_padding">16dp</dimen>
|
|
<dimen name="widget_section_indent">0dp</dimen>
|
|
|
|
<dimen name="widget_row_padding">8dp</dimen>
|
|
<dimen name="widget_row_divider">2dp</dimen>
|
|
|
|
<!-- Padding applied to shortcut previews -->
|
|
<dimen name="shortcut_preview_padding_left">0dp</dimen>
|
|
<dimen name="shortcut_preview_padding_right">0dp</dimen>
|
|
<dimen name="shortcut_preview_padding_top">0dp</dimen>
|
|
|
|
<!-- Dragging -->
|
|
<!-- 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>
|
|
|
|
<!-- the distance an icon must be dragged before button drop targets accept it -->
|
|
<dimen name="drag_distanceThreshold">30dp</dimen>
|
|
|
|
<!-- the area at the edge of the screen that makes the workspace go left
|
|
or right while you're dragging. -->
|
|
<dimen name="scroll_zone">20dp</dimen>
|
|
|
|
<!-- When dragging an item, how much bigger (fixed dps) the dragged view
|
|
should be. If 0, it will not be scaled at all. -->
|
|
<dimen name="dragViewScale">12dp</dimen>
|
|
|
|
<!-- Elevation for the drag view. It should be larger than elevation of all other drag sources
|
|
and drop targets like all-apps and folders -->
|
|
<dimen name="drag_elevation">30dp</dimen>
|
|
|
|
<dimen name="drag_flingToDeleteMinVelocity">-1500dp</dimen>
|
|
|
|
<dimen name="spring_loaded_panel_border">1dp</dimen>
|
|
|
|
<!-- Theme -->
|
|
<dimen name="quantum_panel_outer_padding">4dp</dimen>
|
|
|
|
<!-- Folders -->
|
|
<!-- The size of the padding on the preview background drawable -->
|
|
<dimen name="folder_preview_padding">6dp</dimen>
|
|
<dimen name="page_indicator_dot_size">8dp</dimen>
|
|
|
|
<dimen name="folder_cell_x_padding">9dp</dimen>
|
|
<dimen name="folder_cell_y_padding">8dp</dimen>
|
|
<dimen name="folder_child_text_size">13sp</dimen>
|
|
<dimen name="folder_label_padding">12dp</dimen>
|
|
<dimen name="folder_label_text_size">14sp</dimen>
|
|
|
|
<!-- Sizes for managed profile badges -->
|
|
<dimen name="profile_badge_size">24dp</dimen>
|
|
<dimen name="profile_badge_margin">5dp</dimen>
|
|
<dimen name="profile_badge_minimum_top">2dp</dimen>
|
|
|
|
<!-- Shadows and outlines -->
|
|
<dimen name="blur_size_thin_outline">1dp</dimen>
|
|
<dimen name="blur_size_medium_outline">2dp</dimen>
|
|
<dimen name="blur_size_click_shadow">4dp</dimen>
|
|
<dimen name="click_shadow_high_shift">2dp</dimen>
|
|
|
|
<!-- Pending widget -->
|
|
<dimen name="pending_widget_min_padding">8dp</dimen>
|
|
<dimen name="pending_widget_elevation">2dp</dimen>
|
|
|
|
<!-- Deep shortcuts -->
|
|
<dimen name="deep_shortcuts_elevation">9dp</dimen>
|
|
<dimen name="bg_pill_width">208dp</dimen>
|
|
<dimen name="bg_pill_height">48dp</dimen>
|
|
<dimen name="bg_pill_radius">24dp</dimen>
|
|
<dimen name="deep_shortcuts_spacing">4dp</dimen>
|
|
<dimen name="deferred_drag_view_scale">6dp</dimen>
|
|
<!-- an icon with shortcuts must be dragged this far before the container is removed. -->
|
|
<dimen name="deep_shortcuts_start_drag_threshold">16dp</dimen>
|
|
<dimen name="deep_shortcut_icon_size">36dp</dimen>
|
|
<dimen name="deep_shortcut_padding_start">6dp</dimen>
|
|
<dimen name="deep_shortcut_padding_end">16dp</dimen>
|
|
<dimen name="deep_shortcut_drawable_padding">8dp</dimen>
|
|
<dimen name="deep_shortcut_anim_translation_y">5dp</dimen>
|
|
<dimen name="deep_shortcut_drag_handle_size">16dp</dimen>
|
|
<dimen name="deep_shortcuts_arrow_width">10dp</dimen>
|
|
<dimen name="deep_shortcuts_arrow_height">8dp</dimen>
|
|
<dimen name="deep_shortcuts_arrow_vertical_offset">-2dp</dimen>
|
|
<!-- deep_shortcut_padding_start + deep_shortcut_icon_size / 2 - deep_shortcuts_arrow_width / 2-->
|
|
<!-- Note that this works for right-aligned shortcuts, too, because
|
|
deep_shortcut_padding_end + deep_shortcut_drag_handle_size / 2 - deep_shortcuts_arrow_width / 2
|
|
also happens to equal 19dp-->
|
|
<dimen name="deep_shortcuts_arrow_horizontal_offset">19dp</dimen>
|
|
|
|
</resources>
|