<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2011 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- turn on/off the mini-calendar and calendar picker -->
    <!-- supported only for x-large devices  -->
    <bool name="show_calendar_controls">false</bool>
    <!-- turn on/off month with agenda view -->
    <!-- not supported for X-large devices -->
    <bool name="show_agenda_with_month">false</bool>
    <!-- when on, shows details of event in month view, when off, shows busy bits -->
    <!-- the "show details" mode is recommended for devices with large screens -->
    <bool name="show_details_in_month">false</bool>
    <!-- when on, shows the event next to the agenda list,
         when off, shows the event on top of the agenda list after it was clicked. -->
    <bool name="show_event_details_with_agenda">false</bool>
    <!-- when on, event info launched from agenda view is shown in full screen, -->
    <!-- when off, shown as a popup. -->
    <bool name="agenda_show_event_info_full_screen">true</bool>
    <!-- when on, event info launched from day/week/month view is shown in full screen, -->
    <!-- when off, shown as a popup. -->
    <bool name="show_event_info_full_screen">true</bool>
    <!--  A global var used to tablet vs phone settings -->
    <bool name="tablet_config">false</bool>
    <!--  A global var used to set the main layout theme (one pane vs multiple panes) -->
    <bool name="multiple_pane_config">false</bool>
</resources>
