<?xml version='1.0' encoding='utf-8' standalone='yes' ?>

<!-- Copyright (C) 2020 Google Inc.

    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.
-->

<displayConfiguration>
    <screenBrightnessMap>
        <point>
            <value>0.0</value>
            <nits>2.0</nits>
        </point>
        <point>
            <value>1.0</value>
            <nits>500.0</nits>
        </point>
    </screenBrightnessMap>

    <highBrightnessMode enabled="false">
        <transitionPoint>0.8</transitionPoint>
        <minimumLux>10000</minimumLux>
        <timing>
            <!-- allow for 5 minutes out of every 30 minutes -->
            <timeWindowSecs>1800</timeWindowSecs>
            <timeMaxSecs>300</timeMaxSecs>
            <timeMinSecs>60</timeMinSecs>
        </timing>
    </highBrightnessMode>
</displayConfiguration>

