• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2
3<!--
4  ~ Copyright (C) 2021 The Android Open Source Project
5  ~
6  ~ Licensed under the Apache License, Version 2.0 (the "License");
7  ~ you may not use this file except in compliance with the License.
8  ~ You may obtain a copy of the License at
9  ~
10  ~     http://www.apache.org/licenses/LICENSE-2.0
11  ~
12  ~ Unless required by applicable law or agreed to in writing, software
13  ~ distributed under the License is distributed on an "AS IS" BASIS,
14  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  ~ See the License for the specific language governing permissions and
16  ~ limitations under the License.
17  -->
18
19<html>
20<head>
21    <script src="https://unpkg.com/showdown@1/dist/showdown.min.js"></script>
22    <script>
23        function showMarkdownFile(responseText, file) {
24            const headerLevelStart = 1;
25
26            var converter = new showdown.Converter();
27            converter.setOption("customizedHeaderId", true);
28            converter.setOption("ghCompatibleHeaderId", true);
29            converter.setOption("headerLevelStart", headerLevelStart);
30            converter.setOption("tables", true);
31
32            var divFile = document.getElementById("div-file").cloneNode(true);
33            divFile.getElementsByClassName("div-file-contents")[0].innerHTML = converter.makeHtml(responseText);
34
35            // Show file name
36            divFile.getElementsByClassName("headline-file-name")[0].id = file
37            divFile.getElementsByClassName("headline-file-name")[0].innerText = file;
38
39            // Generate table of contents
40            var toc = document.getElementById("div-toc-contents")
41
42            // Add link to title
43            var titleClone = document.getElementById("div-sample-toc-title").cloneNode(true)
44            var titleLink = titleClone.getElementsByTagName("a")[0]
45            titleLink.href = "#" + file
46            titleLink.innerText = file
47            toc.appendChild(titleClone)
48
49            var h2Elements = divFile.getElementsByClassName("div-file-contents")[0].getElementsByTagName("h" + headerLevelStart)
50            var sampleTocItem = document.getElementById("div-sample-toc-item")
51            for (let i = 0; i < h2Elements.length; i++) {
52                var clone = sampleTocItem.cloneNode(true)
53                var link = clone.getElementsByTagName("a")[0];
54                link.href = "#" + h2Elements[i].id
55                link.innerText = h2Elements[i].innerText
56                toc.appendChild(clone)
57            }
58            toc.appendChild(document.getElementById("div-sample-toc-break").cloneNode(true))
59
60            divFile.hidden = false;
61            document.body.appendChild(divFile)
62        }
63
64        document.addEventListener("DOMContentLoaded", function () {
65            resources = document.getElementsByClassName("embedded_resource");
66            for (var i = 0; i < resources.length; i++) {
67                if (!resources[i].id.endsWith("-res")) {
68                    continue;
69                }
70                if (resources[i].id === "default_file.html.frag-res") {
71                    continue;
72                }
73                file = resources[i].id.substring(0, resources[i].id.length - "-res".length)
74                console.log(file, resources[i])
75                showMarkdownFile(atob(resources[i].innerText), file)
76            }
77
78            // Decode default_file
79            document.getElementById("default_file.html.frag-res").innerHTML = atob(document.getElementById("default_file.html.frag-res").innerText);
80            default_file = document.getElementById("default_file")
81            if (default_file) {
82                document.location.href = default_file.href
83            }
84        });
85    </script>
86    <style>
87        #div-float-right {
88            position: fixed;
89            right: 0;
90            top: 0;
91        }
92    </style>
93</head>
94<body>
95<div id="div-float-right">
96    <h3 id="headline-toc">Table of contents</h3>
97    <div hidden>
98        <div id="div-sample-toc-title"><strong><a></a></strong></div>
99        <div id="div-sample-toc-item"><code><a></a></code></div>
100        <div id="div-sample-toc-break"><br /></div>
101    </div>
102    <div id="div-toc-contents">
103    </div>
104</div>
105<div id="div-file" hidden>
106    <h2 class="headline-file-name"></h2>
107    <div class="div-file-contents">
108    </div>
109</div>
110<!--RESOURCE_EMBED_HINT-->
111</body>
112</html>
113