<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 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>
    <!-- The EditText for entries in the ContactEditFragment -->
    <item type="id" name="data"/>
    <item type="id" name="header_phones"/>
    <item type="id" name="dialog_sync_add"/>

    <!-- For ContactDeletionInteraction -->
    <item type="id" name="dialog_delete_contact_confirmation"/>
    <item type="id" name="dialog_delete_contact_loader_id" />

    <!-- For PhoneNumberInteraction -->
    <item type="id" name="dialog_phone_number_call_disambiguation"/>

    <!-- For PhoneNumberMessageSendInteraction -->
    <item type="id" name="dialog_phone_number_message_disambiguation"/>

    <!-- Dialog Manager Ids -->
    <item type="id" name="dialog_manager_id_1"/>
    <item type="id" name="dialog_manager_id_2"/>

    <!-- Loader ID for contact filters -->
    <item type="id" name="contact_list_filter_loader" />

    <!-- Dialog ID for the date picker in event (birthday) editors -->
    <item type="id" name="dialog_event_date_picker" />

    <!-- An ID to be used for contents of a custom dialog so that its state be preserved -->
    <item type="id" name="custom_dialog_content" />
</resources>
