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