<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (c) 2007 Google Inc.
 *
 * 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.
 */
-->

<!-- Describes an individual toggleable folder entry to be displayed in a list of folders in
     a folder selection UI. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/folders"
    android:layout_width="match_parent"
    android:layout_height="@dimen/single_folder_list_item_height"
    android:layout_gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeight">

    <!-- Note: the checkbox is not focusable because the parent list item itself handles
         the toggling -->
    <ImageView
        android:id="@+id/folder_icon"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_gravity="center_vertical"
        style="@style/SingleFolderListIconStyle" />

    <CheckedTextView android:id="@+id/checkbox"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:gravity="center_vertical"
        style="@style/MultiFolderSelectionItemStyle"/>

</LinearLayout>
