<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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>
    <!-- Miscellaneous -->
    <bool name="config_largeHeap">false</bool>

    <integer name="extracted_color_gradient_alpha">153</integer>

    <!-- A string pointer to the original app name string. This allows derived projects to
     easily override the app name without providing all translations -->
    <string name="derived_app_name" translatable="false">@string/app_name</string>

    <!-- String representing the intent for search on the apps market. To specify a query, add
    q=<query> to the data to the intent -->
    <string name="market_search_intent" translatable="false">market://search?c=apps</string>

    <!-- String representing the intent to delete a package.-->
    <string name="delete_package_intent" translatable="false">#Intent;action=android.intent.action.DELETE;launchFlags=0x10800000;end</string>

    <!-- String representing the fragment class for settings activity.-->
    <string name="settings_fragment_name" translatable="false">com.android.launcher3.settings.SettingsActivity$LauncherSettingsFragment</string>

    <!-- DragController -->
    <item type="id" name="drag_event_parity" />

    <!-- AllApps & Launcher transitions -->
    <!-- The duration of the animation from search hint to text entry -->
    <integer name="config_searchHintAnimationDuration">50</integer>

    <!-- The duration of the PagedView page snap animation -->
    <integer name="config_pageSnapAnimationDuration">750</integer>

    <!-- View tag key used to store SpringAnimation data. -->
    <item type="id" name="spring_animation_tag" />

    <!-- View tag key used to determine if we should fade in the child views.. -->
    <string name="popup_container_iterate_children" translatable="false">popup_container_iterate_children</string>

    <!-- Workspace -->
    <!-- The duration (in ms) of the fade animation on the object outlines, used when
         we are dragging objects around on the home screen. -->
    <integer name="config_dragOutlineFadeTime">500</integer>

    <!-- The alpha value at which to show the most recent drop visualization outline. -->
    <integer name="config_dragOutlineMaxAlpha">255</integer>

    <!-- Parameters controlling the animation for when an item is dropped on the home screen,
         and it animates from its old position to the new one. -->
    <integer name="config_dropAnimMinDuration">100</integer>
    <integer name="config_dropAnimMaxDuration">500</integer>

    <!-- The duration of the UserFolder opening and closing animation -->
    <integer name="config_materialFolderExpandDuration">200</integer>
    <integer name="config_folderDelay">30</integer>

    <!-- The distance at which the animation should take the max duration -->
    <integer name="config_dropAnimMaxDist">800</integer>

    <!-- The duration of the caret animation -->
    <integer name="config_caretAnimationDuration">200</integer>

    <!-- Various classes overriden by projects/build flavors. -->
    <string name="folder_name_provider_class" translatable="false"></string>
    <string name="stats_log_manager_class" translatable="false"></string>
    <string name="instant_app_resolver_class" translatable="false"></string>
    <string name="main_process_initializer_class" translatable="false"></string>
    <string name="app_launch_tracker_class" translatable="false"></string>
    <string name="test_information_handler_class" translatable="false"></string>
    <string name="launcher_activity_logic_class" translatable="false"></string>
    <string name="model_delegate_class" translatable="false"></string>
    <string name="window_manager_proxy_class" translatable="false"></string>
    <string name="secondary_display_predictions_class" translatable="false"></string>
    <string name="widget_holder_factory_class" translatable="false"></string>
    <string name="taskbar_search_session_controller_class" translatable="false"></string>
    <string name="taskbar_model_callbacks_factory_class" translatable="false"></string>
    <string name="launcher_restore_event_logger_class" translatable="false"></string>

    <!-- View ID to use for QSB widget -->
    <item type="id" name="qsb_widget" />

    <!-- View ID used by cell layout to jail its content -->
    <item type="id" name="cell_layout_jail_id" />

    <!-- View IDs to store item highlight information -->
    <item type="id" name="view_unhighlight_background" />

    <!-- view ID used to restore work tab state -->
    <item type="id" name="work_tab_state_id" />

    <!-- Menu id for feature flags -->
    <item type="id" name="menu_apply_flags" />

    <!-- Default packages -->
    <string name="wallpaper_picker_package" translatable="false"></string>
    <string name="local_colors_extraction_class" translatable="false"></string>
    <string name="search_session_manager_class" translatable="false"></string>

    <!-- Accessibility actions -->
    <item type="id" name="action_remove" />
    <item type="id" name="action_uninstall" />
    <item type="id" name="action_reconfigure" />
    <item type="id" name="action_add_to_workspace" />
    <item type="id" name="action_move" />
    <item type="id" name="action_move_to_workspace" />
    <item type="id" name="action_move_screen_backwards" />
    <item type="id" name="action_move_screen_forwards" />
    <item type="id" name="action_resize" />
    <item type="id" name="action_deep_shortcuts" />
    <item type="id" name="action_shortcuts_and_notifications"/>
    <item type="id" name="action_dismiss_notification" />
    <item type="id" name="action_remote_action_shortcut" />
    <item type="id" name="action_dismiss_prediction" />
    <item type="id" name="action_pin_prediction"/>

    <!-- QSB IDs. DO not change -->
    <item type="id" name="search_container_workspace" />
    <item type="id" name="search_container_all_apps" />
    <item type="id" name="search_container_hotseat" />

    <!-- Scalable Grid configuration -->
    <!-- This is a float because it is converted to dp later in DeviceProfile -->
    <dimen name="hotseat_bar_bottom_space_default">48</dimen>
    <dimen name="hotseat_qsb_space_default">0</dimen>

    <!-- Recents -->
    <item type="id" name="overview_panel"/>

    <!-- Whether to enable background preloading of task thumbnails. -->
    <bool name="config_enableTaskSnapshotPreloading">true</bool>

    <!-- Configuration resources -->
    <item name="all_apps_spring_damping_ratio" type="dimen" format="float">0.75</item>
    <item name="all_apps_spring_stiffness" type="dimen" format="float">600</item>

    <item name="dismiss_task_trans_y_damping_ratio" type="dimen" format="float">0.73</item>
    <item name="dismiss_task_trans_y_stiffness" type="dimen" format="float">800</item>

    <item name="dismiss_task_trans_x_damping_ratio" type="dimen" format="float">0.73</item>
    <item name="dismiss_task_trans_x_stiffness" type="dimen" format="float">800</item>

    <item name="horizontal_spring_damping_ratio" type="dimen" format="float">0.8</item>
    <item name="horizontal_spring_stiffness" type="dimen" format="float">250</item>

    <item name="swipe_up_rect_scale_damping_ratio" type="dimen" format="float">0.75</item>
    <item name="swipe_up_rect_scale_stiffness" type="dimen" format="float">200</item>
    <item name="swipe_up_rect_scale_higher_stiffness" type="dimen" format="float">400</item>

    <item name="swipe_up_rect_xy_fling_friction" type="dimen" format="float">1.5</item>

    <item name="swipe_up_scale_start"  type="dimen" format="float">0.88</item>

    <item name="swipe_up_rect_xy_damping_ratio" type="dimen" format="float">0.8</item>
    <item name="swipe_up_rect_xy_stiffness" type="dimen" format="float">200</item>

    <!-- Taskbar -->
    <!-- This is a float because it is converted to dp later in DeviceProfile -->
    <item name="taskbar_icon_size" type="dimen" format="float">0</item>

    <!-- These params are only used for hotseat items on devices that have a taskbar. -->
    <item name="taskbar_swipe_up_rect_x_stiffness" type="dimen" format="float">350</item>
    <item name="taskbar_swipe_up_rect_x_damping" type="dimen" format="float">0.9</item>
    <item name="taskbar_swipe_up_rect_y_stiffness" type="dimen" format="float">200</item>
    <item name="taskbar_swipe_up_rect_y_damping" type="dimen" format="float">0.78</item>
    <item name="taskbar_swipe_up_rect_scale_stiffness" type="dimen" format="float">200</item>

    <item name="staggered_damping_ratio" type="dimen" format="float">0.7</item>
    <item name="staggered_stiffness" type="dimen" format="float">150</item>
    <dimen name="unlock_staggered_velocity_dp_per_s">2dp</dimen>

    <item name="hint_scale_damping_ratio" type="dimen" format="float">0.7</item>
    <item name="hint_scale_stiffness" type="dimen" format="float">200</item>
    <dimen name="hint_scale_velocity_dp_per_s">0.3dp</dimen>

    <!-- Swipe up to home related -->
    <dimen name="swipe_up_fling_min_visible_change">18dp</dimen>
    <dimen name="swipe_up_max_workspace_trans_y">-60dp</dimen>
    <dimen name="swipe_up_max_velocity">7.619dp</dimen>

    <array name="dynamic_resources">
        <item>@dimen/swipe_up_scale_start</item>
        <item>@dimen/swipe_up_max_velocity</item>
    </array>

    <string-array name="filtered_components" ></string-array>

    <!-- Name of the class used to generate colors from the wallpaper colors. Must be implementing the LauncherAppWidgetHostView.ColorGenerator interface. -->
    <string name="color_generator_class" translatable="false"/>

    <!-- Swipe back to home related -->
    <dimen name="swipe_back_window_scale_x_margin">10dp</dimen>
    <dimen name="swipe_back_window_max_delta_y">160dp</dimen>
    <dimen name="swipe_back_window_corner_radius">40dp</dimen>

    <!-- The duration of the bottom sheet opening and closing animation -->
    <integer name="config_bottomSheetOpenDuration">267</integer>
    <integer name="config_bottomSheetCloseDuration">267</integer>

    <!-- The duration of the AllApps opening and closing animation -->
    <integer name="config_allAppsOpenDuration">600</integer>
    <integer name="config_allAppsCloseDuration">300</integer>

    <!-- The max scale for the wallpaper when it's zoomed in -->
    <item name="config_wallpaperMaxScale" format="float" type="dimen">0</item>

    <!-- Whether the floating rotation button should be on the left/right in the device's natural
         orientation -->
    <bool name="floating_rotation_button_position_left">true</bool>

    <!--  Mapping of visual icon size to XML value http://b/235886078  -->
    <dimen name="iconSize48dp">52dp</dimen>
    <dimen name="iconSize50dp">55dp</dimen>
    <dimen name="iconSize52dp">57dp</dimen>
    <dimen name="iconSize54dp">59dp</dimen>
    <dimen name="iconSize56dp">61dp</dimen>
    <dimen name="iconSize58dp">63dp</dimen>
    <dimen name="iconSize60dp">66dp</dimen>
    <dimen name="iconSize66dp">72dp</dimen>
    <dimen name="iconSize72dp">79dp</dimen>
    <dimen name="iconSize82dp">90dp</dimen>
    <dimen name="iconSize110dp">121dp</dimen>
    <dimen name="iconSize144dp">158dp</dimen>


    <!--  Icon size steps in dp  -->
    <integer-array name="icon_size_steps">
        <item>@dimen/iconSize48dp</item>
        <item>@dimen/iconSize50dp</item>
        <item>@dimen/iconSize52dp</item>
        <item>@dimen/iconSize54dp</item>
        <item>@dimen/iconSize56dp</item>
        <item>@dimen/iconSize58dp</item>
        <item>@dimen/iconSize60dp</item>
        <item>@dimen/iconSize66dp</item>
        <item>@dimen/iconSize72dp</item>
        <item>@dimen/iconSize82dp</item>
        <item>@dimen/iconSize110dp</item>
        <item>@dimen/iconSize144dp</item>
    </integer-array>

    <dimen name="minimum_icon_label_size">8sp</dimen>

    <!--  Used for custom widgets  -->
    <array name="custom_widget_providers"/>
</resources>
