1*feeed43cSAndroid Build Coastguard Worker <?cs 2*feeed43cSAndroid Build Coastguard Worker # Set global vars for template features based on site and target. 3*feeed43cSAndroid Build Coastguard Worker ?><?cs 4*feeed43cSAndroid Build Coastguard Worker if:dac ?><?cs 5*feeed43cSAndroid Build Coastguard Worker # standard devsite warns on inline js and script tags ?><?cs 6*feeed43cSAndroid Build Coastguard Worker set:enable_javascript = 1 ?><?cs 7*feeed43cSAndroid Build Coastguard Worker /if ?> 8*feeed43cSAndroid Build Coastguard Worker 9*feeed43cSAndroid Build Coastguard Worker <?cs # A link to a package ?><?cs 10*feeed43cSAndroid Build Coastguard Worker def:package_link(pkg) ?> 11*feeed43cSAndroid Build Coastguard Worker <a href="<?cs 12*feeed43cSAndroid Build Coastguard Worker if:!pkg.federatedSite ?><?cs 13*feeed43cSAndroid Build Coastguard Worker var:toroot ?><?cs 14*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:pkg.link ?>"><?cs var:pkg.name ?></a><?cs 15*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 16*feeed43cSAndroid Build Coastguard Worker 17*feeed43cSAndroid Build Coastguard Worker # A link to a type, or not if it is a primitive type 18*feeed43cSAndroid Build Coastguard Worker link: whether to create a link at the top level, always creates links in 19*feeed43cSAndroid Build Coastguard Worker recursive invocations. 20*feeed43cSAndroid Build Coastguard Worker Overloaded version to support use of 'nav' parameter, which when true, 21*feeed43cSAndroid Build Coastguard Worker will not include the generics in the class name (good for sidenav lists) 22*feeed43cSAndroid Build Coastguard Worker Expects the following fields: 23*feeed43cSAndroid Build Coastguard Worker .name 24*feeed43cSAndroid Build Coastguard Worker .link 25*feeed43cSAndroid Build Coastguard Worker .isPrimitive 26*feeed43cSAndroid Build Coastguard Worker .superBounds.N.(more links) (... super ... & ...) 27*feeed43cSAndroid Build Coastguard Worker .extendsBounds.N.(more links) (... extends ... & ...) 28*feeed43cSAndroid Build Coastguard Worker .typeArguments.N.(more links) (< ... >) ?><?cs 29*feeed43cSAndroid Build Coastguard Worker def:type_link_impl(type, link) ?><?cs call:type_link_impl2(type, link, "false") ?><?cs /def ?><?cs 30*feeed43cSAndroid Build Coastguard Worker 31*feeed43cSAndroid Build Coastguard Worker def:type_link_impl2(type, link, nav) ?><?cs 32*feeed43cSAndroid Build Coastguard Worker if:type.link && link=="true" ?><?cs 33*feeed43cSAndroid Build Coastguard Worker if:type.federated ?><a href="<?cs var:type.link ?>"><?cs 34*feeed43cSAndroid Build Coastguard Worker var:type.label ?></a><?cs 35*feeed43cSAndroid Build Coastguard Worker else ?><a href="<?cs var:toroot ?><?cs var:type.link ?>"><?cs var:type.label ?></a><?cs 36*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 37*feeed43cSAndroid Build Coastguard Worker else ?><?cs var:type.label ?><?cs 38*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 39*feeed43cSAndroid Build Coastguard Worker if:subcount(type.extendsBounds) ?><?cs 40*feeed43cSAndroid Build Coastguard Worker each:t=type.extendsBounds ?><?cs 41*feeed43cSAndroid Build Coastguard Worker if:first(t) ?> extends <?cs else ?> & <?cs /if ?><?cs 42*feeed43cSAndroid Build Coastguard Worker call:type_link_impl(t, "true") ?><?cs 43*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 44*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 45*feeed43cSAndroid Build Coastguard Worker if:subcount(type.superBounds) ?><?cs 46*feeed43cSAndroid Build Coastguard Worker each:t=type.superBounds ?><?cs 47*feeed43cSAndroid Build Coastguard Worker if:first(t) ?> super <?cs else ?> & <?cs /if ?><?cs 48*feeed43cSAndroid Build Coastguard Worker call:type_link_impl(t, "true") ?><?cs 49*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 50*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 51*feeed43cSAndroid Build Coastguard Worker if:subcount(type.typeArguments) && nav=="false" 52*feeed43cSAndroid Build Coastguard Worker ?><<?cs each:t=type.typeArguments ?><?cs call:type_link_impl(t, "true") ?><?cs 53*feeed43cSAndroid Build Coastguard Worker if:!last(t) ?>, <?cs /if ?><?cs 54*feeed43cSAndroid Build Coastguard Worker /each ?>><?cs 55*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 56*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 57*feeed43cSAndroid Build Coastguard Worker 58*feeed43cSAndroid Build Coastguard Worker def:simple_type_link(type)?><?cs 59*feeed43cSAndroid Build Coastguard Worker if:type.link?><?cs 60*feeed43cSAndroid Build Coastguard Worker if:type.federated ?><a href="<?cs var:type.link ?>"><?cs var:type.label ?></a><?cs 61*feeed43cSAndroid Build Coastguard Worker else ?><a href="<?cs var:toroot ?><?cs var:type.link ?>"><?cs var:type.label ?></a><?cs 62*feeed43cSAndroid Build Coastguard Worker /if?><?cs 63*feeed43cSAndroid Build Coastguard Worker else ?><?cs var:type.label ?><?cs 64*feeed43cSAndroid Build Coastguard Worker /if?><?cs 65*feeed43cSAndroid Build Coastguard Worker if:subcount(type.typeArguments)?><<?cs 66*feeed43cSAndroid Build Coastguard Worker each:t=type.typeArguments?><?cs 67*feeed43cSAndroid Build Coastguard Worker call:type_link_impl(t, "true")?><?cs 68*feeed43cSAndroid Build Coastguard Worker if:!last(t) ?>, <?cs 69*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 70*feeed43cSAndroid Build Coastguard Worker /each ?>><?cs 71*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 72*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 73*feeed43cSAndroid Build Coastguard Worker 74*feeed43cSAndroid Build Coastguard Worker def:class_name(type) ?><?cs call:type_link_impl(type, "false") ?><?cs 75*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 76*feeed43cSAndroid Build Coastguard Worker def:type_link2(type,nav) ?><?cs call:type_link_impl2(type, "true", nav) ?><?cs 77*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 78*feeed43cSAndroid Build Coastguard Worker def:type_link(type) ?><?cs call:type_link2(type, "false") ?><?cs 79*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 80*feeed43cSAndroid Build Coastguard Worker 81*feeed43cSAndroid Build Coastguard Worker # a conditional link. 82*feeed43cSAndroid Build Coastguard Worker if the "condition" parameter evals to true then the link is displayed 83*feeed43cSAndroid Build Coastguard Worker otherwise only the text is displayed ?><?cs 84*feeed43cSAndroid Build Coastguard Worker def:cond_link(text, root, path, condition) ?><?cs 85*feeed43cSAndroid Build Coastguard Worker if:condition ?><a href="<?cs var:root ?><?cs 86*feeed43cSAndroid Build Coastguard Worker var:path ?>"><?cs /if ?><?cs var:text ?><?cs 87*feeed43cSAndroid Build Coastguard Worker if:condition ?></a><?cs /if ?><?cs 88*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 89*feeed43cSAndroid Build Coastguard Worker 90*feeed43cSAndroid Build Coastguard Worker # A comma separated parameter list ?><?cs 91*feeed43cSAndroid Build Coastguard Worker def:parameter_list(params) ?><?cs 92*feeed43cSAndroid Build Coastguard Worker each:param = params ?><?cs 93*feeed43cSAndroid Build Coastguard Worker call:simple_type_link(param.type)?> <?cs 94*feeed43cSAndroid Build Coastguard Worker var:param.name ?><?cs 95*feeed43cSAndroid Build Coastguard Worker if: name(param)!=subcount(params)-1?>, <?cs /if ?><?cs 96*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 97*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 98*feeed43cSAndroid Build Coastguard Worker 99*feeed43cSAndroid Build Coastguard Worker def:doc_root_override() 100*feeed43cSAndroid Build Coastguard Worker ?><?cs var:toroot ?><?cs 101*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 102*feeed43cSAndroid Build Coastguard Worker # Print a list of tags (e.g. description text ?><?cs 103*feeed43cSAndroid Build Coastguard Worker def:tag_list(tags) ?><?cs 104*feeed43cSAndroid Build Coastguard Worker each:tag = tags ?><?cs 105*feeed43cSAndroid Build Coastguard Worker if:tag.name == "Text" ?><?cs var:tag.text?><?cs 106*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@more" ?><p><?cs 107*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@see" ?><code><a href="<?cs 108*feeed43cSAndroid Build Coastguard Worker if:!tag.federatedSite ?><?cs 109*feeed43cSAndroid Build Coastguard Worker var:toroot ?><?cs 110*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:tag.href ?>"><?cs var:tag.label ?></a></code><?cs 111*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@linkplain" ?><a href="<?cs 112*feeed43cSAndroid Build Coastguard Worker if:!tag.federatedSite ?><?cs 113*feeed43cSAndroid Build Coastguard Worker var:toroot ?><?cs 114*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:tag.href ?>"><?cs var:tag.label ?></a></a><?cs 115*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@seeHref" ?><a href="<?cs var:tag.href ?>"><?cs var:tag.label ?></a><?cs 116*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@seeJustLabel" ?><?cs var:tag.label ?><?cs 117*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@value" ?><code><a href="<?cs 118*feeed43cSAndroid Build Coastguard Worker if:!tag.federatedSite ?><?cs 119*feeed43cSAndroid Build Coastguard Worker var:toroot ?><?cs 120*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:tag.href ?>"><?cs var:tag.text ?></a></code><?cs 121*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@code" ?><code><?cs var:tag.text ?></code><?cs 122*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@samplecode" ?><pre><?cs var:tag.text ?></pre><?cs 123*feeed43cSAndroid Build Coastguard Worker elif:tag.name == "@sample" ?><pre><?cs var:tag.text ?></pre><?cs 124*feeed43cSAndroid Build Coastguard Worker elif:tag.name == "@include" ?><?cs var:tag.text ?><?cs 125*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@docRoot" ?><?cs call:doc_root_override() ?><?cs 126*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkCurrent" ?><?cs var:sdk.current ?><?cs 127*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkCurrentVersion" ?><?cs var:sdk.version ?><?cs 128*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkCurrentRelId" ?><?cs var:sdk.rel.id ?><?cs 129*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkPlatformVersion" ?><?cs var:sdk.platform.version ?><?cs 130*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkPlatformApiLevel" ?><?cs var:sdk.platform.apiLevel ?><?cs 131*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkPlatformMajorMinor" ?><?cs var:sdk.platform.majorMinor ?><?cs 132*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkPlatformReleaseDate" ?><?cs var:sdk.platform.releaseDate ?><?cs 133*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@sdkPlatformDeployableDate" ?><?cs var:sdk.platform.deployableDate ?><?cs 134*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@adtZipVersion" ?><?cs var:adt.zip.version ?><?cs 135*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@adtZipDownload" ?><?cs var:adt.zip.download ?><?cs 136*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@adtZipBytes" ?><?cs var:adt.zip.bytes ?><?cs 137*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@adtZipChecksum" ?><?cs var:adt.zip.checksum ?><?cs 138*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@inheritDoc" ?><?cs # This is the case when @inheritDoc is in something 139*feeed43cSAndroid Build Coastguard Worker that does not inherit from anything?><?cs 140*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@attr" ?><?cs 141*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@usesMathJax" ?><?cs 142*feeed43cSAndroid Build Coastguard Worker if:devsite ?><script src="/_static/js/managed/mathjax/MathJax.js?config=TeX-AMS_SVG"></script><?cs 143*feeed43cSAndroid Build Coastguard Worker else ?><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_SVG"></script><?cs 144*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 145*feeed43cSAndroid Build Coastguard Worker else ?>{<?cs var:tag.name?> <?cs var:tag.text ?>}<?cs 146*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 147*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 148*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 149*feeed43cSAndroid Build Coastguard Worker 150*feeed43cSAndroid Build Coastguard Worker # Print output for block tags that are not "standard" javadoc tags ?><?cs 151*feeed43cSAndroid Build Coastguard Worker def:block_tag_list(tags) ?><?cs 152*feeed43cSAndroid Build Coastguard Worker each:tag = tags ?><?cs 153*feeed43cSAndroid Build Coastguard Worker if:tag.kind == "@apiNote" ?> 154*feeed43cSAndroid Build Coastguard Worker <div class="jd-tagdata"> 155*feeed43cSAndroid Build Coastguard Worker <h5 class="jd-tagtitle">API Note:</h5> 156*feeed43cSAndroid Build Coastguard Worker <ul class="nolist"><li><?cs call:tag_list(tag.commentTags) ?></li></ul> 157*feeed43cSAndroid Build Coastguard Worker </div><?cs 158*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 159*feeed43cSAndroid Build Coastguard Worker if:tag.kind == "@implSpec" ?> 160*feeed43cSAndroid Build Coastguard Worker <div class="jd-tagdata"> 161*feeed43cSAndroid Build Coastguard Worker <h5 class="jd-tagtitle">Implementation Requirements:</h5> 162*feeed43cSAndroid Build Coastguard Worker <ul class="nolist"><li><?cs call:tag_list(tag.commentTags) ?></li></ul> 163*feeed43cSAndroid Build Coastguard Worker </div><?cs 164*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 165*feeed43cSAndroid Build Coastguard Worker if:tag.kind == "@implNote" ?> 166*feeed43cSAndroid Build Coastguard Worker <div class="jd-tagdata"> 167*feeed43cSAndroid Build Coastguard Worker <h5 class="jd-tagtitle">Implementation Note:</h5> 168*feeed43cSAndroid Build Coastguard Worker <ul class="nolist"><li><?cs call:tag_list(tag.commentTags) ?></li></ul> 169*feeed43cSAndroid Build Coastguard Worker </div><?cs 170*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 171*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 172*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 173*feeed43cSAndroid Build Coastguard Worker 174*feeed43cSAndroid Build Coastguard Worker # Print output for aux tags that are not "standard" javadoc tags ?><?cs 175*feeed43cSAndroid Build Coastguard Worker def:aux_tag_list(tags) ?><?cs 176*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 177*feeed43cSAndroid Build Coastguard Worker 178*feeed43cSAndroid Build Coastguard Worker # Show the short-form description of something. These come from shortDescr and deprecated ?><?cs 179*feeed43cSAndroid Build Coastguard Worker def:short_descr(obj) ?><?cs 180*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.deprecated) ?><em><?cs 181*feeed43cSAndroid Build Coastguard Worker if:obj.deprecatedsince ?> 182*feeed43cSAndroid Build Coastguard Worker This <?cs var:obj.kind ?> was deprecated 183*feeed43cSAndroid Build Coastguard Worker in API level <?cs var:obj.deprecatedsince ?>.<?cs 184*feeed43cSAndroid Build Coastguard Worker else ?> 185*feeed43cSAndroid Build Coastguard Worker This <?cs var:obj.kind ?> is deprecated.<?cs 186*feeed43cSAndroid Build Coastguard Worker /if ?> 187*feeed43cSAndroid Build Coastguard Worker <?cs call:tag_list(obj.deprecated) ?></em><?cs 188*feeed43cSAndroid Build Coastguard Worker else ?><?cs call:tag_list(obj.shortDescr) ?><?cs 189*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.annotationdocumentation)?><?cs 190*feeed43cSAndroid Build Coastguard Worker each:annodoc=obj.annotationdocumentation ?> 191*feeed43cSAndroid Build Coastguard Worker <div><?cs var:annodoc.text?></div><?cs 192*feeed43cSAndroid Build Coastguard Worker /each?><?cs /if?><?cs 193*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 194*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 195*feeed43cSAndroid Build Coastguard Worker 196*feeed43cSAndroid Build Coastguard Worker # Show a list of annotations associated with obj 197*feeed43cSAndroid Build Coastguard Worker # 198*feeed43cSAndroid Build Coastguard Worker # pre is an HTML string to start the list. 199*feeed43cSAndroid Build Coastguard Worker # between is an HTML string to include between each successive element. 200*feeed43cSAndroid Build Coastguard Worker # post is an HTML string to end the list. 201*feeed43cSAndroid Build Coastguard Worker # for example, call:show_annotations_list(cl, "<p>Annotations: ", "<br />", "</p>") 202*feeed43cSAndroid Build Coastguard Worker # ?><?cs 203*feeed43cSAndroid Build Coastguard Worker def:show_annotations_list(obj, pre, between, post) ?><?cs 204*feeed43cSAndroid Build Coastguard Worker each:anno = obj.showAnnotations ?><?cs 205*feeed43cSAndroid Build Coastguard Worker if:first(anno) ?><?cs 206*feeed43cSAndroid Build Coastguard Worker var:pre ?><?cs 207*feeed43cSAndroid Build Coastguard Worker /if ?> 208*feeed43cSAndroid Build Coastguard Worker @<?cs var:anno.type.label ?>(<?cs 209*feeed43cSAndroid Build Coastguard Worker each:elem = anno.elementValues ?><?cs 210*feeed43cSAndroid Build Coastguard Worker var:elem.name ?> = <?cs 211*feeed43cSAndroid Build Coastguard Worker var:elem.value ?><?cs 212*feeed43cSAndroid Build Coastguard Worker if:last(elem) == 0 ?>, <?cs 213*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 214*feeed43cSAndroid Build Coastguard Worker /each ?>)<?cs 215*feeed43cSAndroid Build Coastguard Worker if:last(anno) == 0 ?><?cs 216*feeed43cSAndroid Build Coastguard Worker var:between ?><?cs 217*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 218*feeed43cSAndroid Build Coastguard Worker if:last(anno) ?><?cs 219*feeed43cSAndroid Build Coastguard Worker var:post ?><?cs 220*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 221*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 222*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 223*feeed43cSAndroid Build Coastguard Worker 224*feeed43cSAndroid Build Coastguard Worker # Show a comma-separated list of annotations associated with obj ?><?cs 225*feeed43cSAndroid Build Coastguard Worker def:show_simple_annotations_list(obj, pre, post) ?><?cs 226*feeed43cSAndroid Build Coastguard Worker call:show_annotations_list(obj, pre, ", ", post) ?><?cs 227*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 228*feeed43cSAndroid Build Coastguard Worker 229*feeed43cSAndroid Build Coastguard Worker # Show the red box with the deprecated warning ?><?cs 230*feeed43cSAndroid Build Coastguard Worker def:deprecated_warning(obj) ?><?cs 231*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.deprecated) ?><p> 232*feeed43cSAndroid Build Coastguard Worker <p class="caution"><strong><?cs 233*feeed43cSAndroid Build Coastguard Worker if:obj.deprecatedsince ?> 234*feeed43cSAndroid Build Coastguard Worker This <?cs var:obj.kind ?> was deprecated 235*feeed43cSAndroid Build Coastguard Worker in API level <?cs var:obj.deprecatedsince ?>.<?cs 236*feeed43cSAndroid Build Coastguard Worker else ?> 237*feeed43cSAndroid Build Coastguard Worker This <?cs var:obj.kind ?> is deprecated.<?cs 238*feeed43cSAndroid Build Coastguard Worker /if ?></strong><br/> 239*feeed43cSAndroid Build Coastguard Worker <?cs call:tag_list(obj.deprecated) ?> 240*feeed43cSAndroid Build Coastguard Worker </p><?cs 241*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 242*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 243*feeed43cSAndroid Build Coastguard Worker 244*feeed43cSAndroid Build Coastguard Worker # print the See Also: section ?><?cs 245*feeed43cSAndroid Build Coastguard Worker def:see_also_tags(also) ?><?cs 246*feeed43cSAndroid Build Coastguard Worker if:subcount(also) ?> 247*feeed43cSAndroid Build Coastguard Worker <div> 248*feeed43cSAndroid Build Coastguard Worker <p><b>See also:</b></p> 249*feeed43cSAndroid Build Coastguard Worker <ul class="nolist"><?cs 250*feeed43cSAndroid Build Coastguard Worker each:tag=also ?><li><?cs 251*feeed43cSAndroid Build Coastguard Worker if:tag.kind == "@see" ?><code><a href="<?cs 252*feeed43cSAndroid Build Coastguard Worker if:!tag.federatedSite ?><?cs 253*feeed43cSAndroid Build Coastguard Worker var:toroot ?><?cs 254*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:tag.href ?>"><?cs 255*feeed43cSAndroid Build Coastguard Worker var:tag.label ?></a></code><?cs 256*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@seeHref" ?><a href="<?cs var:tag.href ?>"><?cs var:tag.label ?></a><?cs 257*feeed43cSAndroid Build Coastguard Worker elif:tag.kind == "@seeJustLabel" ?><?cs var:tag.label ?><?cs 258*feeed43cSAndroid Build Coastguard Worker else ?>[ERROR: Unknown @see kind]<?cs 259*feeed43cSAndroid Build Coastguard Worker /if ?></li><?cs 260*feeed43cSAndroid Build Coastguard Worker /each ?> 261*feeed43cSAndroid Build Coastguard Worker </ul> 262*feeed43cSAndroid Build Coastguard Worker </div><?cs 263*feeed43cSAndroid Build Coastguard Worker /if ?> 264*feeed43cSAndroid Build Coastguard Worker <?cs /def ?><?cs 265*feeed43cSAndroid Build Coastguard Worker 266*feeed43cSAndroid Build Coastguard Worker # print the API Level ?><?cs 267*feeed43cSAndroid Build Coastguard Worker def:since_tags(obj) ?><?cs 268*feeed43cSAndroid Build Coastguard Worker if:reference.apilevels && obj.since ?><?cs 269*feeed43cSAndroid Build Coastguard Worker if:string.slice(obj.since,0,1) > 0 ?> 270*feeed43cSAndroid Build Coastguard Worker Added in <?cs 271*feeed43cSAndroid Build Coastguard Worker if:string.find(obj.since,'.') > -1 272*feeed43cSAndroid Build Coastguard Worker ?><a href="<?cs var:toroot ?>topic/libraries/support-library/revisions.html">version<?cs 273*feeed43cSAndroid Build Coastguard Worker else 274*feeed43cSAndroid Build Coastguard Worker ?><a href="<?cs var:toroot ?>guide/topics/manifest/uses-sdk-element.html#ApiLevels">API level<?cs 275*feeed43cSAndroid Build Coastguard Worker /if ?> <?cs 276*feeed43cSAndroid Build Coastguard Worker var:obj.since ?></a><?cs if:obj.sdkextsince ?><br/>Also in <a href="<?cs var:toroot ?>sdkExtensions"><?cs var:obj.sdkextsince ?></a><?cs /if ?><?cs 277*feeed43cSAndroid Build Coastguard Worker else ?><a data-version-added="<?cs var:obj.since ?>" href="<?cs var:toroot ?>preview/"><b>Added in Android <?cs 278*feeed43cSAndroid Build Coastguard Worker var:obj.since ?></b></a><?cs if:obj.sdkextsince ?><br/>Also in <a href="<?cs var:toroot ?>sdkExtensions"><?cs var:obj.sdkextsince ?></a><?cs /if ?><?cs 279*feeed43cSAndroid Build Coastguard Worker /if?><?cs 280*feeed43cSAndroid Build Coastguard Worker elif:obj.sdkextsince ?> 281*feeed43cSAndroid Build Coastguard Worker <?cs # This symbol exists in an extension SDK, but not in a finalized dessert ?> 282*feeed43cSAndroid Build Coastguard Worker Added in <a href="<?cs var:toroot ?>sdkExtensions"><?cs var:obj.sdkextsince ?></a> 283*feeed43cSAndroid Build Coastguard Worker <?cs 284*feeed43cSAndroid Build Coastguard Worker /if ?> 285*feeed43cSAndroid Build Coastguard Worker <?cs if:obj.deprecatedsince ?><?cs 286*feeed43cSAndroid Build Coastguard Worker if:class.artifact ?><br>Deprecated in version <?cs var:obj.deprecatedsince ?><?cs 287*feeed43cSAndroid Build Coastguard Worker else ?><br>Deprecated in 288*feeed43cSAndroid Build Coastguard Worker <a href="<?cs var:toroot ?>guide/topics/manifest/uses-sdk-element.html#ApiLevels">API level 289*feeed43cSAndroid Build Coastguard Worker <?cs var:obj.deprecatedsince ?></a><?cs 290*feeed43cSAndroid Build Coastguard Worker /if ?> 291*feeed43cSAndroid Build Coastguard Worker <?cs /if ?><?cs 292*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 293*feeed43cSAndroid Build Coastguard Worker 294*feeed43cSAndroid Build Coastguard Worker # print the artifact ?><?cs 295*feeed43cSAndroid Build Coastguard Worker def:artifact_tags(obj) ?><?cs 296*feeed43cSAndroid Build Coastguard Worker if:reference.artifacts && obj.artifact ?> 297*feeed43cSAndroid Build Coastguard Worker belongs to Maven artifact <?cs var:obj.artifact ?></a><?cs 298*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 299*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 300*feeed43cSAndroid Build Coastguard Worker 301*feeed43cSAndroid Build Coastguard Worker def:federated_refs(obj) ?> 302*feeed43cSAndroid Build Coastguard Worker <?cs if:subcount(obj.federated) ?> 303*feeed43cSAndroid Build Coastguard Worker <div> 304*feeed43cSAndroid Build Coastguard Worker Also: 305*feeed43cSAndroid Build Coastguard Worker <?cs each:federated=obj.federated ?> 306*feeed43cSAndroid Build Coastguard Worker <a href="<?cs var:federated.url ?>"><?cs var:federated.name ?></a><?cs 307*feeed43cSAndroid Build Coastguard Worker if:!last(federated) ?>,<?cs /if ?> 308*feeed43cSAndroid Build Coastguard Worker <?cs /each ?> 309*feeed43cSAndroid Build Coastguard Worker </div> 310*feeed43cSAndroid Build Coastguard Worker <?cs /if ?> 311*feeed43cSAndroid Build Coastguard Worker <?cs /def ?><?cs 312*feeed43cSAndroid Build Coastguard Worker 313*feeed43cSAndroid Build Coastguard Worker # 314*feeed43cSAndroid Build Coastguard Worker # Print the long-form description for something. 315*feeed43cSAndroid Build Coastguard Worker # Uses the following fields: deprecated descr seeAlso since 316*feeed43cSAndroid Build Coastguard Worker # 317*feeed43cSAndroid Build Coastguard Worker ?><?cs 318*feeed43cSAndroid Build Coastguard Worker def:description(obj) ?><?cs 319*feeed43cSAndroid Build Coastguard Worker call:deprecated_warning(obj) ?> 320*feeed43cSAndroid Build Coastguard Worker <p><?cs call:tag_list(obj.descr) ?></p><?cs 321*feeed43cSAndroid Build Coastguard Worker call:aux_tag_list(obj.descrAux) ?><?cs 322*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.annotationdocumentation)?><?cs 323*feeed43cSAndroid Build Coastguard Worker each:annodoc=obj.annotationdocumentation ?> 324*feeed43cSAndroid Build Coastguard Worker <div><?cs var:annodoc.text?></div><?cs 325*feeed43cSAndroid Build Coastguard Worker /each?><?cs /if?><?cs 326*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.attrRefs) ?> 327*feeed43cSAndroid Build Coastguard Worker <p><b>Related XML Attributes:</b></p> 328*feeed43cSAndroid Build Coastguard Worker <ul class="nolist"><?cs 329*feeed43cSAndroid Build Coastguard Worker each:attr=obj.attrRefs ?> 330*feeed43cSAndroid Build Coastguard Worker <li><a href="<?cs 331*feeed43cSAndroid Build Coastguard Worker if:!attr.federatedSite ?><?cs 332*feeed43cSAndroid Build Coastguard Worker var:toroot ?><?cs 333*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:attr.href ?>"><?cs var:attr.name ?></a></li><?cs 334*feeed43cSAndroid Build Coastguard Worker /each ?> 335*feeed43cSAndroid Build Coastguard Worker </ul><?cs 336*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 337*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.blockTags) ?> 338*feeed43cSAndroid Build Coastguard Worker <?cs call:block_tag_list(obj.blockTags) ?><?cs 339*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 340*feeed43cSAndroid Build Coastguard Worker # 341*feeed43cSAndroid Build Coastguard Worker # Print the @param tags 342*feeed43cSAndroid Build Coastguard Worker # 343*feeed43cSAndroid Build Coastguard Worker ?><?cs 344*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.paramTags) ?> 345*feeed43cSAndroid Build Coastguard Worker <table class="responsive"> 346*feeed43cSAndroid Build Coastguard Worker <tr><th colspan=2>Parameters</th></tr><?cs 347*feeed43cSAndroid Build Coastguard Worker each:param=obj.paramTags ?> 348*feeed43cSAndroid Build Coastguard Worker <tr> 349*feeed43cSAndroid Build Coastguard Worker <td><code><?cs 350*feeed43cSAndroid Build Coastguard Worker if:param.isTypeParameter ?><<?cs 351*feeed43cSAndroid Build Coastguard Worker /if ?><?cs var:param.name ?><?cs 352*feeed43cSAndroid Build Coastguard Worker if:param.isTypeParameter ?>><?cs 353*feeed43cSAndroid Build Coastguard Worker /if ?></code></td> 354*feeed43cSAndroid Build Coastguard Worker <td width="100%"> 355*feeed43cSAndroid Build Coastguard Worker <code><?cs var:param.kind ?></code><?cs 356*feeed43cSAndroid Build Coastguard Worker if:string.find(param.comment.0.text, "<!--") != 0 357*feeed43cSAndroid Build Coastguard Worker ?>:<?cs # Do not print if param comment is an HTML comment ?><?cs 358*feeed43cSAndroid Build Coastguard Worker /if ?> <?cs 359*feeed43cSAndroid Build Coastguard Worker call:tag_list(param.comment) ?><?cs 360*feeed43cSAndroid Build Coastguard Worker call:aux_tag_list(param.commentAux) ?></td> 361*feeed43cSAndroid Build Coastguard Worker </tr><?cs 362*feeed43cSAndroid Build Coastguard Worker /each ?> 363*feeed43cSAndroid Build Coastguard Worker </table><?cs 364*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 365*feeed43cSAndroid Build Coastguard Worker # 366*feeed43cSAndroid Build Coastguard Worker # Print the @return value 367*feeed43cSAndroid Build Coastguard Worker # 368*feeed43cSAndroid Build Coastguard Worker ?><?cs 369*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.returns) || (subcount(method.returnType) && method.returnType.label != 'void') ?> 370*feeed43cSAndroid Build Coastguard Worker <table class="responsive"> 371*feeed43cSAndroid Build Coastguard Worker <tr><th colspan=2>Returns</th></tr> 372*feeed43cSAndroid Build Coastguard Worker <tr> 373*feeed43cSAndroid Build Coastguard Worker <td><code><?cs call:type_link(method.returnType) ?></code></td> 374*feeed43cSAndroid Build Coastguard Worker <td width="100%"><?cs 375*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.returns) ?><?cs 376*feeed43cSAndroid Build Coastguard Worker call:tag_list(obj.returns) ?><?cs 377*feeed43cSAndroid Build Coastguard Worker else ?><!-- no returns description in source --><?cs 378*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 379*feeed43cSAndroid Build Coastguard Worker call:aux_tag_list(obj.returnsAux) ?></td> 380*feeed43cSAndroid Build Coastguard Worker </tr> 381*feeed43cSAndroid Build Coastguard Worker </table><?cs 382*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 383*feeed43cSAndroid Build Coastguard Worker # 384*feeed43cSAndroid Build Coastguard Worker # Print the throwables 385*feeed43cSAndroid Build Coastguard Worker # 386*feeed43cSAndroid Build Coastguard Worker ?><?cs 387*feeed43cSAndroid Build Coastguard Worker if:subcount(obj.throws) ?> 388*feeed43cSAndroid Build Coastguard Worker <table class="responsive"> 389*feeed43cSAndroid Build Coastguard Worker <tr><th colspan=2>Throws</th></tr><?cs 390*feeed43cSAndroid Build Coastguard Worker each:tag=obj.throws ?> 391*feeed43cSAndroid Build Coastguard Worker <tr> 392*feeed43cSAndroid Build Coastguard Worker <td><code><?cs call:type_link(tag.type) ?></code></td> 393*feeed43cSAndroid Build Coastguard Worker <td width="100%"><?cs call:tag_list(tag.comment) ?></td> 394*feeed43cSAndroid Build Coastguard Worker </tr><?cs 395*feeed43cSAndroid Build Coastguard Worker /each ?> 396*feeed43cSAndroid Build Coastguard Worker </table> 397*feeed43cSAndroid Build Coastguard Worker <?cs 398*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 399*feeed43cSAndroid Build Coastguard Worker call:see_also_tags(obj.seeAlso) ?><?cs 400*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 401*feeed43cSAndroid Build Coastguard Worker 402*feeed43cSAndroid Build Coastguard Worker # A table of links to classes with descriptions, as in a package file or the nested classes ?><?cs 403*feeed43cSAndroid Build Coastguard Worker def:class_link_table(classes) ?><?cs 404*feeed43cSAndroid Build Coastguard Worker set:count = #1 ?> 405*feeed43cSAndroid Build Coastguard Worker <table class="jd-sumtable-expando"><?cs 406*feeed43cSAndroid Build Coastguard Worker each:cl=classes ?> 407*feeed43cSAndroid Build Coastguard Worker <tr <?cs 408*feeed43cSAndroid Build Coastguard Worker if:cl.type.since 409*feeed43cSAndroid Build Coastguard Worker ?>data-version-added="<?cs var:cl.type.since ?>"<?cs 410*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 411*feeed43cSAndroid Build Coastguard Worker if:cl.type.deprecatedsince 412*feeed43cSAndroid Build Coastguard Worker ?> data-version-deprecated="<?cs var:cl.type.deprecatedsince ?>"<?cs 413*feeed43cSAndroid Build Coastguard Worker /if ?> > 414*feeed43cSAndroid Build Coastguard Worker <td><?cs call:type_link(cl.type) ?></td> 415*feeed43cSAndroid Build Coastguard Worker <td width="100%"><?cs call:short_descr(cl) ?> </td> 416*feeed43cSAndroid Build Coastguard Worker </tr><?cs set:count = count + #1 ?><?cs 417*feeed43cSAndroid Build Coastguard Worker /each ?> 418*feeed43cSAndroid Build Coastguard Worker </table><?cs 419*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 420*feeed43cSAndroid Build Coastguard Worker 421*feeed43cSAndroid Build Coastguard Worker # A list of links to classes, for use in the side navigation of classes when viewing a package (panel nav) ?><?cs 422*feeed43cSAndroid Build Coastguard Worker def:class_link_list(label, classes) ?><?cs 423*feeed43cSAndroid Build Coastguard Worker if:subcount(classes) ?> 424*feeed43cSAndroid Build Coastguard Worker <li><h2 class="hide-from-toc"><?cs var:label ?></h2> 425*feeed43cSAndroid Build Coastguard Worker <ul><?cs 426*feeed43cSAndroid Build Coastguard Worker each:cl=classes ?> 427*feeed43cSAndroid Build Coastguard Worker <li><?cs call:type_link2(cl.type,"true") ?></li><?cs 428*feeed43cSAndroid Build Coastguard Worker /each ?> 429*feeed43cSAndroid Build Coastguard Worker </ul> 430*feeed43cSAndroid Build Coastguard Worker </li><?cs 431*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 432*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 433*feeed43cSAndroid Build Coastguard Worker 434*feeed43cSAndroid Build Coastguard Worker # A list of links to classes, for use in the side navigation of classes when viewing a class (panel nav) ?><?cs 435*feeed43cSAndroid Build Coastguard Worker def:list(label, classes) ?><?cs 436*feeed43cSAndroid Build Coastguard Worker if:subcount(classes) ?> 437*feeed43cSAndroid Build Coastguard Worker <li><h2 class="hide-from-toc"><?cs var:label ?></h2> 438*feeed43cSAndroid Build Coastguard Worker <ul><?cs 439*feeed43cSAndroid Build Coastguard Worker each:cl=classes ?> 440*feeed43cSAndroid Build Coastguard Worker <li<?cs if:class.name == cl.label?> class="selected"<?cs /if ?>><?cs call:type_link2(cl,"true") ?></li><?cs 441*feeed43cSAndroid Build Coastguard Worker /each ?> 442*feeed43cSAndroid Build Coastguard Worker </ul> 443*feeed43cSAndroid Build Coastguard Worker </li><?cs 444*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 445*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 446*feeed43cSAndroid Build Coastguard Worker 447*feeed43cSAndroid Build Coastguard Worker # A list of links to packages, for use in the side navigation of packages (panel nav) ?><?cs 448*feeed43cSAndroid Build Coastguard Worker def:package_link_list(packages) ?><?cs 449*feeed43cSAndroid Build Coastguard Worker each:pkg=packages ?> 450*feeed43cSAndroid Build Coastguard Worker <li<?cs if:(class.package.name == pkg.name) || (package.name == pkg.name)?> class="selected"<?cs /if ?>><?cs call:package_link(pkg) ?></li><?cs 451*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 452*feeed43cSAndroid Build Coastguard Worker /def ?> 453*feeed43cSAndroid Build Coastguard Worker 454*feeed43cSAndroid Build Coastguard Worker <?cs 455*feeed43cSAndroid Build Coastguard Worker # An expando trigger 456*feeed43cSAndroid Build Coastguard Worker ?><?cs 457*feeed43cSAndroid Build Coastguard Worker def:expando_trigger(id, default) ?> 458*feeed43cSAndroid Build Coastguard Worker <a href="#" id="<?cs var:id ?>" class="jd-expando-trigger closed"<?cs 459*feeed43cSAndroid Build Coastguard Worker if:enable_javascript ?> 460*feeed43cSAndroid Build Coastguard Worker onclick="return toggleInherited(this, null)"<?cs 461*feeed43cSAndroid Build Coastguard Worker /if ?> > 462*feeed43cSAndroid Build Coastguard Worker <img id="<?cs var:id ?>-trigger" class="jd-expando-trigger-img" 463*feeed43cSAndroid Build Coastguard Worker height="34" 464*feeed43cSAndroid Build Coastguard Worker src="<?cs var:toroot ?>assets/images/styles/disclosure_<?cs 465*feeed43cSAndroid Build Coastguard Worker if:default == 'closed' ?>down<?cs else ?>up<?cs /if ?>.png" /> 466*feeed43cSAndroid Build Coastguard Worker </a><?cs 467*feeed43cSAndroid Build Coastguard Worker /def ?> 468*feeed43cSAndroid Build Coastguard Worker 469*feeed43cSAndroid Build Coastguard Worker <?cs 470*feeed43cSAndroid Build Coastguard Worker # An expandable list of classes 471*feeed43cSAndroid Build Coastguard Worker ?><?cs 472*feeed43cSAndroid Build Coastguard Worker def:expandable_class_list(id, classes, default) ?> 473*feeed43cSAndroid Build Coastguard Worker <div id="<?cs var:id ?>" class="showalways" > <?cs 474*feeed43cSAndroid Build Coastguard Worker if:subcount(classes) <= #20 ?><?cs 475*feeed43cSAndroid Build Coastguard Worker each:cl=classes ?><?cs 476*feeed43cSAndroid Build Coastguard Worker call:type_link(cl.type) ?><?cs 477*feeed43cSAndroid Build Coastguard Worker if:!last(cl) 478*feeed43cSAndroid Build Coastguard Worker ?>, <?cs 479*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 480*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 481*feeed43cSAndroid Build Coastguard Worker else ?><?cs 482*feeed43cSAndroid Build Coastguard Worker set:leftovers = subcount(classes) - #15 ?><?cs 483*feeed43cSAndroid Build Coastguard Worker loop:i = #0, #14, #1 ?><?cs 484*feeed43cSAndroid Build Coastguard Worker with:cl=classes[i] ?><?cs 485*feeed43cSAndroid Build Coastguard Worker call:type_link(cl.type) ?>, <?cs 486*feeed43cSAndroid Build Coastguard Worker /with ?><?cs 487*feeed43cSAndroid Build Coastguard Worker if:(#i == #14) ?> and <?cs var:leftovers ?> others.<?cs 488*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 489*feeed43cSAndroid Build Coastguard Worker /loop ?><?cs 490*feeed43cSAndroid Build Coastguard Worker /if ?> 491*feeed43cSAndroid Build Coastguard Worker </div> 492*feeed43cSAndroid Build Coastguard Worker <div id="<?cs var:id ?>-summary"<?cs 493*feeed43cSAndroid Build Coastguard Worker if:default == "summary" ?> 494*feeed43cSAndroid Build Coastguard Worker class="showalways"<?cs 495*feeed43cSAndroid Build Coastguard Worker /if ?> > 496*feeed43cSAndroid Build Coastguard Worker <?cs call:class_link_table(classes) ?> 497*feeed43cSAndroid Build Coastguard Worker </div><?cs 498*feeed43cSAndroid Build Coastguard Worker /def ?> 499*feeed43cSAndroid Build Coastguard Worker 500*feeed43cSAndroid Build Coastguard Worker <?cs include:"components.cs" ?> 501