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

<!-- Settings screen that lets the user manage the canned responses
     for the "Respond via SMS" feature; see RespondViaSmsManager.java -->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
     android:title="@string/respond_via_sms_setting_title_2">

    <!-- Ultra-simple implementation for now: just provide 4 fixed slots
         with customizable strings. -->

    <!-- TODO: Potential UI improvements:
         (1) Allow editing the strings in place, rather than having to tap
             each one and edit it via the popup dialog.
         (2) Allow reordering the strings by drag-and-drop.
         (3) Provide an "Add new string..." option? -->

    <!-- The defaultValues here must agree with the values used with
         prefs.getString() in RespondViaSmsManager.loadCannedResponses(). -->

    <!-- Use MultiLineTitleEditTextPreference instead of the standard
         EditTextPreference here, to allow the preference "title" to wrap
         onto multiple lines if the customized messages are long enough. -->

    <com.android.server.telecom.MultiLineTitleEditTextPreference
        android:key="canned_response_pref_1"
        android:defaultValue="@string/respond_via_sms_canned_response_1"
        android:dialogTitle="@string/respond_via_sms_edittext_dialog_title" />

    <com.android.server.telecom.MultiLineTitleEditTextPreference
        android:key="canned_response_pref_2"
        android:defaultValue="@string/respond_via_sms_canned_response_2"
        android:dialogTitle="@string/respond_via_sms_edittext_dialog_title" />

    <com.android.server.telecom.MultiLineTitleEditTextPreference
        android:key="canned_response_pref_3"
        android:defaultValue="@string/respond_via_sms_canned_response_3"
        android:dialogTitle="@string/respond_via_sms_edittext_dialog_title" />

    <com.android.server.telecom.MultiLineTitleEditTextPreference
        android:key="canned_response_pref_4"
        android:defaultValue="@string/respond_via_sms_canned_response_4"
        android:dialogTitle="@string/respond_via_sms_edittext_dialog_title" />

</PreferenceScreen>
