<?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.
-->

<resources xmlns:tools="http://schemas.android.com/tools">

    <item name="sud_template" type="layout">@layout/sud_template_header</item>

    <!-- Ignore UnusedResources: can be used by clients -->
    <item name="sud_template_short" type="layout" tools:ignore="UnusedResources">@layout/sud_template_header_collapsed</item>

    <item name="sud_list_template" type="layout">@layout/sud_list_template_header</item>

    <!-- Ignore UnusedResources: can be used by clients -->
    <item name="sud_list_template_short" type="layout" tools:ignore="UnusedResources">@layout/sud_list_template_header_collapsed</item>

    <!-- Ignore UnusedResources: can be used by clients -->
    <item name="sud_no_scroll_template" type="layout" tools:ignore="UnusedResources">@layout/sud_no_scroll_template_header</item>

    <!-- Ignore UnusedResources: can be used by clients -->
    <item name="sud_no_scroll_template_short" type="layout" tools:ignore="UnusedResources">@layout/sud_no_scroll_template_header_collapsed</item>

    <item name="sud_glif_template" type="layout">@layout/sud_glif_template_compact</item>

    <item name="sud_glif_list_template" type="layout">@layout/sud_glif_list_template_compact</item>

    <!-- Ignore UnusedResources: can be used by clients -->
    <item name="sud_glif_blank_template" type="layout" tools:ignore="UnusedResources">@layout/sud_glif_blank_template_compact</item>

    <item name="sud_preference_recycler_view" type="layout">@layout/sud_preference_recycler_view_header</item>
    <item name="sud_preference_template" type="layout">@layout/sud_preference_template_header</item>
    <item name="sud_recycler_template" type="layout">@layout/sud_recycler_template_header</item>

    <item
        name="sud_recycler_template_short"
        type="layout"
        tools:ignore="UnusedResources">@layout/sud_recycler_template_header_collapsed</item>
    <!-- Ignore UnusedResources: can be used by clients -->

    <item name="sud_glif_preference_template" type="layout">@layout/sud_glif_blank_template_compact</item>
    <item name="sud_glif_recycler_template" type="layout">@layout/sud_glif_recycler_template_compact</item>
</resources>

