<?xml version="1.0" encoding="utf-8"?>
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:validate="http://schemas.android.com/apk/res-auto">

    <PreferenceCategory
        android:key="@string/key_nsclientinternal_settings"
        android:title="@string/nsclientinternal_title"
        app:initialExpandedChildrenCount="0">

        <info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
            android:defaultValue="https://{YOUR-SITE}.azurewebsites.net/"
            android:dialogMessage="@string/nsclientinternal_url_dialogmessage"
            android:inputType="textUri"
            android:key="@string/key_nsclientinternal_url"
            android:selectAllOnFocus="true"
            android:title="@string/nsclientinternal_url_title"
            validate:testType="httpsUrl" />

        <info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
            android:dialogMessage="@string/nsclientinternal_secret_dialogmessage"
            android:dialogTitle="@string/nsclientinternal_secret_dialogtitle"
            android:inputType="textPassword"
            android:key="@string/key_nsclientinternal_api_secret"
            android:title="@string/nsclientinternal_secret_title"
            validate:minLength="12"
            validate:testType="minLength"/>

        <androidx.preference.PreferenceScreen
            android:key="@string/ns_sync_options"
            android:title="@string/ns_sync_options">

            <SwitchPreference
                android:defaultValue="true"
                android:key="@string/key_ns_upload"
                android:summary="@string/ns_upload_summary"
                android:title="@string/ns_upload" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_cgm"
                android:summary="@string/ns_receive_cgm_summary"
                android:title="@string/ns_receive_cgm" />

            <SwitchPreference
                android:defaultValue="true"
                android:key="@string/key_ns_receive_profile_store"
                android:summary="@string/ns_receive_profile_store_summary"
                android:title="@string/ns_receive_profile_store" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_temp_target"
                android:summary="@string/ns_receive_temp_target_summary"
                android:title="@string/ns_receive_temp_target" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_profile_switch"
                android:summary="@string/ns_receive_profile_switch_summary"
                android:title="@string/ns_receive_profile_switch" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_insulin"
                android:summary="@string/ns_receive_insulin_summary"
                android:title="@string/ns_receive_insulin" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_carbs"
                android:summary="@string/ns_receive_carbs_summary"
                android:title="@string/ns_receive_carbs" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_therapy_events"
                android:summary="@string/ns_receive_therapy_events_summary"
                android:title="@string/ns_receive_therapy_events" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_receive_offline_event"
                android:summary="@string/ns_receive_offline_event_summary"
                android:title="@string/ns_receive_offline_event" />

        </androidx.preference.PreferenceScreen>>

        <androidx.preference.PreferenceScreen
            android:key="@string/ns_alarmoptions"
            android:title="@string/ns_alarmoptions">

            <SwitchPreference
                android:key="@string/key_ns_alarms"
                android:title="@string/ns_alarms" />

            <SwitchPreference
                android:key="@string/key_ns_announcements"
                android:title="@string/ns_announcements" />

            <info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
                android:defaultValue="16"
                android:digits="0123456789"
                android:inputType="number"
                android:key="@string/key_nsalarm_staledatavalue"
                android:maxLines="20"
                android:selectAllOnFocus="true"
                android:singleLine="true"
                android:title="@string/nsalarm_staledatavalue_label"
                validate:maxNumber="120"
                validate:minNumber="15"
                validate:testType="numericRange" />

            <info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference
                android:defaultValue="31"
                android:digits="0123456789"
                android:inputType="number"
                android:key="@string/key_nsalarm_urgent_staledatavalue"
                android:maxLines="20"
                android:selectAllOnFocus="true"
                android:singleLine="true"
                android:title="@string/nsalarm_urgent_staledatavalue_label"
                validate:maxNumber="180"
                validate:minNumber="30"
                validate:testType="numericRange" />

        </androidx.preference.PreferenceScreen>

        <androidx.preference.PreferenceScreen
            android:key="@string/connectionsettings_title"
            android:title="@string/connectionsettings_title">

            <SwitchPreference
                android:defaultValue="false"
                android:disableDependentsState="true"
                android:key="@string/key_ns_wifionly"
                android:title="@string/ns_wifionly" />

            <EditTextPreference
                android:dialogMessage="@string/ns_wifi_allowedssids"
                android:inputType="text"
                android:key="@string/key_ns_wifi_ssids"
                android:title="@string/ns_wifi_ssids" />

            <SwitchPreference
                android:defaultValue="true"
                android:dependency="@string/key_ns_wifionly"
                android:key="@string/key_ns_allowroaming"
                android:title="@string/ns_allowroaming" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_chargingonly"
                android:title="@string/ns_chargingonly" />

        </androidx.preference.PreferenceScreen>

        <androidx.preference.PreferenceScreen
            android:key="absorption_nsclient_advanced"
            android:title="@string/advancedsettings_title">

            <SwitchPreference
                android:defaultValue="true"
                android:key="@string/key_ns_logappstartedevent"
                android:title="@string/ns_logappstartedevent"
                android:summary="@string/ns_logappstartedevent"
                />

            <SwitchPreference
                android:defaultValue="true"
                android:key="@string/key_ns_create_announcements_from_errors"
                android:summary="@string/ns_create_announcements_from_errors_summary"
                android:title="@string/ns_create_announcements_from_errors_title" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_create_announcements_from_carbs_req"
                android:summary="@string/ns_create_announcements_from_carbs_req_summary"
                android:title="@string/ns_create_announcements_from_carbs_req_title" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_nsclient_localbroadcasts"
                android:summary="@string/ns_localbroadcasts"
                android:title="@string/ns_localbroadcasts_title" />

            <SwitchPreference
                android:defaultValue="false"
                android:key="@string/key_ns_sync_use_absolute"
                android:title="@string/ns_sync_use_absolute_title" />

        </androidx.preference.PreferenceScreen>

    </PreferenceCategory>

</androidx.preference.PreferenceScreen>