- <?cs include:"doctype.cs" ?>
+ <?cs # THIS CREATES A CLASS OR INTERFACE PAGE FROM .java FILES ?>
<?cs include:"macros.cs" ?>
<?cs include:"macros_override.cs" ?>
- <html<?cs if:devsite ?> devsite<?cs /if ?>>
- <?cs include:"head_tag.cs" ?>
- <body class="gc-documentation <?cs if:(reference.gms || reference.gcm) ?>google<?cs /if ?>
- <?cs if:(guide||develop||training||reference||tools||sdk) ?>develop<?cs
- if:reference ?> reference<?cs
- /if ?><?cs
- elif:design ?>design<?cs
- elif:distribute ?>distribute<?cs
- /if ?>" itemscope itemtype="http://schema.org/Article">
- <div id="doc-api-level" class="<?cs var:class.since ?>" style="display:none"></div>
- <a name="top"></a>
- <?cs include:"header.cs" ?>
-
- <div class="col-12" id="doc-col">
-
- <div id="api-info-block">
-
- <?cs # are there inherited members ?>
- <?cs each:cl=class.inherited ?>
- <?cs if:subcount(cl.methods) ?>
- <?cs set:inhmethods = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(cl.constants) ?>
- <?cs set:inhconstants = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(cl.fields) ?>
- <?cs set:inhfields = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(cl.attrs) ?>
- <?cs set:inhattrs = #1 ?>
- <?cs /if ?>
- <?cs /each ?>
-
- <div class="sum-details-links">
- <?cs if:inhattrs || inhconstants || inhfields || inhmethods || (!class.subclasses.hidden &&
- (subcount(class.subclasses.direct) || subcount(class.subclasses.indirect))) ?>
- Summary:
- <?cs if:subcount(class.inners) ?>
- <a href="#nestedclasses">Nested Classes</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.attrs) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#lattrs">XML Attrs</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:inhattrs ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#inhattrs">Inherited XML Attrs</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.enumConstants) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#enumconstants">Enums</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.constants) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#constants">Constants</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:inhconstants ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#inhconstants">Inherited Constants</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.fields) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#lfields">Fields</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:inhfields ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#inhfields">Inherited Fields</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.ctors.public) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#pubctors">Ctors</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.ctors.protected) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#proctors">Protected Ctors</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.methods.public) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#pubmethods">Methods</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:subcount(class.methods.protected) ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#promethods">Protected Methods</a>
- <?cs set:linkcount = #1 ?>
- <?cs /if ?>
- <?cs if:inhmethods ?>
- <?cs if:linkcount ?>| <?cs /if ?><a href="#inhmethods">Inherited Methods</a>
- <?cs /if ?>
- | <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
- <?cs /if ?>
- </div><!-- end sum-details-links -->
- <div class="api-level">
- <?cs call:since_tags(class) ?><?cs
- if:class.deprecatedsince
- ?><br>Deprecated since <a href="<?cs var:toroot ?>guide/topics/manifest/uses-sdk-element.html#ApiLevels"
- >API level <?cs var:class.deprecatedsince ?></a><?cs
- /if ?>
- <?cs call:federated_refs(class) ?>
- </div>
- </div><!-- end api-info-block -->
-
- <?cs # this next line must be exactly like this to be parsed by eclipse ?>
- <!-- ======== START OF CLASS DATA ======== -->
-
- <div id="jd-header">
- <?cs var:class.scope ?>
- <?cs var:class.static ?>
- <?cs var:class.final ?>
- <?cs var:class.abstract ?>
- <?cs var:class.kind ?>
- <h1 itemprop="name"><?cs var:class.name ?></h1>
-
- <?cs set:colspan = subcount(class.inheritance) ?>
- <?cs each:supr = class.inheritance ?>
- <?cs if:colspan == 2 ?>
- extends <?cs call:type_link(supr.short_class) ?><br/>
- <?cs /if ?>
- <?cs if:last(supr) && subcount(supr.interfaces) ?>
- implements
- <?cs each:t=supr.interfaces ?>
- <?cs call:type_link(t) ?>
- <?cs /each ?>
- <?cs /if ?>
- <?cs set:colspan = colspan-1 ?>
- <?cs /each ?>
- <?cs call:show_annotations_list(class) ?>
-
- </div><!-- end header -->
-
- <div id="naMessage"></div>
-
- <div id="jd-content" class="api apilevel-<?cs var:class.since ?>">
- <table class="jd-inheritance-table">
- <?cs set:colspan = subcount(class.inheritance) ?>
- <?cs each:supr = class.inheritance ?>
- <tr>
- <?cs loop:i = 1, (subcount(class.inheritance)-colspan), 1 ?>
- <td class="jd-inheritance-space"> <?cs if:(subcount(class.inheritance)-colspan) == i ?> ↳<?cs /if ?></td>
- <?cs /loop ?>
- <td colspan="<?cs var:colspan ?>" class="jd-inheritance-class-cell"><?cs
- if:colspan == 1
- ?><?cs call:class_name(class.qualifiedType) ?><?cs
- else
- ?><?cs call:type_link(supr.class) ?><?cs
- /if ?></td>
- </tr>
- <?cs set:colspan = colspan-1 ?>
- <?cs /each ?>
- </table>
-
- <?cs # this next line must be exactly like this to be parsed by eclipse ?>
-
- <?cs if:subcount(class.subclasses.direct) && !class.subclasses.hidden ?>
- <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
- <?cs call:expando_trigger("subclasses-direct", "closed") ?>Known Direct Subclasses
- <?cs call:expandable_class_list("subclasses-direct", class.subclasses.direct, "list") ?>
- </td></tr></table>
- <?cs /if ?>
-
- <?cs if:subcount(class.subclasses.indirect) && !class.subclasses.hidden ?>
- <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
- <?cs call:expando_trigger("subclasses-indirect", "closed") ?>Known Indirect Subclasses
- <?cs call:expandable_class_list("subclasses-indirect", class.subclasses.indirect, "list") ?>
- </td></tr></table>
- <?cs /if ?>
-
- <div class="jd-descr">
- <?cs call:deprecated_warning(class) ?>
- <?cs if:subcount(class.descr) || subcount(class.annotationdocumentation) ?>
- <h2>Class Overview</h2>
- <?cs if:subcount(class.descr) ?><p itemprop="articleBody"><?cs call:tag_list(class.descr) ?></p><?cs /if ?>
- <?cs if:subcount(class.annotationdocumentation) ?><?cs each:annodoc = class.annotationdocumentation?>
- <p><?cs var:annodoc.text ?></p>
- <?cs /each?><?cs /if?>
- <?cs /if ?>
-
- <?cs call:see_also_tags(class.seeAlso) ?>
- </div><!-- jd-descr -->
-
-
- <?cs # summary macros ?>
-
- <?cs def:write_method_summary(methods, included) ?>
+ <?cs
+ ####################
+ # MACRO FUNCTION USED ONLY IN THIS TEMPLATE TO GENERATE API REFERENCE
+ # FIRST, THE FUNCTIONS FOR THE SUMMARY AT THE TOP OF THE PAGE
+ ####################
+ ?>
+
+ <?cs
+ # Prints the table cells for the summary of methods.
+ ?><?cs def:write_method_summary(methods, included) ?>
<?cs set:count = #1 ?>
<?cs each:method = methods ?>
- <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
- <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:method.since ?>" >
- <td class="jd-typecol"><nobr>
- <?cs var:method.abstract ?>
- <?cs var:method.default ?>
- <?cs var:method.static ?>
- <?cs var:method.final ?>
- <?cs call:type_link(method.generic) ?>
- <?cs call:type_link(method.returnType) ?></nobr>
- </td>
- <td class="jd-linkcol" width="100%"><nobr>
- <span class="sympad"><?cs call:cond_link(method.name, toroot, method.href, included) ?></span>(<?cs call:parameter_list(method.params) ?>)</nobr>
- <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) || subcount(method.showAnnotations) ?>
- <div class="jd-descrdiv">
- <?cs if:subcount(method.shortDescr) || subcount(method.annotationdocumentation) ?><?cs call:short_descr(method)?><?cs /if?>
- <?cs call:show_annotations_list(method) ?>
- </div>
- <?cs /if ?>
- </td></tr>
- <?cs set:count = count + #1 ?>
+ <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
+ <tr class="api apilevel-<?cs var:method.since ?>" >
+ <?cs # leave out this cell if there is no return type = if constructors ?>
+ <?cs if:subcount(method.returnType) ?>
+ <td><code>
+ <?cs var:method.abstract ?>
- <?cs var:method.final ?>
++ <?cs var:method.default ?>
+ <?cs var:method.static ?>
++ <?cs var:method.final ?>
+ <?cs call:type_link(method.generic) ?>
+ <?cs call:type_link(method.returnType) ?></code>
+ </td>
+ <?cs /if ?>
+ <td width="100%">
+ <code>
+ <?cs call:cond_link(method.name, toroot, method.href, included) ?>(<?cs call:parameter_list(method.params, 0) ?>)
+ </code>
+ <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?>
+ <p><?cs call:short_descr(method) ?>
+ <?cs call:show_annotations_list(method) ?></p>
+ <?cs /if ?>
+ </td>
+ </tr>
+ <?cs set:count = count + #1 ?>
<?cs /each ?>
<?cs /def ?>
Android Design<?cs if:page.title ?> - <?cs var:page.title ?><?cs /if ?>
</title>
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic">
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic">
<link rel="stylesheet" href="<?cs var:toroot ?>assets/yui-3.3.0-reset-min.css">
- <link rel="stylesheet" href="<?cs var:toroot ?>assets/design/default.css">
+ <link rel="stylesheet" href="<?cs var:toroot ?>assets/design/default.css?v=19">
<script src="<?cs var:toroot ?>assets/jquery-1.6.2.min.js"></script>
<script>var SITE_ROOT = '<?cs var:toroot ?>design';</script>
- <script src="<?cs var:toroot ?>assets/design/default.js"></script>
+ <script src="<?cs var:toroot ?>assets/design/default.js?v=19"></script>
</head>
<body class="gc-documentation
<?cs if:(guide||develop||training||reference||tools||sdk) ?>develop<?cs
<!-- STYLESHEETS -->
<link rel="stylesheet"
href="<?cs
-if:android.whichdoc != 'online' ?>http:<?cs
+if:android.whichdoc != 'online' ?>https:<?cs
/if ?>//fonts.googleapis.com/css?family=Roboto+Condensed">
<link rel="stylesheet" href="<?cs
-if:android.whichdoc != 'online' ?>http:<?cs
+if:android.whichdoc != 'online' ?>https:<?cs
/if ?>//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
title="roboto">
- <?cs
+ <?cs
if:ndk ?><link rel="stylesheet" href="<?cs
- if:android.whichdoc != 'online' ?>http:<?cs
+ if:android.whichdoc != 'online' ?>https:<?cs
/if ?>//fonts.googleapis.com/css?family=Roboto+Mono:400,500,700" title="roboto-mono" type="text/css"><?cs
/if ?>
- <link href="<?cs var:toroot ?>assets/css/default.css?v=7" rel="stylesheet" type="text/css">
+ <link href="<?cs var:toroot ?>assets/css/default.css?v=19" rel="stylesheet" type="text/css">
<?cs if:reference && !(reference.gms || reference.gcm || preview) ?>
<!-- FULLSCREEN STYLESHEET -->
<tr>
<td>Windows 32-bit</td>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
</td>
<td><?cs var:ndk.win32_bytes ?></td>
<td><?cs var:ndk.win32_checksum ?></td>
</tr>
<!-- <tr>
<td>
- <a onClick="return onDownload(this)"
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/ndk/<?cs var:ndk.win32.legacy_download ?>"><?cs var:ndk.win32.legacy_download ?></a>
+ href="//dl.google.com/android/ndk/<?cs var:ndk.win32.legacy_download ?>"><?cs var:ndk.win32.legacy_download ?></a>
</td>
<td><?cs var:ndk.win32.legacy_bytes ?></td>
<td><?cs var:ndk.win32.legacy_checksum ?></td>
<tr>
<td>Windows 64-bit</td>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
</td>
<td><?cs var:ndk.win64_bytes ?></td>
<td><?cs var:ndk.win64_checksum ?></td>
</tr>
<!-- <tr>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
</td>
<td><?cs var:ndk.win64.legacy_bytes ?></td>
<td><?cs var:ndk.win64.legacy_checksum ?></td>
<tr>
<td>Mac OS X 32-bit</td>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
</td>
<td><?cs var:ndk.mac32_bytes ?></td>
<td><?cs var:ndk.mac32_checksum ?></td>
<!-- (this item is deprecated)
<tr>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
</td>
<td><?cs var:ndk.mac32.legacy_bytes ?></td>
<td><?cs var:ndk.mac32.legacy_checksum ?></td>
</tr> -->
<td>Mac OS X 64-bit</td>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
</td>
<td><?cs var:ndk.mac64_bytes ?></td>
<td><?cs var:ndk.mac64_checksum ?></td>
</tr>
<!-- <tr>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
</td>
<td><?cs var:ndk.mac64.legacy_bytes ?></td>
<td><?cs var:ndk.mac64.legacy_checksum ?></td>
</tr> -->
- <tr>
- <td>Linux 32-bit (x86)</td>
- <td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.linux32_download ?>"><?cs var:ndk.linux32_download ?></a>
- </td>
- <td><?cs var:ndk.linux32_bytes ?></td>
- <td><?cs var:ndk.linux32_checksum ?></td>
- </tr>
<!-- <tr>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
</td>
<td><?cs var:ndk.linux32.legacy_bytes ?></td>
<td><?cs var:ndk.linux32.legacy_checksum ?></td>
<tr>
<td>Linux 64-bit (x86)</td>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
</td>
<td><?cs var:ndk.linux64_bytes ?></td>
<td><?cs var:ndk.linux64_checksum ?></td>
</tr>
<!-- <tr>
<td>
- <a onClick="return onDownload(this)"
- href="//dl.google.com/android/ndk/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
+ <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
- href="http://dl.google.com/android/repository/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
++ href="//dl.google.com/android/repository/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
</td>
<td><?cs var:ndk.linux64.legacy_bytes ?></td>
<td><?cs var:ndk.linux64.legacy_checksum ?></td>
<table class="download">
<tr>
<th>Platform</th>
- <th>Package</th>
+ <th>Android Studio package</th>
<th>Size</th>
- <th>SHA-1 Checksum</th>
+ <th>SHA-1 checksum</th>
</tr>
<tr>
- <td rowspan="2">Windows</td>
+ <td rowspan="3">Windows</td>
<td>
- <a onclick="return onDownload(this)" id="win-tools" href="//dl.google.com/android/<?cs
- var:sdk.win_installer
- ?>"><?cs var:sdk.win_installer ?></a> (Recommended)
+ <a onclick="return onDownload(this,false,true)" id="win-bundle" data-modal-toggle="studio_tos"
- href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_exe_download ?>"
++ href="//dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_exe_download ?>"
+ ><?cs var:studio.win_bundle_exe_download ?></a><br>
+ Includes Windows installer (recommended)
</td>
- <td><?cs var:sdk.win_installer_bytes ?> bytes</td>
- <td><?cs var:sdk.win_installer_checksum ?></td>
+ <td id="win-bundle-size"><?cs call:size_in_mb(studio.win_bundle_exe_bytes) ?> MB
+ <br>(<?cs var:studio.win_bundle_exe_bytes ?> bytes)</td>
+ <td><?cs var:studio.win_bundle_exe_checksum ?></td>
</tr>
<tr>
<!-- blank TD from Windows rowspan -->
<td>
- <a onclick="return onDownload(this)" href="//dl.google.com/android/<?cs var:sdk.win_download
- ?>"><?cs var:sdk.win_download ?></a>
+ <a onclick="return onDownload(this,false,true)" id="win-bundle-zip" data-modal-toggle="studio_tos"
- href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
++ href="//dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
+ ><?cs var:studio.win_bundle_download ?></a><br>
+ No Windows installer
</td>
- <td><?cs var:sdk.win_bytes ?> bytes</td>
- <td><?cs var:sdk.win_checksum ?></td>
+ <td><?cs call:size_in_mb(studio.win_bundle_bytes) ?> MB
+ <br>(<?cs var:studio.win_bundle_bytes ?> bytes)</td>
+ <td><?cs var:studio.win_bundle_checksum ?></td>
+ </tr>
+ <tr>
+ <!-- blank TD from Windows rowspan -->
+ <td>
+ <a onclick="return onDownload(this,false,true)" id="win-bundle-notools" data-modal-toggle="studio_tos"
+ href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_notools_exe_download ?>"
+ ><?cs var:studio.win_notools_exe_download ?></a><br>
+ Includes Windows installer but no SDK tools
+ </td>
+ <td><?cs call:size_in_mb(studio.win_notools_exe_bytes) ?> MB
+ <br>(<?cs var:studio.win_notools_exe_bytes ?> bytes)</td>
+ <td><?cs var:studio.win_notools_exe_checksum ?></td>
</tr>
<tr>
<td><nobr>Mac OS X</nobr></td>
<td>
- <a onclick="return onDownload(this)" id="mac-tools" href="//dl.google.com/android/<?cs
- var:sdk.mac_download
- ?>"><?cs var:sdk.mac_download ?></a>
+ <a onclick="return onDownload(this,false,true)" id="mac-bundle" data-modal-toggle="studio_tos"
- href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.mac_bundle_download ?>"
++ href="//dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.mac_bundle_download ?>"
+ ><?cs var:studio.mac_bundle_download ?></a>
</td>
- <td><?cs var:sdk.mac_bytes ?> bytes</td>
- <td><?cs var:sdk.mac_checksum ?></td>
+ <td id="mac-bundle-size"><?cs call:size_in_mb(studio.mac_bundle_bytes) ?> MB
+ <br>(<?cs var:studio.mac_bundle_bytes ?> bytes)</td>
+ <td><?cs var:studio.mac_bundle_checksum ?></td>
</tr>
<tr>
<td>Linux</td>
<td>
- <a onclick="return onDownload(this)" id="linux-tools" href="//dl.google.com/android/<?cs
- var:sdk.linux_download
- ?>"><?cs var:sdk.linux_download ?></a>
+ <a onclick="return onDownload(this,false,true)" id="linux-bundle" data-modal-toggle="studio_tos"
- href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
++ href="//dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
+ ><?cs var:studio.linux_bundle_download ?></a>
</td>
- <td><?cs var:sdk.linux_bytes ?> bytes</td>
- <td><?cs var:sdk.linux_checksum ?></td>
+ <td id="linux-bundle-size"><?cs call:size_in_mb(studio.linux_bundle_bytes) ?> MB
+ <br>(<?cs var:studio.linux_bundle_bytes ?> bytes)</td>
+ <td><?cs var:studio.linux_bundle_checksum ?></td>
</tr>
</table>