<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 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>
    <!-- Whether or not the dock settings are to be displayed for this device when docked -->
    <bool name="has_dock_settings">false</bool>
    <!-- Whether there is a silent mode checkbox  -->
    <bool name="has_silent_mode">true</bool>
    <!-- Whether the DEPRECATED power control widget is enabled for this
         device. Should be overridden for specific product builds. -->
    <bool name="has_powercontrol_widget">false</bool>

    <!-- Display additional System Update menu if true -->
    <bool name="config_additional_system_update_setting_enable">false</bool>

    <!-- Whether the bluetooth activation confirmation dialogs should be auto dismissed.
         Can be overridden for specific product builds. -->
    <bool name="auto_confirm_bluetooth_activation_dialog">false</bool>

    <!-- Whether to show a preference item for the manual in About phone -->
    <bool name="config_show_manual">false</bool>
    <!-- Whether to show a preference item for regulatory information in About phone -->
    <bool name="config_show_regulatory_info">false</bool>

    <!-- Whether to show a preference item for mobile plan -->
    <bool name="config_show_mobile_plan">true</bool>

    <!-- Whether none security option is hide or not  (country specific). -->
    <bool name="config_hide_none_security_option">false</bool>

    <!--Whether the storage manager exists. -->
    <bool name="config_has_storage_manager">false</bool>

    <!--Whether help links are defined. -->
    <bool name="config_has_help">false</bool>
</resources>
