<!--
  Copyright (C) 2017 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 new device intro suggestion is supported for this device -->
    <bool name="config_enableColorTemperature">true</bool>
    <bool name="config_show_camera_laser_sensor">true</bool>
    <bool name="config_show_connectivity_monitor">true</bool>
    <bool name="config_display_recent_apps">true</bool>

    <!-- Fake dimen value for restricted icon size - needed to get around Robolectric
         issue loading framework hidden resources -->
    <dimen name="restricted_icon_size">24dp</dimen>

    <!-- Fake string to avoid empty intent action -->
    <string name="config_work_policy_info_intent_action">ACTION_SHOW_WORK_POLICY_INFO</string>
</resources>
