1<!DOCTYPE html>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96<html>
97<head>
98
99
100<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
101<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
102<meta content="IE=edge" http-equiv="X-UA-Compatible">
103
104<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
105<title>ViewAction | Android Developers</title>
106
107<!-- STYLESHEETS -->
108<link rel="stylesheet"
109href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
110<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
111  title="roboto">
112
113<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css">
114
115
116<!-- FULLSCREEN STYLESHEET -->
117<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
118type="text/css">
119
120
121<!-- JAVASCRIPT -->
122<script src="http://www.google.com/jsapi" type="text/javascript"></script>
123<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
124<script type="text/javascript">
125  var toRoot = "../../../../../";
126  var metaTags = [];
127  var devsite = false;
128</script>
129<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script>
130
131
132
133<script>
134  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
135  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
136  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
137  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
138
139  ga('create', 'UA-5831155-1', 'android.com');
140  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
141  ga('send', 'pageview');
142  ga('universal.send', 'pageview'); // Send page view for new tracker.
143</script>
144
145</head>
146
147<body class="gc-documentation
148  develop reference" itemscope itemtype="http://schema.org/Article">
149  <div id="doc-api-level" class="" style="display:none"></div>
150  <a name="top"></a>
151
152<a name="top"></a>
153
154<!-- dialog to prompt lang pref change when loaded from hardcoded URL
155<div id="langMessage" style="display:none">
156  <div>
157    <div class="lang en">
158      <p>You requested a page in English, would you like to proceed with this language setting?</p>
159    </div>
160    <div class="lang es">
161      <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
162    </div>
163    <div class="lang ja">
164      <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
165    </div>
166    <div class="lang ko">
167      <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
168    </div>
169    <div class="lang ru">
170      <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
171    </div>
172    <div class="lang zh-cn">
173      <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
174    </div>
175    <div class="lang zh-tw">
176      <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
177    </div>
178    <a href="#" class="button yes" onclick="return false;">
179      <span class="lang en">Yes</span>
180      <span class="lang es">Sí</span>
181      <span class="lang ja">Yes</span>
182      <span class="lang ko">Yes</span>
183      <span class="lang ru">Yes</span>
184      <span class="lang zh-cn">是的</span>
185      <span class="lang zh-tw">没有</span>
186    </a>
187    <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
188      <span class="lang en">No</span>
189      <span class="lang es">No</span>
190      <span class="lang ja">No</span>
191      <span class="lang ko">No</span>
192      <span class="lang ru">No</span>
193      <span class="lang zh-cn">没有</span>
194      <span class="lang zh-tw">没有</span>
195    </a>
196  </div>
197</div> -->
198
199
200  <!-- Header -->
201  <div id="header-wrapper">
202    <div class="dac-header" id="header">
203
204
205
206
207      <div class="dac-header-inner">
208        <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation">
209          <span class="dac-nav-hamburger">
210            <span class="dac-nav-hamburger-top"></span>
211            <span class="dac-nav-hamburger-mid"></span>
212            <span class="dac-nav-hamburger-bot"></span>
213          </span>
214        </a>
215        <a class="dac-header-logo" href="../../../../../index.html">
216          <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png"
217              srcset="../../../../../assets/images/android_logo@2x.png 2x"
218              width="32" height="36" alt="Android" /> Developers
219          </a>
220
221        <ul class="dac-header-crumbs">
222
223          <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">ViewAction</a></li>
224        </ul>
225
226
227
228
229  <div class="dac-header-search" id="search-container">
230    <div class="dac-header-search-inner">
231      <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div>
232      <form class="dac-header-search-form" onsubmit="return submit_search()">
233        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
234          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
235          onkeydown="return search_changed(event, true, '../../../../../')"
236          onkeyup="return search_changed(event, false, '../../../../../')"
237          class="dac-header-search-input" placeholder="Search" />
238          <a class="dac-header-search-close hide" id="search-close">close</a>
239      </form>
240    </div><!-- end dac-header-search-inner -->
241  </div><!-- end dac-header-search -->
242
243  <div class="search_filtered_wrapper">
244    <div class="suggest-card reference no-display">
245      <ul class="search_filtered">
246      </ul>
247    </div>
248    <div class="suggest-card develop no-display">
249      <ul class="search_filtered">
250      </ul>
251      <div class="child-card guides no-display">
252      </div>
253      <div class="child-card training no-display">
254      </div>
255      <div class="child-card samples no-display">
256      </div>
257    </div>
258    <div class="suggest-card design no-display">
259      <ul class="search_filtered">
260      </ul>
261    </div>
262    <div class="suggest-card distribute no-display">
263      <ul class="search_filtered">
264      </ul>
265    </div>
266  </div>
267
268
269
270        <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/">
271          <span class="dac-sprite dac-google-play"></span>
272          <span class="dac-visible-desktop-inline">Developer</span>
273          Console
274        </a>
275
276      </div><!-- end header-wrap.wrap -->
277    </div><!-- end header -->
278
279    <div id="searchResults" class="wrap" style="display:none;">
280      <h2 id="searchTitle">Results</h2>
281      <div id="leftSearchControl" class="search-control">Loading...</div>
282    </div>
283  </div> <!--end header-wrapper -->
284
285
286  <!-- Navigation-->
287  <nav class="dac-nav">
288    <div class="dac-nav-dimmer" data-dac-toggle-nav></div>
289
290    <ul class="dac-nav-list" data-dac-nav>
291      <li class="dac-nav-item dac-nav-head">
292        <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation">
293          <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png"
294               srcset="../../../../../assets/images/android_logo@2x.png 2x"
295               width="32" height="36" alt="Android" /> Developers
296        </a>
297      </li>
298      <li class="dac-nav-item home">
299        <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a>
300        <ul class="dac-nav-secondary about">
301          <li class="dac-nav-item about">
302            <a class="dac-nav-link" href="../../../../../about/index.html">Android</a>
303          </li>
304          <li class="dac-nav-item wear">
305            <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a>
306          </li>
307          <li class="dac-nav-item tv">
308            <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a>
309          </li>
310          <li class="dac-nav-item auto">
311            <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a>
312          </li>
313        </ul>
314      </li>
315      <li class="dac-nav-item design">
316        <a class="dac-nav-link" href="../../../../../design/index.html"
317           zh-tw-lang="設計"
318           zh-cn-lang="设计"
319           ru-lang="Проектирование"
320           ko-lang="디자인"
321           ja-lang="設計"
322           es-lang="Diseñar">Design</a>
323      </li>
324      <li class="dac-nav-item develop">
325        <a class="dac-nav-link" href="../../../../../develop/index.html"
326           zh-tw-lang="開發"
327           zh-cn-lang="开发"
328           ru-lang="Разработка"
329           ko-lang="개발"
330           ja-lang="開発"
331           es-lang="Desarrollar">Develop</a>
332        <ul class="dac-nav-secondary develop">
333          <li class="dac-nav-item training">
334            <a class="dac-nav-link" href="../../../../../training/index.html"
335               zh-tw-lang="訓練課程"
336               zh-cn-lang="培训"
337               ru-lang="Курсы"
338               ko-lang="교육"
339               ja-lang="トレーニング"
340               es-lang="Capacitación">Training</a>
341          </li>
342          <li class="dac-nav-item guide">
343            <a class="dac-nav-link" href="../../../../../guide/index.html"
344               zh-tw-lang="API 指南"
345               zh-cn-lang="API 指南"
346               ru-lang="Руководства по API"
347               ko-lang="API 가이드"
348               ja-lang="API ガイド"
349               es-lang="Guías de la API">API Guides</a>
350          </li>
351          <li class="dac-nav-item reference">
352            <a class="dac-nav-link" href="../../../../../reference/packages.html"
353               zh-tw-lang="參考資源"
354               zh-cn-lang="参考"
355               ru-lang="Справочник"
356               ko-lang="참조문서"
357               ja-lang="リファレンス"
358               es-lang="Referencia">Reference</a>
359          </li>
360          <li class="dac-nav-item tools">
361            <a class="dac-nav-link" href="../../../../../sdk/index.html"
362               zh-tw-lang="相關工具"
363               zh-cn-lang="工具"
364               ru-lang="Инструменты"
365               ko-lang="도구"
366               ja-lang="ツール"
367               es-lang="Herramientas">Tools</a></li>
368          <li class="dac-nav-item google">
369            <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a>
370          </li>
371
372          <li class="dac-nav-item preview">
373            <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a>
374          </li>
375        </ul>
376      </li>
377      <li class="dac-nav-item distribute">
378        <a class="dac-nav-link" href="../../../../../distribute/index.html"
379           zh-tw-lang="發佈"
380           zh-cn-lang="分发"
381           ru-lang="Распространение"
382           ko-lang="배포"
383           ja-lang="配布"
384           es-lang="Distribuir">Distribute</a>
385        <ul class="dac-nav-secondary distribute">
386          <li class="dac-nav-item googleplay">
387            <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
388          <li class="dac-nav-item essentials">
389            <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li>
390          <li class="dac-nav-item users">
391            <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li>
392          <li class="dac-nav-item engage">
393            <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
394          <li class="dac-nav-item monetize">
395            <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a>
396          </li>
397          <li class="dac-nav-item analyze">
398            <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a>
399          </li>
400          <li class="dac-nav-item stories">
401            <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a>
402          </li>
403        </ul>
404      </li>
405    </ul>
406  </nav>
407  <!-- end navigation-->
408
409
410
411
412
413
414  <div class="wrap clearfix" id="body-content"><div class="cols">
415    <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
416      <div id="devdoc-nav">
417      <div id="api-nav-header">
418        <div id="api-level-toggle">
419          <label for="apiLevelCheckbox" class="disabled"
420            title="Select your target API level to dim unavailable APIs">API level: </label>
421          <div class="select-wrapper">
422            <select id="apiLevelSelector">
423              <!-- option elements added by buildApiLevelSelector() -->
424            </select>
425          </div>
426        </div><!-- end toggle -->
427        <div id="api-nav-title">Android APIs</div>
428        </div><!-- end nav header -->
429      <script>
430        var SINCE_DATA = [  ];
431        buildApiLevelSelector();
432      </script>
433
434      <div id="swapper">
435        <div id="nav-panels">
436          <div id="resize-packages-nav">
437            <div id="packages-nav" class="scroll-pane">
438
439              <ul>
440
441    <li class="api apilevel-">
442  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
443    <li class="api apilevel-">
444  <a href="../../../../../reference/android/support/test/annotation/package-summary.html">android.support.test.annotation</a></li>
445    <li class="selected api apilevel-">
446  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
447    <li class="api apilevel-">
448  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
449    <li class="api apilevel-">
450  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
451    <li class="api apilevel-">
452  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
453    <li class="api apilevel-">
454  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
455    <li class="api apilevel-">
456  <a href="../../../../../reference/android/support/test/espresso/intent/package-summary.html">android.support.test.espresso.intent</a></li>
457    <li class="api apilevel-">
458  <a href="../../../../../reference/android/support/test/espresso/intent/matcher/package-summary.html">android.support.test.espresso.intent.matcher</a></li>
459    <li class="api apilevel-">
460  <a href="../../../../../reference/android/support/test/espresso/intent/rule/package-summary.html">android.support.test.espresso.intent.rule</a></li>
461    <li class="api apilevel-">
462  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
463    <li class="api apilevel-">
464  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
465    <li class="api apilevel-">
466  <a href="../../../../../reference/android/support/test/espresso/web/action/package-summary.html">android.support.test.espresso.web.action</a></li>
467    <li class="api apilevel-">
468  <a href="../../../../../reference/android/support/test/espresso/web/assertion/package-summary.html">android.support.test.espresso.web.assertion</a></li>
469    <li class="api apilevel-">
470  <a href="../../../../../reference/android/support/test/espresso/web/bridge/package-summary.html">android.support.test.espresso.web.bridge</a></li>
471    <li class="api apilevel-">
472  <a href="../../../../../reference/android/support/test/espresso/web/matcher/package-summary.html">android.support.test.espresso.web.matcher</a></li>
473    <li class="api apilevel-">
474  <a href="../../../../../reference/android/support/test/espresso/web/model/package-summary.html">android.support.test.espresso.web.model</a></li>
475    <li class="api apilevel-">
476  <a href="../../../../../reference/android/support/test/espresso/web/sugar/package-summary.html">android.support.test.espresso.web.sugar</a></li>
477    <li class="api apilevel-">
478  <a href="../../../../../reference/android/support/test/espresso/web/webdriver/package-summary.html">android.support.test.espresso.web.webdriver</a></li>
479    <li class="api apilevel-">
480  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
481    <li class="api apilevel-">
482  <a href="../../../../../reference/android/support/test/rule/package-summary.html">android.support.test.rule</a></li>
483    <li class="api apilevel-">
484  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
485    <li class="api apilevel-">
486  <a href="../../../../../reference/android/support/test/runner/intent/package-summary.html">android.support.test.runner.intent</a></li>
487    <li class="api apilevel-">
488  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
489    <li class="api apilevel-">
490  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
491              </ul><br/>
492
493            </div> <!-- end packages-nav -->
494          </div> <!-- end resize-packages -->
495          <div id="classes-nav" class="scroll-pane">
496
497
498
499            <ul>
500
501
502    <li><h2>Interfaces</h2>
503      <ul>
504          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/BaseLayerComponent.html">BaseLayerComponent</a></li>
505          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
506          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
507          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
508          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
509          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
510          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
511          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
512          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
513          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteractionComponent.html">ViewInteractionComponent</a></li>
514      </ul>
515    </li>
516
517    <li><h2>Classes</h2>
518      <ul>
519          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
520          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
521          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
522          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
523          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
524          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
525          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
526          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
527          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
528          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
529          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
530      </ul>
531    </li>
532
533
534    <li><h2>Exceptions</h2>
535      <ul>
536          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
537          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
538          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
539          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
540          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
541          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
542          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
543          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
544      </ul>
545    </li>
546
547            </ul><br/>
548
549
550          </div><!-- end classes -->
551        </div><!-- end nav-panels -->
552        <div id="nav-tree" style="display:none" class="scroll-pane">
553          <div id="tree-list"></div>
554        </div><!-- end nav-tree -->
555      </div><!-- end swapper -->
556      <div id="nav-swap">
557      <a class="fullscreen">fullscreen</a>
558      <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>
559      </div>
560    </div> <!-- end devdoc-nav -->
561    </div> <!-- end side-nav -->
562    <script type="text/javascript">
563      // init fullscreen based on user pref
564      var fullscreen = readCookie("fullscreen");
565      if (fullscreen != 0) {
566        if (fullscreen == "false") {
567          toggleFullscreen(false);
568        } else {
569          toggleFullscreen(true);
570        }
571      }
572      // init nav version for mobile
573      if (isMobile) {
574        swapNav(); // tree view should be used on mobile
575        $('#nav-swap').hide();
576      } else {
577        chooseDefaultNav();
578        if ($("#nav-tree").is(':visible')) {
579          init_default_navtree("../../../../../");
580        }
581      }
582      // scroll the selected page into view
583      $(document).ready(function() {
584        scrollIntoView("packages-nav");
585        scrollIntoView("classes-nav");
586        });
587    </script>
588
589
590
591
592
593<div class="col-12"  id="doc-col">
594
595<div id="api-info-block">
596
597
598
599
600<div class="sum-details-links">
601
602Summary:
603
604
605
606
607
608
609
610
611
612
613
614  <a href="#pubmethods">Methods</a>
615
616
617
618
619&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
620
621</div><!-- end sum-details-links -->
622<div class="api-level">
623
624
625
626
627</div>
628</div><!-- end api-info-block -->
629
630
631<!-- ======== START OF CLASS DATA ======== -->
632
633<div id="jd-header">
634    public
635
636
637
638    interface
639<h1 itemprop="name">ViewAction</h1>
640
641
642
643
644
645
646
647
648
649
650
651</div><!-- end header -->
652
653<div id="naMessage"></div>
654
655<div id="jd-content" class="api apilevel-">
656<table class="jd-inheritance-table">
657
658
659    <tr>
660
661        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.ViewAction</td>
662    </tr>
663
664
665</table>
666
667
668
669
670
671
672<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
673
674  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
675          ><img id="subclasses-indirect-trigger"
676          src="../../../../../assets/images/triangle-closed.png"
677          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
678
679  <div id="subclasses-indirect">
680      <div id="subclasses-indirect-list"
681              class="jd-inheritedlinks"
682
683              >
684
685
686              <a href="../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a>,
687
688              <a href="../../../../../reference/android/support/test/espresso/web/action/AtomAction.html">AtomAction</a>&lt;E&gt;,
689
690              <a href="../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a>,
691
692              <a href="../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a>,
693
694              <a href="../../../../../reference/android/support/test/espresso/web/action/EnableJavascriptAction.html">EnableJavascriptAction</a>,
695
696              <a href="../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a>,
697
698              <a href="../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a>,
699
700              <a href="../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a>,
701
702              <a href="../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a>,
703
704              <a href="../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>,
705
706              <a href="../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a>,
707
708              <a href="../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a>,
709
710              <a href="../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a>
711
712
713      </div>
714      <div id="subclasses-indirect-summary"
715              style="display: none;"
716              >
717
718  <table class="jd-sumtable-expando">
719
720      <tr class="alt-color api apilevel-" >
721        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></td>
722        <td class="jd-descrcol" width="100%">
723          Forces an AdapterView to ensure that the data matching a provided data matcher
724 is loaded into the current view hierarchy.&nbsp;
725
726
727
728        </td>
729      </tr>
730
731
732      <tr class=" api apilevel-" >
733        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/web/action/AtomAction.html">AtomAction</a>&lt;E&gt;</td>
734        <td class="jd-descrcol" width="100%">
735          A ViewAction which causes the provided Atom to be evaluated within a webview.&nbsp;
736
737
738
739        </td>
740      </tr>
741
742
743      <tr class="alt-color api apilevel-" >
744        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></td>
745        <td class="jd-descrcol" width="100%">
746          Closes soft keyboard.&nbsp;
747
748
749
750        </td>
751      </tr>
752
753
754      <tr class=" api apilevel-" >
755        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></td>
756        <td class="jd-descrcol" width="100%">
757          Performs whatever editor (IME) action is available on a view.&nbsp;
758
759
760
761        </td>
762      </tr>
763
764
765      <tr class="alt-color api apilevel-" >
766        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/web/action/EnableJavascriptAction.html">EnableJavascriptAction</a></td>
767        <td class="jd-descrcol" width="100%">
768          Forcibly enables Javascript on a WebView.&nbsp;
769
770
771
772        </td>
773      </tr>
774
775
776      <tr class=" api apilevel-" >
777        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></td>
778        <td class="jd-descrcol" width="100%">
779          Enables clicking on views.&nbsp;
780
781
782
783        </td>
784      </tr>
785
786
787      <tr class="alt-color api apilevel-" >
788        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></td>
789        <td class="jd-descrcol" width="100%">
790          Enables swiping across a view.&nbsp;
791
792
793
794        </td>
795      </tr>
796
797
798      <tr class=" api apilevel-" >
799        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></td>
800        <td class="jd-descrcol" width="100%">
801          Enables pressing KeyEvents on views.&nbsp;
802
803
804
805        </td>
806      </tr>
807
808
809      <tr class="alt-color api apilevel-" >
810        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></td>
811        <td class="jd-descrcol" width="100%">
812          Invokes onClick of a link within a TextView (made with Linkify or via another method).&nbsp;
813
814
815
816        </td>
817      </tr>
818
819
820      <tr class=" api apilevel-" >
821        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></td>
822        <td class="jd-descrcol" width="100%">
823          Most RecyclerViewActions are given a matcher to select a particular view / viewholder within
824 the RecyclerView.&nbsp;
825
826
827
828        </td>
829      </tr>
830
831
832      <tr class="alt-color api apilevel-" >
833        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></td>
834        <td class="jd-descrcol" width="100%">
835          Replaces view text by setting <code><a href="../../../../../reference/android/widget/EditText.html">EditText</a></code>s text property to given String.&nbsp;
836
837
838
839        </td>
840      </tr>
841
842
843      <tr class=" api apilevel-" >
844        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></td>
845        <td class="jd-descrcol" width="100%">
846          Enables scrolling to the given view.&nbsp;
847
848
849
850        </td>
851      </tr>
852
853
854      <tr class="alt-color api apilevel-" >
855        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></td>
856        <td class="jd-descrcol" width="100%">
857          Enables typing text on views.&nbsp;
858
859
860
861        </td>
862      </tr>
863
864
865  </table>
866
867      </div>
868  </div>
869</td></tr></table>
870
871
872<div class="jd-descr">
873
874
875<h2>Class Overview</h2>
876<p itemprop="articleBody">Responsible for performing an interaction on the given View element.<br>
877 <p>
878 This is part of the test framework public API - developers are free to write their own ViewAction
879 implementations when necessary. When implementing a new ViewAction, follow these rules:
880 <ul>
881 <li>Inject motion events or key events via the UiController to simulate user interactions.
882 <li>Do not mutate the view directly via setter methods and other state changing methods on the
883 view parameter.
884 <li>Do not throw AssertionErrors. Assertions belong in ViewAssertion classes.
885 <li>View action code will executed on the UI thread, therefore you should not block, perform
886 sleeps, or perform other expensive computations.
887 <li>The test framework will wait for the UI thread to be idle both before and after perform() is
888 called. This means that the action is guaranteed to be synchronized with any other view
889 operations.
890 <li>Downcasting the View object to an expected subtype is allowed, so long as the object
891 expresses the subtype matches the constraints as specified in <code>getConstraints</code>.
892 </ul>
893</p>
894
895
896
897
898
899</div><!-- jd-descr -->
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916<div class="jd-descr">
917
918
919<h2>Summary</h2>
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947<!-- ========== METHOD SUMMARY =========== -->
948<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
949
950
951
952
953    <tr class="alt-color api apilevel-" >
954        <td class="jd-typecol"><nobr>
955            abstract
956
957
958
959
960            Matcher&lt;View&gt;</nobr>
961        </td>
962        <td class="jd-linkcol" width="100%"><nobr>
963        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
964
965        <div class="jd-descrdiv">
966          A mechanism for ViewActions to specify what type of views they can operate on.
967
968
969
970        </div>
971
972  </td></tr>
973
974
975
976    <tr class=" api apilevel-" >
977        <td class="jd-typecol"><nobr>
978            abstract
979
980
981
982
983            String</nobr>
984        </td>
985        <td class="jd-linkcol" width="100%"><nobr>
986        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
987
988        <div class="jd-descrdiv">
989          Returns a description of the view action.
990
991
992
993        </div>
994
995  </td></tr>
996
997
998
999    <tr class="alt-color api apilevel-" >
1000        <td class="jd-typecol"><nobr>
1001            abstract
1002
1003
1004
1005
1006            void</nobr>
1007        </td>
1008        <td class="jd-linkcol" width="100%"><nobr>
1009        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
1010
1011        <div class="jd-descrdiv">
1012          Performs this action on the given view.
1013
1014
1015
1016        </div>
1017
1018  </td></tr>
1019
1020
1021
1022</table>
1023
1024
1025
1026
1027
1028
1029
1030</div><!-- jd-descr (summary) -->
1031
1032<!-- Details -->
1033
1034
1035
1036
1037
1038
1039
1040
1041<!-- XML Attributes -->
1042
1043
1044<!-- Enum Values -->
1045
1046
1047<!-- Constants -->
1048
1049
1050<!-- Fields -->
1051
1052
1053<!-- Public ctors -->
1054
1055
1056
1057<!-- ========= CONSTRUCTOR DETAIL ======== -->
1058<!-- Protected ctors -->
1059
1060
1061
1062<!-- ========= METHOD DETAIL ======== -->
1063<!-- Public methdos -->
1064
1065<h2>Public Methods</h2>
1066
1067
1068
1069<A NAME="getConstraints()"></A>
1070
1071<div class="jd-details api apilevel-">
1072    <h4 class="jd-details-title">
1073      <span class="normal">
1074        public
1075
1076
1077        abstract
1078
1079        Matcher&lt;View&gt;
1080      </span>
1081      <span class="sympad">getConstraints</span>
1082      <span class="normal">()</span>
1083    </h4>
1084      <div class="api-level">
1085        <div></div>
1086
1087
1088
1089      </div>
1090    <div class="jd-details-descr">
1091
1092
1093
1094
1095  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
1096
1097 A ViewAction can demand that the view passed to perform meets certain constraints. For example
1098 it may want to ensure the view is already in the viewable physical screen of the device or is
1099 of a certain type.</p></div>
1100  <div class="jd-tagdata">
1101      <h5 class="jd-tagtitle">Returns</h5>
1102      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
1103     <code>Matcher</code></a> that will be tested prior to calling perform.
1104</li></ul>
1105  </div>
1106
1107    </div>
1108</div>
1109
1110
1111<A NAME="getDescription()"></A>
1112
1113<div class="jd-details api apilevel-">
1114    <h4 class="jd-details-title">
1115      <span class="normal">
1116        public
1117
1118
1119        abstract
1120
1121        String
1122      </span>
1123      <span class="sympad">getDescription</span>
1124      <span class="normal">()</span>
1125    </h4>
1126      <div class="api-level">
1127        <div></div>
1128
1129
1130
1131      </div>
1132    <div class="jd-details-descr">
1133
1134
1135
1136
1137  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
1138 fit nicely in a sentence like: "performing %description% action on view with id ..."
1139</p></div>
1140
1141    </div>
1142</div>
1143
1144
1145<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
1146
1147<div class="jd-details api apilevel-">
1148    <h4 class="jd-details-title">
1149      <span class="normal">
1150        public
1151
1152
1153        abstract
1154
1155        void
1156      </span>
1157      <span class="sympad">perform</span>
1158      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
1159    </h4>
1160      <div class="api-level">
1161        <div></div>
1162
1163
1164
1165      </div>
1166    <div class="jd-details-descr">
1167
1168
1169
1170
1171  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
1172  <div class="jd-tagdata">
1173      <h5 class="jd-tagtitle">Parameters</h5>
1174      <table class="jd-tagtable">
1175        <tr>
1176          <th>uiController</td>
1177          <td>the controller to use to interact with the UI.</td>
1178        </tr>
1179        <tr>
1180          <th>view</td>
1181          <td>the view to act upon. never null.
1182</td>
1183        </tr>
1184      </table>
1185  </div>
1186
1187    </div>
1188</div>
1189
1190
1191
1192
1193
1194<!-- ========= METHOD DETAIL ======== -->
1195
1196
1197
1198<!-- ========= END OF CLASS DATA ========= -->
1199<A NAME="navbar_top"></A>
1200</div> <!-- jd-content -->
1201
1202<div class="wrap">
1203  <div class="dac-footer">
1204    <div class="cols dac-footer-main">
1205      <div class="col-1of2">
1206        <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news &amp; tips <span
1207          class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a>
1208      </div>
1209      <div class="col-1of2 dac-footer-reachout">
1210        <div class="dac-footer-contact">
1211          <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a>
1212          <a class="dac-footer-contact-link" href="/support.html">Support</a>
1213        </div>
1214        <div class="dac-footer-social">
1215          <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a>
1216          <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a>
1217          <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a>
1218        </div>
1219      </div>
1220    </div>
1221
1222    <hr class="dac-footer-separator"/>
1223
1224
1225      <p class="dac-footer-copyright">
1226
1227  Except as noted, this content is licensed under <a
1228  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
1229  For details and restrictions, see the <a href="../../../../../license.html">
1230  Content License</a>.
1231      </p>
1232      <p class="dac-footer-build">
1233
1234    Android &nbsp;r &mdash;
1235<script src="../../../../../timestamp.js" type="text/javascript"></script>
1236<script>document.write(BUILD_TIMESTAMP)</script>
1237
1238      </p>
1239
1240
1241    <p class="dac-footer-links">
1242      <a href="/about/index.html">About Android</a>
1243      <a href="/auto/index.html">Auto</a>
1244      <a href="/tv/index.html">TV</a>
1245      <a href="/wear/index.html">Wear</a>
1246      <a href="/legal.html">Legal</a>
1247
1248      <span id="language" class="locales">
1249        <select name="language" onchange="changeLangPref(this.value, true)">
1250          <option value="en" selected="selected">English</option>
1251          <option value="es">Español</option>
1252          <option value="ja">日本語</option>
1253          <option value="ko">한국어</option>
1254          <option value="ru">Русский</option>
1255          <option value="zh-cn">中文(简体)</option>
1256          <option value="zh-tw">中文(繁體)</option>
1257        </select>
1258      </span>
1259    </p>
1260  </div>
1261</div> <!-- end footer -->
1262
1263<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter">
1264  <div class="dac-modal-container">
1265    <div class="dac-modal-window">
1266      <header class="dac-modal-header">
1267        <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button>
1268        <div class="dac-swap" data-swap-container>
1269          <section class="dac-swap-section dac-active dac-down">
1270            <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2>
1271            <p class="dac-modal-header-subtitle">&#42; Required Fields</p>
1272          </section>
1273          <section class="dac-swap-section dac-up">
1274            <h2 class="norule dac-modal-header-title">Hooray!</h2>
1275          </section>
1276        </div>
1277      </header>
1278      <div class="dac-swap" data-swap-container>
1279        <section class="dac-swap-section dac-active dac-left">
1280          <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe">
1281            <section class="dac-modal-content">
1282              <fieldset class="dac-form-fieldset">
1283                <div class="cols">
1284                  <div class="col-1of2 newsletter-leftCol">
1285                    <div class="dac-form-input-group">
1286                      <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label>
1287                      <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required>
1288                      <span class="dac-form-required">*</span>
1289                    </div>
1290                    <div class="dac-form-input-group">
1291                      <label for="newsletter-email" class="dac-form-floatlabel">Email address</label>
1292                      <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required>
1293                      <span class="dac-form-required">*</span>
1294                    </div>
1295                  </div>
1296                  <div class="col-1of2 newsletter-rightCol">
1297                    <div class="dac-form-input-group">
1298                      <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label>
1299                      <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company">
1300                    </div>
1301                    <div class="dac-form-input-group">
1302                      <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label>
1303                      <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required>
1304                      <span class="dac-form-required">*</span>
1305                    </div>
1306                  </div>
1307                </div>
1308              </fieldset>
1309              <fieldset class="dac-form-fieldset">
1310                <div class="cols">
1311                  <div class="col-1of2 newsletter-leftCol">
1312                    <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span>
1313                    </legend>
1314                    <div class="dac-form-radio-group">
1315                      <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required>
1316                      <label for="newsletter-business-type-app" class="dac-form-radio-button"></label>
1317                      <label for="newsletter-business-type-app" class="dac-form-label">Apps</label>
1318                    </div>
1319                    <div class="dac-form-radio-group">
1320                      <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required>
1321                      <label for="newsletter-business-type-games" class="dac-form-radio-button"></label>
1322                      <label for="newsletter-business-type-games" class="dac-form-label">Games</label>
1323                    </div>
1324                    <div class="dac-form-radio-group">
1325                      <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required>
1326                      <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label>
1327                      <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps &amp; Games</label>
1328                    </div>
1329                  </div>
1330                  <div class="col-1of2 newsletter-rightCol newsletter-checkboxes">
1331                    <div class="dac-form-radio-group">
1332                      <div class="dac-media">
1333                        <div class="dac-media-figure">
1334                          <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.">
1335                          <label for="newsletter-add" class="dac-form-checkbox-button"></label>
1336                        </div>
1337                        <div class="dac-media-body">
1338                          <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label>
1339                        </div>
1340                      </div>
1341                    </div>
1342                    <div class="dac-form-radio-group">
1343                      <div class="dac-media">
1344                        <div class="dac-media-figure">
1345                          <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/).">
1346                          <label for="newsletter-terms" class="dac-form-checkbox-button"></label>
1347                        </div>
1348                        <div class="dac-media-body">
1349                          <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label>
1350                        </div>
1351                      </div>
1352                    </div>
1353                  </div>
1354                </div>
1355              </fieldset>
1356            </section>
1357            <footer class="dac-modal-footer">
1358              <div class="cols">
1359                <div class="col-2of5">
1360                </div>
1361              </div>
1362              <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button>
1363            </footer>
1364          </form>
1365        </section>
1366        <section class="dac-swap-section dac-right">
1367          <div class="dac-modal-content">
1368            <p class="newsletter-success-message">
1369              You have successfully signed up for the latest Android developer news and tips.
1370            </p>
1371          </div>
1372        </section>
1373      </div>
1374    </div>
1375  </div>
1376</div> <!-- end footer -->
1377
1378</div><!-- end doc-content -->
1379
1380</div> <!-- end .cols -->
1381</div> <!-- end body-content -->
1382
1383
1384
1385
1386
1387
1388</body>
1389</html>
1390