<?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>
    <string name="config_statusBarComponent" translatable="false">
        com.android.systemui.statusbar.car.CarStatusBar
    </string>
    <string name="config_systemUIFactoryComponent" translatable="false">
        com.android.systemui.CarSystemUIFactory
    </string>

    <bool name="config_enableFullscreenUserSwitcher">true</bool>

    <!-- Configure which system bars should be displayed. -->
    <bool name="config_enableTopNavigationBar">true</bool>
    <bool name="config_enableLeftNavigationBar">false</bool>
    <bool name="config_enableRightNavigationBar">false</bool>
    <bool name="config_enableBottomNavigationBar">true</bool>

    <!-- Configure the type of each system bar. Each system bar must have a unique type. -->
    <!--    STATUS_BAR = 0-->
    <!--    NAVIGATION_BAR = 1-->
    <!--    STATUS_BAR_EXTRA = 2-->
    <!--    NAVIGATION_BAR_EXTRA = 3-->
    <integer name="config_topSystemBarType">0</integer>
    <integer name="config_leftSystemBarType">2</integer>
    <integer name="config_rightSystemBarType">3</integer>
    <integer name="config_bottomSystemBarType">1</integer>

    <!-- Configure the relative z-order among the system bars. When two system bars overlap (e.g.
         if both top bar and left bar are enabled, it creates an overlapping space in the upper left
         corner), the system bar with the higher z-order takes the overlapping space and padding is
         applied to the other bar.-->
    <!-- NOTE: If two overlapping system bars have the same z-order, SystemBarConfigs will throw a
         RuntimeException, since their placing order cannot be determined. Bars that do not overlap
         are allowed to have the same z-order. -->
    <!-- NOTE: If the z-order of a bar is 10 or above, it will also appear on top of HUN's.    -->
    <integer name="config_topSystemBarZOrder">1</integer>
    <integer name="config_leftSystemBarZOrder">0</integer>
    <integer name="config_rightSystemBarZOrder">0</integer>
    <integer name="config_bottomSystemBarZOrder">10</integer>

    <!-- If set to true, the corresponding system bar will be hidden when Keyboard (IME) appears.
         NOTE: hideBottomSystemBarKeyboard must not be overlaid directly here. To change its value,
         overlay config_automotiveHideNavBarForKeyboard in framework/base/core/res/res. -->
    <bool name="config_hideTopSystemBarForKeyboard">false</bool>
    <bool name="config_hideBottomSystemBarForKeyboard">
        @*android:bool/config_automotiveHideNavBarForKeyboard
    </bool>
    <bool name="config_hideLeftSystemBarForKeyboard">false</bool>
    <bool name="config_hideRightSystemBarForKeyboard">false</bool>

    <!-- Disable normal notification rendering; we handle that ourselves -->
    <bool name="config_renderNotifications">false</bool>

    <!-- Whether navigationBar touch events should be consumed before reaching the CarFacetButton \
         when the notification panel is open. -->
    <bool name="config_consumeNavigationBarTouchWhenNotificationPanelOpen">false</bool>

    <!-- Whether heads-up notifications should be shown when shade is open. -->
    <bool name="config_enableHeadsUpNotificationWhenNotificationShadeOpen">true</bool>
    <!-- Whether heads-up notifications should be shown on the bottom. If false, heads-up
         notifications will be shown pushed to the top of their parent container. If true, they will
         be shown pushed to the bottom of their parent container. If true, then should override
         config_headsUpNotificationAnimationHelper to use a different AnimationHelper, such as
         com.android.car.notification.headsup.animationhelper.
         CarHeadsUpNotificationBottomAnimationHelper. -->
    <bool name="config_showHeadsUpNotificationOnBottom">false</bool>

    <bool name="config_hideNavWhenKeyguardBouncerShown">true</bool>
    <bool name="config_enablePersistentDockedActivity">false</bool>
    <string name="config_persistentDockedActivityIntentUri" translatable="false"></string>

    <!-- How many icons may be shown at once in the system bar. Includes any
         slots that may be reused for things like IME control. -->
    <integer name="config_maxNotificationIcons">0</integer>

    <!--
        Initial alpha percent value for the background when the notification
        shade is open. Should be a number between, and inclusive, 0 and 100.
        If the number is 0, then the background alpha starts off fully
        transparent. If the number if 100, then the background alpha starts off
        fully opaque. -->
    <integer name="config_initialNotificationBackgroundAlpha">0</integer>
    <!--
        Final alpha percent value for the background when the notification
        shade is fully open. Should be a number between, and inclusive, 0 and
        100. If this value is smaller than
        config_initialNotificationBackgroundAlpha, the background will default
        to a constant alpha percent value using the initial alpha. -->
    <integer name="config_finalNotificationBackgroundAlpha">100</integer>

    <!-- Car System UI's OverlayViewsMediator.
         Whenever a new class is added, make sure to also add that class to OverlayWindowModule. -->
    <string-array name="config_carSystemUIOverlayViewsMediators" translatable="false">
        <item>@string/config_notificationPanelViewMediator</item>
        <item>com.android.systemui.car.keyguard.CarKeyguardViewMediator</item>
        <item>com.android.systemui.car.userswitcher.FullscreenUserSwitcherViewMediator</item>
        <item>com.android.systemui.car.userswitcher.UserSwitchTransitionViewMediator</item>
    </string-array>

    <!--
        Car SystemUI's notification mediator. Replace with other notification mediators to have
        the notification panel show from another system bar. The system bar should be enabled to
        use the mediator with that system bar.
        Example: config_enableBottomNavigationBar=true
                 config_notificationPanelViewMediator=
                    com.android.systemui.car.notification.BottomNotificationPanelViewMediator -->
    <string name="config_notificationPanelViewMediator" translatable="false">
        com.android.systemui.car.notification.TopNotificationPanelViewMediator</string>

    <!-- List of package names that are allowed sources of app installation. -->
    <string-array name="config_allowedAppInstallSources" translatable="false">
        <item>com.android.vending</item>
    </string-array>

    <!-- The list of components to exclude from config_systemUIServiceComponents. -->
    <string-array name="config_systemUIServiceComponentsExclude" translatable="false">
        <item>com.android.systemui.recents.Recents</item>
        <item>com.android.systemui.volume.VolumeUI</item>
        <item>com.android.systemui.stackdivider.Divider</item>
        <item>com.android.systemui.statusbar.phone.StatusBar</item>
        <item>com.android.systemui.keyboard.KeyboardUI</item>
        <item>com.android.systemui.pip.PipUI</item>
        <item>com.android.systemui.shortcut.ShortcutKeyDispatcher</item>
        <item>com.android.systemui.LatencyTester</item>
        <item>com.android.systemui.globalactions.GlobalActionsComponent</item>
        <item>com.android.systemui.SliceBroadcastRelayHandler</item>
        <item>com.android.systemui.statusbar.notification.InstantAppNotifier</item>
        <item>com.android.systemui.accessibility.WindowMagnification</item>
        <item>com.android.systemui.accessibility.SystemActions</item>
    </string-array>

    <!-- The list of components to append to config_systemUIServiceComponents. -->
    <string-array name="config_systemUIServiceComponentsInclude" translatable="false">
        <item>com.android.systemui.car.navigationbar.CarNavigationBar</item>
        <item>com.android.systemui.car.voicerecognition.ConnectedDeviceVoiceRecognitionNotifier</item>
        <item>com.android.systemui.car.window.SystemUIOverlayWindowManager</item>
        <item>com.android.systemui.car.volume.VolumeUI</item>
    </string-array>

    <!-- How many milliseconds to wait before force hiding the UserSwitchTransitionView -->
    <integer name="config_userSwitchTransitionViewShownTimeoutMs" translatable="false">5000</integer>
</resources>
