<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2011 Google Inc.
     Licensed to 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>
    <integer-array name="conversation_heights">
        <item>64</item>
        <item>70</item>
    </integer-array>
    <integer-array name="senders_with_folders_and_attachment_lengths">
        <item>20</item>
        <item>20</item>
    </integer-array>
    <integer-array name="senders_with_folders_lengths">
        <item>22</item>
        <item>22</item>
    </integer-array>
    <integer-array name="senders_with_attachment_lengths">
        <item>25</item>
        <item>25</item>
    </integer-array>
    <integer-array name="senders_lengths">
        <item>27</item>
        <item>27</item>
    </integer-array>
    <!-- When no recent folders exist, pre-populate with these as defaults. Do not translate. -->
    <string-array translatable="false" name="default_recent_folders">
        <!-- Starred -->
        <item>^t</item>
        <!-- Sent -->
        <item>^f</item>
        <!-- Drafts -->
        <item>^r</item>
    </string-array>
</resources>
