<?xml version="1.0" encoding="utf-8"?>
<!--
    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>
    <!-- Custom attribute definitions for the CarSetupWizardLayout -->
    <declare-styleable name="CarSetupWizardLayout">
        <!-- Attributes related to the visibility of the back button -->
        <attr name="showBackButton" format="boolean"/>

        <!-- Attributes related to the visibility and text of the toolbar title -->
        <attr name="showToolbarTitle" format="boolean"/>
        <attr name="toolbarTitleText" format="string"/>

        <!--  Attributes related to the visibility and text of primary continue button -->
        <attr name="showPrimaryToolbarButton" format="boolean"/>
        <attr name="primaryToolbarButtonText" format="string"/>
        <attr name="primaryToolbarButtonEnabled" format="boolean"/>
        <attr name="primaryToolbarButtonFlat" format="boolean"/>

        <!--  Attributes related to the visibility and text of secondary continue button -->
        <attr name="showSecondaryToolbarButton" format="boolean"/>
        <attr name="secondaryToolbarButtonText" format="string"/>
        <attr name="secondaryToolbarButtonEnabled" format="boolean"/>

        <!--  Attributes related to the visibility and indeterminate/determinate state
              of the progress bar -->
        <attr name="showProgressBar" format="boolean"/>
        <attr name="indeterminateProgressBar" format="boolean"/>
    </declare-styleable>

    <!-- Custom attribute definitions for the CarSetupWizardBaseLayout -->
    <declare-styleable name="CarSetupWizardBaseLayout">
        <!-- Attributes related to the visibility of the back button -->
        <attr name="showBackButton" format="boolean"/>

        <!-- Attributes related to the visibility and text of the toolbar title -->
        <attr name="showToolbarTitle" format="boolean"/>
        <attr name="toolbarTitleText" format="string"/>

        <!--  Attributes related to the visibility and text of primary continue button -->
        <attr name="showPrimaryToolbarButton" format="boolean"/>
        <attr name="primaryToolbarButtonText" format="string"/>
        <attr name="primaryToolbarButtonEnabled" format="boolean"/>
        <attr name="primaryToolbarButtonFlat" format="boolean"/>

        <!--  Attributes related to the visibility and text of secondary continue button -->
        <attr name="showSecondaryToolbarButton" format="boolean"/>
        <attr name="secondaryToolbarButtonText" format="string"/>
        <attr name="secondaryToolbarButtonEnabled" format="boolean"/>

        <!--  Attributes related to the visibility and indeterminate/determinate state
              of the progress bar -->
        <attr name="showProgressBar" format="boolean"/>
        <attr name="indeterminateProgressBar" format="boolean"/>
    </declare-styleable>

</resources>