<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2020 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>
    <item type="id" name="apps_list_view_work" />
    <item type="id" name="view_type_widgets_space" />
    <item type="id" name="view_type_widgets_list" />
    <item type="id" name="view_type_widgets_header" />
    <!--  Used for A11y actions in staged split to identify each task uniquely  -->
    <item type="id" name="split_topLeft_appInfo" />
    <item type="id" name="split_bottomRight_appInfo" />


    <!--  Do not change, must be kept in sync with sysui navbar button IDs for tests!  -->
    <item type="id" name="home" />
    <item type="id" name="recent_apps" />
    <item type="id" name="back" />
    <item type="id" name="close"/>
    <item type="id" name="ime_switcher" />
    <item type="id" name="accessibility_button" />
    <item type="id" name="rotate_suggestion" />
    <item type="id" name="space" />
    <!--  /Do not change, must be kept in sync with sysui navbar button IDs for tests!  -->

    <item type="id" name="quick_settings_button" />
    <item type="id" name="notifications_button" />
    <item type="id" name="cache_entry_tag_id" />

    <item type="id" name="saved_clip_children_tag_id" />

    <item type="id" name="saved_floating_widget_foreground" />
    <item type="id" name="saved_floating_widget_background" />

    <item type="id" name="dismiss_view" />

    <!-- Private Space parameters -->
    <item type="id" name="ps_container_header" />
    <item type="id" name="ps_lock_unlock_button" />
    <item type="id" name="ps_settings_button" />
    <item type="id" name="ps_transition_image" />

</resources>
