<!--
  ~ Copyright (C) 2015 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>
    <!-- Determines the maximum number of buttons visible on the call card.  Any buttons over this
         count are put into the overflow menu. -->
    <integer name="call_card_max_buttons">5</integer>

    <!-- Determines video calls will automatically enter fullscreen mode after the start of the
         call. -->
    <bool name="video_call_auto_fullscreen">true</bool>
    <!-- The number of milliseconds after which a video call will automatically enter fullscreen
         mode (requires video_call_auto_fullscreen to be true). -->
    <integer name="video_call_auto_fullscreen_timeout">5000</integer>
</resources>