<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2018 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>
    <integer name="biometric_dialog_text_gravity">8388611</integer> <!-- gravity start -->

    <!-- Action footer width used for layout_width to indicate WRAP_CONTENT (along with a weight of
         0) as we can allow the carrier text to stretch as far as needed in the QS footer. -->
    <integer name="qs_footer_actions_width">-2</integer>
    <integer name="qs_footer_actions_weight">0</integer>

    <!-- Maximum number of bubbles to render and animate at one time. While the animations used are
         lightweight translation animations, this number can be reduced on lower end devices if any
         performance issues arise. -->
    <integer name="bubbles_max_rendered">5</integer>

</resources>