customizations.cs revision c997cf910b2634096377042e202aa6b140845a53
1<?cs
2def:mobile_nav_toggle() ?>
3  <div class="dac-visible-mobile-block" data-toggle="section">
4    <span class="dac-toggle-expand dac-devdoc-toggle"><i class="dac-sprite dac-expand-more-black"></i> Show navigation</span>
5    <span class="dac-toggle-collapse dac-devdoc-toggle" data-toggle-section><i class="dac-sprite dac-expand-less-black"></i> Hide navigation</span>
6  </div>
7<?cs /def ?><?cs
8
9def:fullpage() ?>
10  <div id="body-content">
11    <div>
12<?cs /def ?>
13<?cs
14def:sdk_nav() ?>
15  <div class="wrap clearfix" id="body-content"><div class="cols">
16    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
17      <?cs call:mobile_nav_toggle() ?>
18      <div class="dac-toggle-content" id="devdoc-nav">
19        <div class="scroll-pane">
20<?cs include:"../../../../frameworks/base/docs/html/sdk/sdk_toc.cs" ?>
21        </div>
22      </div>
23    </div> <!-- end side-nav -->
24<?cs /def ?><?cs
25
26def:no_nav() ?>
27  <div class="wrap clearfix" id="body-content">
28    <div>
29<?cs /def ?><?cs
30
31def:tools_nav() ?>
32  <div class="wrap clearfix" id="body-content"><div class="cols">
33    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
34      <?cs call:mobile_nav_toggle() ?>
35      <div class="dac-toggle-content" id="devdoc-nav">
36        <div class="scroll-pane">
37<?cs include:"../../../../frameworks/base/docs/html/tools/tools_toc.cs" ?>
38        </div>
39      </div>
40    </div> <!-- end side-nav -->
41    <script>
42      $(document).ready(function() {
43        scrollIntoView("devdoc-nav");
44        });
45    </script>
46<?cs /def ?>
47<?cs
48def:training_nav() ?>
49  <div class="wrap clearfix" id="body-content"><div class="cols">
50    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
51      <?cs call:mobile_nav_toggle() ?>
52      <div class="dac-toggle-content" id="devdoc-nav">
53        <div class="scroll-pane">
54<?cs include:"../../../../frameworks/base/docs/html/training/training_toc.cs" ?>
55        </div>
56      </div>
57    </div> <!-- end side-nav -->
58    <script>
59      $(document).ready(function() {
60        scrollIntoView("devdoc-nav");
61        });
62    </script>
63<?cs /def ?><?cs
64
65def:googleplay_nav() ?>
66  <div class="wrap clearfix" id="body-content"><div class="cols">
67    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
68      <?cs call:mobile_nav_toggle() ?>
69      <div class="dac-toggle-content" id="devdoc-nav">
70        <div class="scroll-pane">
71<?cs include:"../../../../frameworks/base/docs/html/distribute/googleplay/googleplay_toc.cs" ?>
72        </div>
73      </div>
74    </div> <!-- end side-nav -->
75    <script>
76      $(document).ready(function() {
77        scrollIntoView("devdoc-nav");
78        });
79    </script>
80<?cs /def ?><?cs
81
82def:preview_nav() ?>
83  <div class="wrap clearfix" id="body-content"><div class="cols">
84    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
85      <?cs call:mobile_nav_toggle() ?>
86      <div class="dac-toggle-content" id="devdoc-nav">
87        <div class="scroll-pane">
88<?cs include:"../../../../frameworks/base/docs/html/preview/preview_toc.cs" ?>
89        </div>
90      </div>
91    </div> <!-- end side-nav -->
92    <script>
93      $(document).ready(function() {
94        scrollIntoView("devdoc-nav");
95        });
96    </script>
97<?cs /def ?><?cs
98
99def:essentials_nav() ?>
100  <div class="wrap clearfix" id="body-content"><div class="cols">
101    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
102      <?cs call:mobile_nav_toggle() ?>
103      <div class="dac-toggle-content" id="devdoc-nav">
104        <div class="scroll-pane">
105<?cs include:"../../../../frameworks/base/docs/html/distribute/essentials/essentials_toc.cs" ?>
106        </div>
107      </div>
108    </div> <!-- end side-nav -->
109    <script>
110      $(document).ready(function() {
111        scrollIntoView("devdoc-nav");
112        });
113    </script>
114<?cs /def ?><?cs
115
116def:users_nav() ?>
117  <div class="wrap clearfix" id="body-content"><div class="cols">
118    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
119      <?cs call:mobile_nav_toggle() ?>
120      <div class="dac-toggle-content" id="devdoc-nav">
121        <div class="scroll-pane">
122<?cs include:"../../../../frameworks/base/docs/html/distribute/users/users_toc.cs" ?>
123        </div>
124      </div>
125    </div> <!-- end side-nav -->
126    <script>
127      $(document).ready(function() {
128        scrollIntoView("devdoc-nav");
129        });
130    </script>
131<?cs /def ?><?cs
132
133def:engage_nav() ?>
134  <div class="wrap clearfix" id="body-content"><div class="cols">
135    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
136      <?cs call:mobile_nav_toggle() ?>
137      <div class="dac-toggle-content" id="devdoc-nav">
138        <div class="scroll-pane">
139<?cs include:"../../../../frameworks/base/docs/html/distribute/engage/engage_toc.cs" ?>
140        </div>
141      </div>
142    </div> <!-- end side-nav -->
143    <script>
144      $(document).ready(function() {
145        scrollIntoView("devdoc-nav");
146        });
147    </script>
148<?cs /def ?><?cs
149
150def:analyze_nav() ?>
151  <div class="wrap clearfix" id="body-content"><div class="cols">
152    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
153      <?cs call:mobile_nav_toggle() ?>
154      <div class="dac-toggle-content" id="devdoc-nav">
155        <div class="scroll-pane">
156<?cs include:"../../../../frameworks/base/docs/html/distribute/analyze/analyze_toc.cs" ?>
157        </div>
158      </div>
159    </div> <!-- end side-nav -->
160    <script>
161      $(document).ready(function() {
162        scrollIntoView("devdoc-nav");
163        });
164    </script>
165<?cs /def ?><?cs
166
167def:monetize_nav() ?>
168  <div class="wrap clearfix" id="body-content"><div class="cols">
169    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
170      <?cs call:mobile_nav_toggle() ?>
171      <div class="dac-toggle-content" id="devdoc-nav">
172        <div class="scroll-pane">
173<?cs include:"../../../../frameworks/base/docs/html/distribute/monetize/monetize_toc.cs" ?>
174        </div>
175      </div>
176    </div> <!-- end side-nav -->
177    <script>
178      $(document).ready(function() {
179        scrollIntoView("devdoc-nav");
180        });
181    </script>
182<?cs /def ?><?cs
183
184def:disttools_nav() ?>
185  <div class="wrap clearfix" id="body-content"><div class="cols">
186    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
187      <?cs call:mobile_nav_toggle() ?>
188      <div class="dac-toggle-content" id="devdoc-nav">
189        <div class="scroll-pane">
190<?cs include:"../../../../frameworks/base/docs/html/distribute/tools/disttools_toc.cs" ?>
191        </div>
192      </div>
193    </div> <!-- end side-nav -->
194    <script>
195      $(document).ready(function() {
196        scrollIntoView("devdoc-nav");
197        });
198    </script>
199<?cs /def ?><?cs
200
201def:stories_nav() ?>
202  <div class="wrap clearfix" id="body-content"><div class="cols">
203    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
204      <?cs call:mobile_nav_toggle() ?>
205      <div class="dac-toggle-content" id="devdoc-nav">
206        <div class="scroll-pane">
207<?cs include:"../../../../frameworks/base/docs/html/distribute/stories/stories_toc.cs" ?>
208        </div>
209      </div>
210    </div> <!-- end side-nav -->
211    <script>
212      $(document).ready(function() {
213        scrollIntoView("devdoc-nav");
214        });
215    </script>
216<?cs /def ?><?cs
217
218def:guide_nav() ?>
219  <div class="wrap clearfix" id="body-content"><div class="cols">
220    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
221      <?cs call:mobile_nav_toggle() ?>
222      <div class="dac-toggle-content" id="devdoc-nav">
223        <div class="scroll-pane">
224<?cs include:"../../../../frameworks/base/docs/html/guide/guide_toc.cs" ?>
225        </div>
226      </div>
227    </div> <!-- end side-nav -->
228    <script>
229      $(document).ready(function() {
230        scrollIntoView("devdoc-nav");
231        });
232    </script>
233<?cs /def ?>
234<?cs
235def:design_nav() ?>
236  <div class="wrap clearfix" id="body-content"><div class="cols">
237    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
238      <?cs call:mobile_nav_toggle() ?>
239      <div class="dac-toggle-content" id="devdoc-nav">
240        <div class="scroll-pane">
241<?cs include:"../../../../frameworks/base/docs/html/design/design_toc.cs" ?>
242        </div>
243      </div>
244    </div> <!-- end side-nav -->
245    <script>
246      $(document).ready(function() {
247        scrollIntoView("devdoc-nav");
248        });
249    </script>
250<?cs /def ?>
251<?cs
252def:distribute_nav() ?>
253  <div class="wrap clearfix" id="body-content"><div class="cols">
254    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
255      <?cs call:mobile_nav_toggle() ?>
256      <div class="dac-toggle-content" id="devdoc-nav">
257        <div class="scroll-pane">
258<?cs include:"../../../../frameworks/base/docs/html/distribute/distribute_toc.cs" ?>
259        </div>
260      </div>
261    </div> <!-- end side-nav -->
262    <script>
263      $(document).ready(function() {
264        scrollIntoView("devdoc-nav");
265        });
266    </script>
267<?cs /def ?>
268
269<?cs
270def:samples_nav() ?>
271  <div class="wrap clearfix" id="body-content"><div class="cols">
272    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
273      <?cs call:mobile_nav_toggle() ?>
274      <div class="dac-toggle-content" id="devdoc-nav">
275        <div class="scroll-pane">
276<?cs include:"../../../../frameworks/base/docs/html/samples/samples_toc.cs" ?>
277        </div>
278      </div>
279
280    </div> <!-- end side-nav -->
281    <script>
282      $(document).ready(function() {
283        scrollIntoView("devdoc-nav");
284        });
285    </script>
286<?cs /def ?>
287
288<?cs
289def:google_nav() ?>
290  <div class="wrap clearfix" id="body-content"><div class="cols">
291    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
292      <?cs call:mobile_nav_toggle() ?>
293      <div class="dac-toggle-content" id="devdoc-nav">
294        <div class="scroll-pane">
295<?cs include:"../../../../frameworks/base/docs/html/google/google_toc.cs" ?>
296        </div>
297      </div>
298      <script type="text/javascript">
299       showGoogleRefTree();
300
301      </script>
302    </div> <!-- end side-nav -->
303    <script>
304      $(document).ready(function() {
305        scrollIntoView("devdoc-nav");
306        });
307    </script>
308<?cs /def ?>
309
310<?cs
311def:about_nav() ?>
312  <div class="wrap clearfix" id="body-content"><div class="cols">
313    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
314      <?cs call:mobile_nav_toggle() ?>
315      <div class="dac-toggle-content" id="devdoc-nav">
316        <div class="scroll-pane">
317<?cs include:"../../../../frameworks/base/docs/html/about/about_toc.cs" ?>
318        </div>
319      </div>
320    </div> <!-- end side-nav -->
321    <script>
322      $(document).ready(function() {
323        scrollIntoView("devdoc-nav");
324        });
325    </script>
326<?cs /def ?>
327
328
329<?cs
330def:wear_nav() ?>
331  <div class="wrap clearfix" id="body-content"><div class="cols">
332    <div class="col-4 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
333      <?cs call:mobile_nav_toggle() ?>
334      <div class="dac-toggle-content" id="devdoc-nav">
335        <div class="scroll-pane">
336<?cs include:"../../../../frameworks/base/docs/html/wear/wear_toc.cs" ?>
337        </div>
338      </div>
339    </div> <!-- end side-nav -->
340    <script>
341      $(document).ready(function() {
342        scrollIntoView("devdoc-nav");
343        });
344    </script>
345<?cs /def ?>
346
347
348<?cs # The default side navigation for the reference docs ?><?cs
349def:default_left_nav() ?>
350<?cs if:reference.gcm || reference.gms ?>
351  <?cs call:google_nav() ?>
352<?cs else ?>
353  <div class="wrap clearfix" id="body-content"><div class="cols">
354    <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
355      <div id="devdoc-nav">
356      <div id="api-nav-header">
357        <div id="api-level-toggle">
358          <label for="apiLevelCheckbox" class="disabled"
359            title="Select your target API level to dim unavailable APIs">API level: </label>
360          <div class="select-wrapper">
361            <select id="apiLevelSelector">
362              <!-- option elements added by buildApiLevelSelector() -->
363            </select>
364          </div>
365        </div><!-- end toggle -->
366        <div id="api-nav-title">Android APIs</div>
367        </div><!-- end nav header -->
368      <script>
369        var SINCE_DATA = [ <?cs
370          each:since = since ?>'<?cs
371            var:since.name ?>'<?cs
372            if:!last(since) ?>, <?cs /if ?><?cs
373          /each
374        ?> ];
375        buildApiLevelSelector();
376      </script>
377
378      <div id="swapper">
379        <div id="nav-panels">
380          <div id="resize-packages-nav">
381            <div id="packages-nav" class="scroll-pane">
382
383              <ul>
384                <?cs call:package_link_list(docs.packages) ?>
385              </ul><br/>
386
387            </div> <!-- end packages-nav -->
388          </div> <!-- end resize-packages -->
389          <div id="classes-nav" class="scroll-pane">
390
391
392<?cs
393            if:subcount(class.package) ?>
394            <ul>
395              <?cs call:list("Annotations", class.package.annotations) ?>
396              <?cs call:list("Interfaces", class.package.interfaces) ?>
397              <?cs call:list("Classes", class.package.classes) ?>
398              <?cs call:list("Enums", class.package.enums) ?>
399              <?cs call:list("Exceptions", class.package.exceptions) ?>
400              <?cs call:list("Errors", class.package.errors) ?>
401            </ul><?cs
402            elif:subcount(package) ?>
403            <ul>
404              <?cs call:class_link_list("Annotations", package.annotations) ?>
405              <?cs call:class_link_list("Interfaces", package.interfaces) ?>
406              <?cs call:class_link_list("Classes", package.classes) ?>
407              <?cs call:class_link_list("Enums", package.enums) ?>
408              <?cs call:class_link_list("Exceptions", package.exceptions) ?>
409              <?cs call:class_link_list("Errors", package.errors) ?>
410            </ul><?cs
411            else ?>
412              <p style="padding:10px">Select a package to view its members</p><?cs
413            /if ?><br/>
414
415
416          </div><!-- end classes -->
417        </div><!-- end nav-panels -->
418        <div id="nav-tree" style="display:none" class="scroll-pane">
419          <div id="tree-list"></div>
420        </div><!-- end nav-tree -->
421      </div><!-- end swapper -->
422      <div id="nav-swap">
423      <a class="fullscreen">fullscreen</a>
424      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
425      </div>
426    </div> <!-- end devdoc-nav -->
427    </div> <!-- end side-nav -->
428    <script type="text/javascript">
429      // init fullscreen based on user pref
430      var fullscreen = readCookie("fullscreen");
431      if (fullscreen != 0) {
432        if (fullscreen == "false") {
433          toggleFullscreen(false);
434        } else {
435          toggleFullscreen(true);
436        }
437      }
438      // init nav version for mobile
439      if (isMobile) {
440        swapNav(); // tree view should be used on mobile
441        $('#nav-swap').hide();
442      } else {
443        chooseDefaultNav();
444        if ($("#nav-tree").is(':visible')) {
445          init_default_navtree("<?cs var:toroot ?>");
446        }
447      }
448      // scroll the selected page into view
449      $(document).ready(function() {
450        scrollIntoView("packages-nav");
451        scrollIntoView("classes-nav");
452        });
453    </script>
454<?cs /if ?>
455    <?cs
456/def ?>
457
458<?cs
459def:ndk_nav() ?>
460  <div class="wrap clearfix" id="body-content"><div class="cols">
461    <div class="col-3 dac-toggle dac-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
462      <?cs call:mobile_nav_toggle() ?>
463      <div class="dac-toggle-content" id="devdoc-nav">
464        <div class="scroll-pane">
465<?cs
466if:guide ?><?cs include:"../../../../frameworks/base/docs/html/ndk/guides/guides_toc.cs" ?><?cs
467elif:reference ?><?cs include:"../../../../frameworks/base/docs/html/ndk/reference/reference_toc.cs" ?><?cs
468elif:downloads ?><?cs include:"../../../../frameworks/base/docs/html/ndk/downloads/downloads_toc.cs" ?><?cs
469elif:samples ?><?cs include:"../../../../frameworks/base/docs/html/ndk/samples/samples_toc.cs" ?><?cs
470/if ?>
471        </div>
472      </div>
473    </div> <!-- end side-nav -->
474    <script>
475      $(document).ready(function() {
476        scrollIntoView("devdoc-nav");
477        });
478    </script>
479<?cs /def ?>
480
481<?cs
482def:header_search_widget() ?>
483  <div class="dac-header-search" id="search-container">
484    <div class="dac-header-search-inner">
485      <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div>
486      <form class="dac-header-search-form" onsubmit="return submit_search()">
487        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
488          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
489          onkeydown="return search_changed(event, true, '<?cs var:toroot ?>')"
490          onkeyup="return search_changed(event, false, '<?cs var:toroot ?>')"
491          class="dac-header-search-input" placeholder="Search" />
492          <a class="dac-header-search-close hide" id="search-close">close</a>
493      </form>
494    </div><!-- end dac-header-search-inner -->
495  </div><!-- end dac-header-search -->
496
497  <div class="search_filtered_wrapper">
498    <div class="suggest-card reference no-display">
499      <ul class="search_filtered">
500      </ul>
501    </div>
502    <div class="suggest-card develop no-display">
503      <ul class="search_filtered">
504      </ul>
505      <div class="child-card guides no-display">
506      </div>
507      <div class="child-card training no-display">
508      </div>
509      <div class="child-card samples no-display">
510      </div>
511    </div>
512    <div class="suggest-card design no-display">
513      <ul class="search_filtered">
514      </ul>
515    </div>
516    <div class="suggest-card distribute no-display">
517      <ul class="search_filtered">
518      </ul>
519    </div>
520  </div>
521<?cs /def ?>
522
523
524<?cs
525def:custom_left_nav() ?><?cs
526  if:ndk ?><?cs
527    if:fullpage ?><?cs
528      call:fullpage() ?><?cs
529    elif:nonavpage ?><?cs
530      call:no_nav() ?><?cs
531    elif:guide || reference || samples || downloads ?><?cs
532      call:ndk_nav() ?><?cs
533    else ?><?cs
534      call:default_left_nav() ?> <?cs
535    /if ?><?cs
536  else ?><?cs
537    if:fullpage ?><?cs
538      call:fullpage() ?><?cs
539    elif:nonavpage ?><?cs
540      call:no_nav() ?><?cs
541    elif:guide ?><?cs
542      call:guide_nav() ?><?cs
543    elif:design ?><?cs
544      call:design_nav() ?><?cs
545    elif:training ?><?cs
546      call:training_nav() ?><?cs
547    elif:tools ?><?cs
548      call:tools_nav() ?><?cs
549    elif:google ?><?cs
550      call:google_nav() ?><?cs
551    elif:samples ?><?cs
552      call:samples_nav() ?><?cs
553    elif:preview ?><?cs
554      call:preview_nav() ?><?cs
555    elif:distribute ?><?cs
556      if:googleplay ?><?cs
557        call:googleplay_nav() ?><?cs
558      elif:essentials ?><?cs
559        call:essentials_nav() ?><?cs
560      elif:users ?><?cs
561        call:users_nav() ?><?cs
562      elif:engage ?><?cs
563        call:engage_nav() ?><?cs
564      elif:monetize ?><?cs
565        call:monetize_nav() ?><?cs
566      elif:analyze ?><?cs
567        call:analyze_nav() ?><?cs
568      elif:disttools ?><?cs
569        call:disttools_nav() ?><?cs
570      elif:stories ?><?cs
571        call:stories_nav() ?><?cs
572      /if ?><?cs
573    elif:about ?><?cs
574      call:about_nav() ?><?cs
575    elif:distribute ?><?cs
576      call:distribute_nav() ?><?cs
577    elif:wear ?><?cs
578      call:wear_nav() ?><?cs
579    else ?><?cs
580      call:default_left_nav() ?> <?cs
581    /if ?><?cs
582  /if ?><?cs
583/def ?>
584
585<?cs # appears at the bottom of every page ?><?cs
586def:custom_cc_copyright() ?>
587  Except as noted, this content is
588  licensed under <a href="http://creativecommons.org/licenses/by/2.5/">
589  Creative Commons Attribution 2.5</a>. For details and
590  restrictions, see the <a href="<?cs var:toroot ?>license.html">Content
591  License</a>.<?cs
592/def ?>
593
594<?cs
595def:custom_copyright() ?>
596  Except as noted, this content is licensed under <a
597  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
598  For details and restrictions, see the <a href="<?cs var:toroot ?>license.html">
599  Content License</a>.<?cs
600/def ?>
601
602<?cs
603def:custom_footerlinks() ?>
604  <a href="<?cs var:toroot ?>about/index.html">About Android</a>
605  <a href="<?cs var:toroot ?>auto/index.html">Auto</a>
606  <a href="<?cs var:toroot ?>tv/index.html">TV</a>
607  <a href="<?cs var:toroot ?>wear/index.html">Wear</a>
608  <a href="<?cs var:toroot ?>legal.html">Legal</a>
609  <?cs
610/def ?>
611
612<?cs # appears on the right side of the blue bar at the bottom off every page ?><?cs
613def:custom_buildinfo() ?><?cs
614  if:!google && !reference.gcm && !reference.gms ?>
615    Android <?cs var:sdk.version ?>&nbsp;r<?cs var:sdk.rel.id ?> &mdash; <?cs
616  /if ?>
617<script src="<?cs var:toroot ?>timestamp.js" type="text/javascript"></script>
618<script>document.write(BUILD_TIMESTAMP)</script>
619<?cs /def ?>
620
621