<!DOCTYPE html>
<!--
    Copyright 2022 The Cobalt Authors. All Rights Reserved.

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

<head>
    <title>Test IFA identifier</title>
</head>

<body style="background-color: white;">
    <h1>
        <div>
            <span>IFA identifier Value:</span>
            <span id="ifa_id">n/a</span>
        </div>
        <div>
            <span>Ad tracking limited:</span>
            <span id="lmt">n/a</span>
        </div>
    </h1>

    <script>
        window.onload = () => {
            var id = "Not available";
            var lmt = "Not available";
            if ('h5vcc' in window) {
                id = h5vcc.system.advertisingId;
                lmt = h5vcc.system.limitAdTracking;
            }
            document.getElementById('ifa_id').textContent = id;
            document.getElementById('lmt').textContent = lmt;
        }
    </script>
</body>
