blob: fe94af8ecc54d03dd45d42b523f13200ea9c66f0 [file] [log] [blame]
Quddus Chong489218c2015-02-26 16:38:46 -08001<!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
97
Quddus Chong900831f2015-04-17 15:01:16 -070098
Quddus Chong489218c2015-02-26 16:38:46 -080099<html>
100<head>
101
102
103<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
104<meta name="viewport" content="width=device-width" />
105
106<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
107<title>UiWatcher | Android Developers</title>
108
109<!-- STYLESHEETS -->
110<link rel="stylesheet"
111href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
112<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
113 title="roboto">
Quddus Chong900831f2015-04-17 15:01:16 -0700114<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css">
Quddus Chong489218c2015-02-26 16:38:46 -0800115
116
117<!-- FULLSCREEN STYLESHEET -->
118<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
119type="text/css">
120
121
122<!-- JAVASCRIPT -->
123<script src="http://www.google.com/jsapi" type="text/javascript"></script>
124<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
125<script type="text/javascript">
126 var toRoot = "../../../../../";
127 var metaTags = [];
128 var devsite = false;
129</script>
Quddus Chong900831f2015-04-17 15:01:16 -0700130<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script>
131
132
Quddus Chong489218c2015-02-26 16:38:46 -0800133
134<script>
135 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
136 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
137 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
138 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
139
140 ga('create', 'UA-5831155-1', 'android.com');
141 ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
142 ga('send', 'pageview');
143 ga('universal.send', 'pageview'); // Send page view for new tracker.
144</script>
145
146</head>
147
148<body class="gc-documentation
149 develop reference" itemscope itemtype="http://schema.org/Article">
150 <div id="doc-api-level" class="" style="display:none"></div>
151 <a name="top"></a>
152
153
154<a name="top"></a>
155
Quddus Chong900831f2015-04-17 15:01:16 -0700156<!-- dialog to prompt lang pref change when loaded from hardcoded URL
157<div id="langMessage" style="display:none">
158 <div>
159 <div class="lang en">
160 <p>You requested a page in English, would you like to proceed with this language setting?</p>
161 </div>
162 <div class="lang es">
163 <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
164 </div>
165 <div class="lang ja">
166 <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
167 </div>
168 <div class="lang ko">
169 <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
170 </div>
171 <div class="lang ru">
172 <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
173 </div>
174 <div class="lang zh-cn">
175 <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
176 </div>
177 <div class="lang zh-tw">
178 <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
179 </div>
180 <a href="#" class="button yes" onclick="return false;">
181 <span class="lang en">Yes</span>
182 <span class="lang es">Sí</span>
183 <span class="lang ja">Yes</span>
184 <span class="lang ko">Yes</span>
185 <span class="lang ru">Yes</span>
186 <span class="lang zh-cn">是的</span>
187 <span class="lang zh-tw">没有</span>
188 </a>
189 <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
190 <span class="lang en">No</span>
191 <span class="lang es">No</span>
192 <span class="lang ja">No</span>
193 <span class="lang ko">No</span>
194 <span class="lang ru">No</span>
195 <span class="lang zh-cn">没有</span>
196 <span class="lang zh-tw">没有</span>
197 </a>
198 </div>
199</div> -->
200
201
Quddus Chong489218c2015-02-26 16:38:46 -0800202 <!-- Header -->
203 <div id="header-wrapper">
204 <div id="header">
205
206
207
208
209 <div class="wrap" id="header-wrap">
210 <div class="col-3 logo">
211 <a href="../../../../../index.html">
212 <img src="../../../../../assets/images/dac_logo.png"
213 srcset="../../../../../assets/images/dac_logo@2x.png 2x"
214 width="123" height="25" alt="Android Developers" />
215 </a>
216 <div class="btn-quicknav" id="btn-quicknav">
217 <a href="#" class="arrow-inactive">Quicknav</a>
218 <a href="#" class="arrow-active">Quicknav</a>
219 </div>
220 </div>
221 <ul class="nav-x col-9">
222 <li class="design">
223 <a href="../../../../../design/index.html"
224 zh-tw-lang="設計"
225 zh-cn-lang="设计"
226 ru-lang="Проектирование"
227 ko-lang="디자인"
228 ja-lang="設計"
229 es-lang="Diseñar"
230 >Design</a></li>
231 <li class="develop"><a href="../../../../../develop/index.html"
232 zh-tw-lang="開發"
233 zh-cn-lang="开发"
234 ru-lang="Разработка"
235 ko-lang="개발"
236 ja-lang="開発"
237 es-lang="Desarrollar"
238 >Develop</a></li>
239 <li class="distribute last"><a href="../../../../../distribute/index.html"
240 zh-tw-lang="發佈"
241 zh-cn-lang="分发"
242 ru-lang="Распространение"
243 ko-lang="배포"
244 ja-lang="配布"
245 es-lang="Distribuir"
246 >Distribute</a></li>
247 </ul>
248
249
250
251
252<div class="menu-container">
253 <div class="moremenu">
254 <div id="more-btn"></div>
255 </div>
256 <div class="morehover" id="moremenu">
257 <div class="top"></div>
258 <div class="mid">
259 <div class="header">Links</div>
260 <ul>
261 <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
262 <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
263 <li><a href="../../../../../about/index.html">About Android</a></li>
264 </ul>
265 <div class="header">Android Sites</div>
266 <ul>
267 <li><a href="http://www.android.com">Android.com</a></li>
268 <li class="active"><a>Android Developers</a></li>
269 <li><a href="http://source.android.com">Android Open Source Project</a></li>
270 </ul>
271
272
273
274
275 <br class="clearfix" />
276 </div><!-- end 'mid' -->
277 <div class="bottom"></div>
278 </div><!-- end 'moremenu' -->
279
280 <div class="search" id="search-container">
281 <div class="search-inner">
282 <div id="search-btn"></div>
283 <div class="left"></div>
284 <form onsubmit="return submit_search()">
285 <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
286 onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
287 onkeydown="return search_changed(event, true, '../../../../../')"
288 onkeyup="return search_changed(event, false, '../../../../../')" />
289 </form>
290 <div class="right"></div>
291 <a class="close hide">close</a>
292 <div class="left"></div>
293 <div class="right"></div>
294 </div><!-- end search-inner -->
295 </div><!-- end search-container -->
296
297 <div class="search_filtered_wrapper reference">
298 <div class="suggest-card reference no-display">
299 <ul class="search_filtered">
300 </ul>
301 </div>
302 </div>
303
304 <div class="search_filtered_wrapper docs">
305 <div class="suggest-card dummy no-display">&nbsp;</div>
306 <div class="suggest-card develop no-display">
307 <ul class="search_filtered">
308 </ul>
309 <div class="child-card guides no-display">
310 </div>
311 <div class="child-card training no-display">
312 </div>
313 <div class="child-card samples no-display">
314 </div>
315 </div>
316 <div class="suggest-card design no-display">
317 <ul class="search_filtered">
318 </ul>
319 </div>
320 <div class="suggest-card distribute no-display">
321 <ul class="search_filtered">
322 </ul>
323 </div>
324 </div>
325</div><!-- end menu-container (search and menu widget) -->
326
327
328
329 <!-- Expanded quicknav -->
330 <div id="quicknav" class="col-13">
331 <ul>
332 <li class="about">
333 <ul>
334 <li><a href="../../../../../about/index.html">About</a></li>
335 <li><a href="../../../../../wear/index.html">Wear</a></li>
336 <li><a href="../../../../../tv/index.html">TV</a></li>
337 <li><a href="../../../../../auto/index.html">Auto</a></li>
338 </ul>
339 </li>
340 <li class="design">
341 <ul>
342 <li><a href="../../../../../design/index.html">Get Started</a></li>
343 <li><a href="../../../../../design/devices.html">Devices</a></li>
344 <li><a href="../../../../../design/style/index.html">Style</a></li>
345 <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
346 <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
347 <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
348 <li><a href="../../../../../design/videos/index.html">Videos</a></li>
349 </ul>
350 </li>
351 <li class="develop">
352 <ul>
353 <li><a href="../../../../../training/index.html"
354 zh-tw-lang="訓練課程"
355 zh-cn-lang="培训"
356 ru-lang="Курсы"
357 ko-lang="교육"
358 ja-lang="トレーニング"
359 es-lang="Capacitación"
360 >Training</a></li>
361 <li><a href="../../../../../guide/index.html"
362 zh-tw-lang="API 指南"
363 zh-cn-lang="API 指南"
364 ru-lang="Руководства по API"
365 ko-lang="API 가이드"
366 ja-lang="API ガイド"
367 es-lang="Guías de la API"
368 >API Guides</a></li>
369 <li><a href="../../../../../reference/packages.html"
370 zh-tw-lang="參考資源"
371 zh-cn-lang="参考"
372 ru-lang="Справочник"
373 ko-lang="참조문서"
374 ja-lang="リファレンス"
375 es-lang="Referencia"
376 >Reference</a></li>
377 <li><a href="../../../../../sdk/index.html"
378 zh-tw-lang="相關工具"
379 zh-cn-lang="工具"
380 ru-lang="Инструменты"
381 ko-lang="도구"
382 ja-lang="ツール"
383 es-lang="Herramientas"
384 >Tools</a>
385 </li>
386 <li><a href="../../../../../google/index.html">Google Services</a>
387 </li>
388
389 </ul>
390 </li>
391 <li class="distribute last">
392 <ul>
393 <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
394 <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
395 <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
396 <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
397 <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
Quddus Chong900831f2015-04-17 15:01:16 -0700398 <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li>
Quddus Chong489218c2015-02-26 16:38:46 -0800399 <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
400 <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
401 </ul>
402 </li>
403 </ul>
404 </div><!-- /Expanded quicknav -->
405 </div><!-- end header-wrap.wrap -->
406 </div><!-- end header -->
407
408
409 <!-- Secondary x-nav -->
410 <div id="nav-x">
411 <div class="wrap" style="position:relative;z-index:1">
412
413
Quddus Chong489218c2015-02-26 16:38:46 -0800414
Quddus Chong489218c2015-02-26 16:38:46 -0800415
416
417 <ul class="nav-x col-9 develop" style="width:100%">
418 <li class="training"><a href="../../../../../training/index.html"
419 zh-tw-lang="訓練課程"
420 zh-cn-lang="培训"
421 ru-lang="Курсы"
422 ko-lang="교육"
423 ja-lang="トレーニング"
424 es-lang="Capacitación"
425 >Training</a></li>
426 <li class="guide"><a href="../../../../../guide/index.html"
427 zh-tw-lang="API 指南"
428 zh-cn-lang="API 指南"
429 ru-lang="Руководства по API"
430 ko-lang="API 가이드"
431 ja-lang="API ガイド"
432 es-lang="Guías de la API"
433 >API Guides</a></li>
434 <li class="reference"><a href="../../../../../reference/packages.html"
435 zh-tw-lang="參考資源"
436 zh-cn-lang="参考"
437 ru-lang="Справочник"
438 ko-lang="참조문서"
439 ja-lang="リファレンス"
440 es-lang="Referencia"
441 >Reference</a></li>
442 <li class="tools"><a href="../../../../../sdk/index.html"
443 zh-tw-lang="相關工具"
444 zh-cn-lang="工具"
445 ru-lang="Инструменты"
446 ko-lang="도구"
447 ja-lang="ツール"
448 es-lang="Herramientas"
449 >Tools</a></li>
450 <li class="google"><a href="../../../../../google/index.html"
451 >Google Services</a>
452 </li>
453
454 </ul>
455 </div>
456 </div>
457 <!-- /Sendondary x-nav DEVELOP -->
458
459
460
461 <div id="searchResults" class="wrap" style="display:none;">
462 <h2 id="searchTitle">Results</h2>
463 <div id="leftSearchControl" class="search-control">Loading...</div>
464 </div>
465 </div> <!--end header-wrapper -->
466
467 <div id="sticky-header">
468 <div>
469 <a class="logo" href="#top"></a>
470 <a class="top" href="#top"></a>
471 <ul class="breadcrumb">
472
473 <li class="current">UiWatcher</li>
474 </ul>
475 </div>
476 </div>
477
478
479
480
481
482 <div class="wrap clearfix" id="body-content">
483 <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
484 <div id="devdoc-nav">
485 <div id="api-nav-header">
486 <div id="api-level-toggle">
487 <label for="apiLevelCheckbox" class="disabled"
488 title="Select your target API level to dim unavailable APIs">API level: </label>
489 <div class="select-wrapper">
490 <select id="apiLevelSelector">
491 <!-- option elements added by buildApiLevelSelector() -->
492 </select>
493 </div>
494 </div><!-- end toggle -->
495 <div id="api-nav-title">Android APIs</div>
496 </div><!-- end nav header -->
497 <script>
498 var SINCE_DATA = [ ];
499 buildApiLevelSelector();
500 </script>
501
502 <div id="swapper">
503 <div id="nav-panels">
504 <div id="resize-packages-nav">
505 <div id="packages-nav" class="scroll-pane">
506
507 <ul>
508
509 <li class="api apilevel-">
510 <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
511 <li class="api apilevel-">
Quddus Chong900831f2015-04-17 15:01:16 -0700512 <a href="../../../../../reference/android/support/test/annotation/package-summary.html">android.support.test.annotation</a></li>
513 <li class="api apilevel-">
Quddus Chong489218c2015-02-26 16:38:46 -0800514 <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
515 <li class="api apilevel-">
516 <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
517 <li class="api apilevel-">
518 <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
519 <li class="api apilevel-">
520 <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
521 <li class="api apilevel-">
522 <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
523 <li class="api apilevel-">
Quddus Chong900831f2015-04-17 15:01:16 -0700524 <a href="../../../../../reference/android/support/test/espresso/intent/package-summary.html">android.support.test.espresso.intent</a></li>
525 <li class="api apilevel-">
526 <a href="../../../../../reference/android/support/test/espresso/intent/matcher/package-summary.html">android.support.test.espresso.intent.matcher</a></li>
527 <li class="api apilevel-">
528 <a href="../../../../../reference/android/support/test/espresso/intent/rule/package-summary.html">android.support.test.espresso.intent.rule</a></li>
529 <li class="api apilevel-">
Quddus Chong489218c2015-02-26 16:38:46 -0800530 <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
531 <li class="api apilevel-">
532 <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
533 <li class="api apilevel-">
534 <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
535 <li class="api apilevel-">
Quddus Chong900831f2015-04-17 15:01:16 -0700536 <a href="../../../../../reference/android/support/test/rule/package-summary.html">android.support.test.rule</a></li>
537 <li class="api apilevel-">
Quddus Chong489218c2015-02-26 16:38:46 -0800538 <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
539 <li class="api apilevel-">
Quddus Chong900831f2015-04-17 15:01:16 -0700540 <a href="../../../../../reference/android/support/test/runner/intent/package-summary.html">android.support.test.runner.intent</a></li>
541 <li class="api apilevel-">
Quddus Chong489218c2015-02-26 16:38:46 -0800542 <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
543 <li class="selected api apilevel-">
544 <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
545 </ul><br/>
546
547 </div> <!-- end packages-nav -->
548 </div> <!-- end resize-packages -->
549 <div id="classes-nav" class="scroll-pane">
550
551
552
553 <ul>
554
555
556 <li><h2>Interfaces</h2>
557 <ul>
558 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
559 <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
560 </ul>
561 </li>
562
563 <li><h2>Classes</h2>
564 <ul>
565 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
566 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
567 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
568 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
569 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
570 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
571 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
572 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
573 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
574 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
575 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
576 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
577 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
578 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
579 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
580 </ul>
581 </li>
582
583 <li><h2>Enums</h2>
584 <ul>
585 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
586 </ul>
587 </li>
588
589 <li><h2>Exceptions</h2>
590 <ul>
591 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
592 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
593 </ul>
594 </li>
595
596 </ul><br/>
597
598
599 </div><!-- end classes -->
600 </div><!-- end nav-panels -->
601 <div id="nav-tree" style="display:none" class="scroll-pane">
602 <div id="tree-list"></div>
603 </div><!-- end nav-tree -->
604 </div><!-- end swapper -->
605 <div id="nav-swap">
606 <a class="fullscreen">fullscreen</a>
607 <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>
608 </div>
609 </div> <!-- end devdoc-nav -->
610 </div> <!-- end side-nav -->
611 <script type="text/javascript">
612 // init fullscreen based on user pref
613 var fullscreen = readCookie("fullscreen");
614 if (fullscreen != 0) {
615 if (fullscreen == "false") {
616 toggleFullscreen(false);
617 } else {
618 toggleFullscreen(true);
619 }
620 }
621 // init nav version for mobile
622 if (isMobile) {
623 swapNav(); // tree view should be used on mobile
624 $('#nav-swap').hide();
625 } else {
626 chooseDefaultNav();
627 if ($("#nav-tree").is(':visible')) {
628 init_default_navtree("../../../../../");
629 }
630 }
631 // scroll the selected page into view
632 $(document).ready(function() {
633 scrollIntoView("packages-nav");
634 scrollIntoView("classes-nav");
635 });
636 </script>
637
638
639
640
641
642<div class="col-12" id="doc-col">
643
644<div id="api-info-block">
645
646
647
648
649<div class="sum-details-links">
650
651</div><!-- end sum-details-links -->
652<div class="api-level">
653
654
655
656
657</div>
658</div><!-- end api-info-block -->
659
660
661<!-- ======== START OF CLASS DATA ======== -->
662
663<div id="jd-header">
664 public
665
666
667
668 interface
669<h1 itemprop="name">UiWatcher</h1>
670
671
672
673
674
675
676
677
678
679
680
681</div><!-- end header -->
682
683<div id="naMessage"></div>
684
685<div id="jd-content" class="api apilevel-">
686<table class="jd-inheritance-table">
687
688
689 <tr>
690
691 <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiWatcher</td>
692 </tr>
693
694
695</table>
696
697
698
699
700
701
702
703<div class="jd-descr">
704
705
706<h2>Class Overview</h2>
707<p itemprop="articleBody">See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code> on how to register a
708 a condition watcher to be called by the automation library. The automation library will
709 invoke checkForCondition() only when a regular API call is in retry mode because it is unable
710 to locate its selector yet. Only during this time, the watchers are invoked to check if there is
711 something else unexpected on the screen.</p>
712
713
714
715
716
717</div><!-- jd-descr -->
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734<div class="jd-descr">
735
736
737<h2>Summary</h2>
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765<!-- ========== METHOD SUMMARY =========== -->
766<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
767
768
769
770
771 <tr class="alt-color api apilevel-" >
772 <td class="jd-typecol"><nobr>
773 abstract
774
775
776
777
778 boolean</nobr>
779 </td>
780 <td class="jd-linkcol" width="100%"><nobr>
781 <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html#checkForCondition()">checkForCondition</a></span>()</nobr>
782
783 <div class="jd-descrdiv">
784 Custom handler that is automatically called when the testing framework is unable to
785 find a match using the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
786
787 When the framework is in the process of matching a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> and it
788 is unable to match any widget based on the specified criteria in the selector,
789 the framework will perform retries for a predetermined time, waiting for the display
790 to update and show the desired widget.
791
792
793
794 </div>
795
796 </td></tr>
797
798
799
800</table>
801
802
803
804
805
806
807
808</div><!-- jd-descr (summary) -->
809
810<!-- Details -->
811
812
813
814
815
816
817
818
819<!-- XML Attributes -->
820
821
822<!-- Enum Values -->
823
824
825<!-- Constants -->
826
827
828<!-- Fields -->
829
830
831<!-- Public ctors -->
832
833
834
835<!-- ========= CONSTRUCTOR DETAIL ======== -->
836<!-- Protected ctors -->
837
838
839
840<!-- ========= METHOD DETAIL ======== -->
841<!-- Public methdos -->
842
843<h2>Public Methods</h2>
844
845
846
847<A NAME="checkForCondition()"></A>
848
849<div class="jd-details api apilevel-">
850 <h4 class="jd-details-title">
851 <span class="normal">
852 public
853
854
855 abstract
856
857 boolean
858 </span>
859 <span class="sympad">checkForCondition</span>
860 <span class="normal">()</span>
861 </h4>
862 <div class="api-level">
863 <div></div>
864
865
866
867 </div>
868 <div class="jd-details-descr">
869
870
871
872
873 <div class="jd-tagdata jd-tagdescr"><p>Custom handler that is automatically called when the testing framework is unable to
874 find a match using the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
875
876 When the framework is in the process of matching a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> and it
877 is unable to match any widget based on the specified criteria in the selector,
878 the framework will perform retries for a predetermined time, waiting for the display
879 to update and show the desired widget. While the framework is in this state, it will call
880 registered watchers' checkForCondition(). This gives the registered watchers a chance
881 to take a look at the display and see if there is a recognized condition that can be
882 handled and in doing so allowing the current test to continue.
883
884 An example usage would be to look for dialogs popped due to other background
885 processes requesting user attention and have nothing to do with the application
886 currently under test.</p></div>
887 <div class="jd-tagdata">
888 <h5 class="jd-tagtitle">Returns</h5>
889 <ul class="nolist"><li>true to indicate a matched condition or false for nothing was matched</li></ul>
890 </div>
891
892 </div>
893</div>
894
895
896
897
898
899<!-- ========= METHOD DETAIL ======== -->
900
901
902
903<!-- ========= END OF CLASS DATA ========= -->
904<A NAME="navbar_top"></A>
905
906<div id="footer" class="wrap" >
907
908
909 <div id="copyright">
910
911 Except as noted, this content is licensed under <a
912 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
913 For details and restrictions, see the <a href="../../../../../license.html">
914 Content License</a>.
915 </div>
916 <div id="build_info">
917
918 Android &nbsp;r &mdash;
919<script src="../../../../../timestamp.js" type="text/javascript"></script>
920<script>document.write(BUILD_TIMESTAMP)</script>
921
922 </div>
923
924
925 <div id="footerlinks">
926
927 <p>
928 <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
929 <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
930 <a href="../../../../../support.html">Support</a>
931 </p>
932 </div>
933
934</div> <!-- end footer -->
935</div> <!-- jd-content -->
936
937</div><!-- end doc-content -->
938
939</div> <!-- end body-content -->
940
941
942
943
944
945
946</body>
947</html>