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 97 98 99 100 101<html> 102<head> 103 104 105<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 106<meta name="viewport" content="width=device-width" /> 107 108<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> 109<title>CanvasWatchFaceService.Engine | Android Developers</title> 110 111<!-- STYLESHEETS --> 112<link rel="stylesheet" 113href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> 114<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" 115 title="roboto"> 116<link href="../../../../../assets/css/default.css?v=4" rel="stylesheet" type="text/css"> 117 118 119<!-- FULLSCREEN STYLESHEET --> 120<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen" 121type="text/css"> 122 123 124<!-- JAVASCRIPT --> 125<script src="http://www.google.com/jsapi" type="text/javascript"></script> 126<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script> 127<script type="text/javascript"> 128 var toRoot = "../../../../../"; 129 var metaTags = []; 130 var devsite = false; 131</script> 132<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> 133 134 135 136<script> 137 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 138 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 139 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 140 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 141 142 ga('create', 'UA-5831155-1', 'android.com'); 143 ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker); 144 ga('send', 'pageview'); 145 ga('universal.send', 'pageview'); // Send page view for new tracker. 146</script> 147 148</head> 149 150<body class="gc-documentation 151 develop reference" itemscope itemtype="http://schema.org/Article"> 152 <div id="doc-api-level" class="" style="display:none"></div> 153 <a name="top"></a> 154 155 156<a name="top"></a> 157 158<!-- dialog to prompt lang pref change when loaded from hardcoded URL 159<div id="langMessage" style="display:none"> 160 <div> 161 <div class="lang en"> 162 <p>You requested a page in English, would you like to proceed with this language setting?</p> 163 </div> 164 <div class="lang es"> 165 <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p> 166 </div> 167 <div class="lang ja"> 168 <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p> 169 </div> 170 <div class="lang ko"> 171 <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p> 172 </div> 173 <div class="lang ru"> 174 <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p> 175 </div> 176 <div class="lang zh-cn"> 177 <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p> 178 </div> 179 <div class="lang zh-tw"> 180 <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p> 181 </div> 182 <a href="#" class="button yes" onclick="return false;"> 183 <span class="lang en">Yes</span> 184 <span class="lang es">Sí</span> 185 <span class="lang ja">Yes</span> 186 <span class="lang ko">Yes</span> 187 <span class="lang ru">Yes</span> 188 <span class="lang zh-cn">是的</span> 189 <span class="lang zh-tw">没有</span> 190 </a> 191 <a href="#" class="button" onclick="$('#langMessage').hide();return false;"> 192 <span class="lang en">No</span> 193 <span class="lang es">No</span> 194 <span class="lang ja">No</span> 195 <span class="lang ko">No</span> 196 <span class="lang ru">No</span> 197 <span class="lang zh-cn">没有</span> 198 <span class="lang zh-tw">没有</span> 199 </a> 200 </div> 201</div> --> 202 203 204 <!-- Header --> 205 <div id="header-wrapper"> 206 <div id="header"> 207 208 209 210 211 <div class="wrap" id="header-wrap"> 212 <div class="col-3 logo"> 213 <a href="../../../../../index.html"> 214 <img src="../../../../../assets/images/dac_logo.png" 215 srcset="../../../../../assets/images/dac_logo@2x.png 2x" 216 width="123" height="25" alt="Android Developers" /> 217 </a> 218 <div class="btn-quicknav" id="btn-quicknav"> 219 <a href="#" class="arrow-inactive">Quicknav</a> 220 <a href="#" class="arrow-active">Quicknav</a> 221 </div> 222 </div> 223 <ul class="nav-x col-9"> 224 <li class="design"> 225 <a href="../../../../../design/index.html" 226 zh-tw-lang="設計" 227 zh-cn-lang="设计" 228 ru-lang="Проектирование" 229 ko-lang="디자인" 230 ja-lang="設計" 231 es-lang="Diseñar" 232 >Design</a></li> 233 <li class="develop"><a href="../../../../../develop/index.html" 234 zh-tw-lang="開發" 235 zh-cn-lang="开发" 236 ru-lang="Разработка" 237 ko-lang="개발" 238 ja-lang="開発" 239 es-lang="Desarrollar" 240 >Develop</a></li> 241 <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" 242 zh-tw-lang="發佈" 243 zh-cn-lang="分发" 244 ru-lang="Распространение" 245 ko-lang="배포" 246 ja-lang="配布" 247 es-lang="Distribuir" 248 >Distribute</a></li> 249 </ul> 250 251 252 253 254<div class="menu-container"> 255 <div class="moremenu"> 256 <div id="more-btn"></div> 257 </div> 258 <div class="morehover" id="moremenu"> 259 <div class="top"></div> 260 <div class="mid"> 261 <div class="header">Links</div> 262 <ul> 263 <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> 264 <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> 265 <li><a href="../../../../../about/index.html">About Android</a></li> 266 </ul> 267 <div class="header">Android Sites</div> 268 <ul> 269 <li><a href="http://www.android.com">Android.com</a></li> 270 <li class="active"><a>Android Developers</a></li> 271 <li><a href="http://source.android.com">Android Open Source Project</a></li> 272 </ul> 273 274 275 276 277 <br class="clearfix" /> 278 </div><!-- end 'mid' --> 279 <div class="bottom"></div> 280 </div><!-- end 'moremenu' --> 281 282 <div class="search" id="search-container"> 283 <div class="search-inner"> 284 <div id="search-btn"></div> 285 <div class="left"></div> 286 <form onsubmit="return submit_search()"> 287 <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" 288 onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" 289 onkeydown="return search_changed(event, true, '../../../../../')" 290 onkeyup="return search_changed(event, false, '../../../../../')" /> 291 </form> 292 <div class="right"></div> 293 <a class="close hide">close</a> 294 <div class="left"></div> 295 <div class="right"></div> 296 </div><!-- end search-inner --> 297 </div><!-- end search-container --> 298 299 <div class="search_filtered_wrapper reference"> 300 <div class="suggest-card reference no-display"> 301 <ul class="search_filtered"> 302 </ul> 303 </div> 304 </div> 305 306 <div class="search_filtered_wrapper docs"> 307 <div class="suggest-card dummy no-display"> </div> 308 <div class="suggest-card develop no-display"> 309 <ul class="search_filtered"> 310 </ul> 311 <div class="child-card guides no-display"> 312 </div> 313 <div class="child-card training no-display"> 314 </div> 315 <div class="child-card samples no-display"> 316 </div> 317 </div> 318 <div class="suggest-card design no-display"> 319 <ul class="search_filtered"> 320 </ul> 321 </div> 322 <div class="suggest-card distribute no-display"> 323 <ul class="search_filtered"> 324 </ul> 325 </div> 326 </div> 327</div><!-- end menu-container (search and menu widget) --> 328 329 330 331 <!-- Expanded quicknav --> 332 <div id="quicknav" class="col-13"> 333 <ul> 334 <li class="about"> 335 <ul> 336 <li><a href="../../../../../about/index.html">About</a></li> 337 <li><a href="../../../../../wear/index.html">Wear</a></li> 338 <li><a href="../../../../../tv/index.html">TV</a></li> 339 <li><a href="../../../../../auto/index.html">Auto</a></li> 340 </ul> 341 </li> 342 <li class="design"> 343 <ul> 344 <li><a href="../../../../../design/index.html">Get Started</a></li> 345 <li><a href="../../../../../design/devices.html">Devices</a></li> 346 <li><a href="../../../../../design/style/index.html">Style</a></li> 347 <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> 348 <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> 349 <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> 350 <li><a href="../../../../../design/videos/index.html">Videos</a></li> 351 </ul> 352 </li> 353 <li class="develop"> 354 <ul> 355 <li><a href="../../../../../training/index.html" 356 zh-tw-lang="訓練課程" 357 zh-cn-lang="培训" 358 ru-lang="Курсы" 359 ko-lang="교육" 360 ja-lang="トレーニング" 361 es-lang="Capacitación" 362 >Training</a></li> 363 <li><a href="../../../../../guide/index.html" 364 zh-tw-lang="API 指南" 365 zh-cn-lang="API 指南" 366 ru-lang="Руководства по API" 367 ko-lang="API 가이드" 368 ja-lang="API ガイド" 369 es-lang="Guías de la API" 370 >API Guides</a></li> 371 <li><a href="../../../../../reference/packages.html" 372 zh-tw-lang="參考資源" 373 zh-cn-lang="参考" 374 ru-lang="Справочник" 375 ko-lang="참조문서" 376 ja-lang="リファレンス" 377 es-lang="Referencia" 378 >Reference</a></li> 379 <li><a href="../../../../../sdk/index.html" 380 zh-tw-lang="相關工具" 381 zh-cn-lang="工具" 382 ru-lang="Инструменты" 383 ko-lang="도구" 384 ja-lang="ツール" 385 es-lang="Herramientas" 386 >Tools</a> 387 </li> 388 <li><a href="../../../../../google/index.html">Google Services</a> 389 </li> 390 391 </ul> 392 </li> 393 <li class="distribute last"> 394 <ul> 395 <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> 396 <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> 397 <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> 398 <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> 399 <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> 400 <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> 401 <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> 402 </ul> 403 </li> 404 </ul> 405 </div><!-- /Expanded quicknav --> 406 </div><!-- end header-wrap.wrap --> 407 </div><!-- end header --> 408 409 410 <!-- Secondary x-nav --> 411 <div id="nav-x"> 412 <div class="wrap" style="position:relative;z-index:1"> 413 414 415 416 <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card" 417 href="http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=dac&utm_medium=banner&utm_campaign=android_provider_banner3" target="_blank"> 418 <div class="card-bg helpouts-card-bg"></div> 419 <div class="card-info"> 420 <div class="helpouts-description"> 421 <div class="text">Help Android Wear and TV developers<br/> 422 <span id="helpoutsLinkText" class="link-color" 423 style="display:block;padding-top:5px;text-align:right">Learn more</span> 424 </div> 425 </div> 426 </div> 427 </a> 428 429 430 431 <ul class="nav-x col-9 develop" style="width:100%"> 432 <li class="training"><a href="../../../../../training/index.html" 433 zh-tw-lang="訓練課程" 434 zh-cn-lang="培训" 435 ru-lang="Курсы" 436 ko-lang="교육" 437 ja-lang="トレーニング" 438 es-lang="Capacitación" 439 >Training</a></li> 440 <li class="guide"><a href="../../../../../guide/index.html" 441 zh-tw-lang="API 指南" 442 zh-cn-lang="API 指南" 443 ru-lang="Руководства по API" 444 ko-lang="API 가이드" 445 ja-lang="API ガイド" 446 es-lang="Guías de la API" 447 >API Guides</a></li> 448 <li class="reference"><a href="../../../../../reference/packages.html" 449 zh-tw-lang="參考資源" 450 zh-cn-lang="参考" 451 ru-lang="Справочник" 452 ko-lang="참조문서" 453 ja-lang="リファレンス" 454 es-lang="Referencia" 455 >Reference</a></li> 456 <li class="tools"><a href="../../../../../sdk/index.html" 457 zh-tw-lang="相關工具" 458 zh-cn-lang="工具" 459 ru-lang="Инструменты" 460 ko-lang="도구" 461 ja-lang="ツール" 462 es-lang="Herramientas" 463 >Tools</a></li> 464 <li class="google"><a href="../../../../../google/index.html" 465 >Google Services</a> 466 </li> 467 468 </ul> 469 </div> 470 </div> 471 <!-- /Sendondary x-nav DEVELOP --> 472 473 474 475 <div id="searchResults" class="wrap" style="display:none;"> 476 <h2 id="searchTitle">Results</h2> 477 <div id="leftSearchControl" class="search-control">Loading...</div> 478 </div> 479 </div> <!--end header-wrapper --> 480 481 <div id="sticky-header"> 482 <div> 483 <a class="logo" href="#top"></a> 484 <a class="top" href="#top"></a> 485 <ul class="breadcrumb"> 486 487 <li class="current">CanvasWatchFaceService.Engine</li> 488 </ul> 489 </div> 490 </div> 491 492 493 494 495 496 <div class="wrap clearfix" id="body-content"> 497 <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> 498 <div id="devdoc-nav"> 499 <div id="api-nav-header"> 500 <div id="api-level-toggle"> 501 <label for="apiLevelCheckbox" class="disabled" 502 title="Select your target API level to dim unavailable APIs">API level: </label> 503 <div class="select-wrapper"> 504 <select id="apiLevelSelector"> 505 <!-- option elements added by buildApiLevelSelector() --> 506 </select> 507 </div> 508 </div><!-- end toggle --> 509 <div id="api-nav-title">Android APIs</div> 510 </div><!-- end nav header --> 511 <script> 512 var SINCE_DATA = [ ]; 513 buildApiLevelSelector(); 514 </script> 515 516 <div id="swapper"> 517 <div id="nav-panels"> 518 <div id="resize-packages-nav"> 519 <div id="packages-nav" class="scroll-pane"> 520 521 <ul> 522 523 <li class="api apilevel-"> 524 <a href="../../../../../reference/android/support/wearable/package-summary.html">android.support.wearable</a></li> 525 <li class="api apilevel-"> 526 <a href="../../../../../reference/android/support/wearable/activity/package-summary.html">android.support.wearable.activity</a></li> 527 <li class="api apilevel-"> 528 <a href="../../../../../reference/android/support/wearable/companion/package-summary.html">android.support.wearable.companion</a></li> 529 <li class="api apilevel-"> 530 <a href="../../../../../reference/android/support/wearable/provider/package-summary.html">android.support.wearable.provider</a></li> 531 <li class="api apilevel-"> 532 <a href="../../../../../reference/android/support/wearable/view/package-summary.html">android.support.wearable.view</a></li> 533 <li class="selected api apilevel-"> 534 <a href="../../../../../reference/android/support/wearable/watchface/package-summary.html">android.support.wearable.watchface</a></li> 535 </ul><br/> 536 537 </div> <!-- end packages-nav --> 538 </div> <!-- end resize-packages --> 539 <div id="classes-nav" class="scroll-pane"> 540 541 542 543 <ul> 544 545 546 547 <li><h2>Classes</h2> 548 <ul> 549 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.html">CanvasWatchFaceService</a></li> 550 <li class="selected api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html">CanvasWatchFaceService.Engine</a></li> 551 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.html">Gles2WatchFaceService</a></li> 552 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html">Gles2WatchFaceService.Engine</a></li> 553 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.html">WatchFaceService</a></li> 554 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html">WatchFaceService.Engine</a></li> 555 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html">WatchFaceStyle</a></li> 556 <li class="api apilevel-"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html">WatchFaceStyle.Builder</a></li> 557 </ul> 558 </li> 559 560 561 562 </ul><br/> 563 564 565 </div><!-- end classes --> 566 </div><!-- end nav-panels --> 567 <div id="nav-tree" style="display:none" class="scroll-pane"> 568 <div id="tree-list"></div> 569 </div><!-- end nav-tree --> 570 </div><!-- end swapper --> 571 <div id="nav-swap"> 572 <a class="fullscreen">fullscreen</a> 573 <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> 574 </div> 575 </div> <!-- end devdoc-nav --> 576 </div> <!-- end side-nav --> 577 <script type="text/javascript"> 578 // init fullscreen based on user pref 579 var fullscreen = readCookie("fullscreen"); 580 if (fullscreen != 0) { 581 if (fullscreen == "false") { 582 toggleFullscreen(false); 583 } else { 584 toggleFullscreen(true); 585 } 586 } 587 // init nav version for mobile 588 if (isMobile) { 589 swapNav(); // tree view should be used on mobile 590 $('#nav-swap').hide(); 591 } else { 592 chooseDefaultNav(); 593 if ($("#nav-tree").is(':visible')) { 594 init_default_navtree("../../../../../"); 595 } 596 } 597 // scroll the selected page into view 598 $(document).ready(function() { 599 scrollIntoView("packages-nav"); 600 scrollIntoView("classes-nav"); 601 }); 602 </script> 603 604 605 606 607 608<div class="col-12" id="doc-col"> 609 610<div id="api-info-block"> 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636<div class="sum-details-links"> 637 638Summary: 639 640 641 642 643 644 645 646 647 648 <a href="#pubctors">Ctors</a> 649 650 651 652 653 | <a href="#pubmethods">Methods</a> 654 655 656 657 658 | <a href="#inhmethods">Inherited Methods</a> 659 660| <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a> 661 662</div><!-- end sum-details-links --> 663<div class="api-level"> 664 665 666 667 668</div> 669</div><!-- end api-info-block --> 670 671 672<!-- ======== START OF CLASS DATA ======== --> 673 674<div id="jd-header"> 675 public 676 677 678 679 class 680<h1 itemprop="name">CanvasWatchFaceService.Engine</h1> 681 682 683 684 685 686 687 688 689 690 691 692 693 extends <a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html">WatchFaceService.Engine</a><br/> 694 695 696 697 698 699 700 701 702 703 704 705 706</div><!-- end header --> 707 708<div id="naMessage"></div> 709 710<div id="jd-content" class="api apilevel-"><p style="border:2px solid #99ccff;padding:12px;margin-top:20px"><strong>Note:</strong> The Wearable Support Library classes under the <code>android.support.wearable</code> package are subject to change. For the full Android API reference, see <a href="/reference/">Reference</a>.</p> 711<table class="jd-inheritance-table"> 712 713 714 <tr> 715 716 <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td> 717 </tr> 718 719 720 <tr> 721 722 <td class="jd-inheritance-space"> ↳</td> 723 724 <td colspan="3" class="jd-inheritance-class-cell">android.service.wallpaper.WallpaperService.Engine</td> 725 </tr> 726 727 728 <tr> 729 730 <td class="jd-inheritance-space"> </td> 731 732 <td class="jd-inheritance-space"> ↳</td> 733 734 <td colspan="2" class="jd-inheritance-class-cell"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html">android.support.wearable.watchface.WatchFaceService.Engine</a></td> 735 </tr> 736 737 738 <tr> 739 740 <td class="jd-inheritance-space"> </td> 741 742 <td class="jd-inheritance-space"> </td> 743 744 <td class="jd-inheritance-space"> ↳</td> 745 746 <td colspan="1" class="jd-inheritance-class-cell">android.support.wearable.watchface.CanvasWatchFaceService.Engine</td> 747 </tr> 748 749 750</table> 751 752 753 754 755 756 757 758<div class="jd-descr"> 759 760 761<h2>Class Overview</h2> 762<p itemprop="articleBody">The actual implementation of a watch face that draws on a <code><a href="../../../../../reference/android/graphics/Canvas.html">Canvas</a></code>. You must implement 763 <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.html#onCreateEngine()">onCreateEngine()</a></code> to return your concrete Engine 764 implementation. 765</p> 766 767 768 769 770 771</div><!-- jd-descr --> 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788<div class="jd-descr"> 789 790 791<h2>Summary</h2> 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815<!-- ======== CONSTRUCTOR SUMMARY ======== --> 816<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr> 817 818 819 820 821 <tr class="alt-color api apilevel-" > 822 <td class="jd-typecol"><nobr> 823 824 825 826 827 828 </nobr> 829 </td> 830 <td class="jd-linkcol" width="100%"><nobr> 831 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#CanvasWatchFaceService.Engine()">CanvasWatchFaceService.Engine</a></span>()</nobr> 832 833 </td></tr> 834 835 836 837</table> 838 839 840 841 842 843 844<!-- ========== METHOD SUMMARY =========== --> 845<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr> 846 847 848 849 850 <tr class="alt-color api apilevel-" > 851 <td class="jd-typecol"><nobr> 852 853 854 855 856 857 void</nobr> 858 </td> 859 <td class="jd-linkcol" width="100%"><nobr> 860 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#invalidate()">invalidate</a></span>()</nobr> 861 862 <div class="jd-descrdiv"> 863 Schedules a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. 864 865 866 867 </div> 868 869 </td></tr> 870 871 872 873 <tr class=" api apilevel-" > 874 <td class="jd-typecol"><nobr> 875 876 877 878 879 880 void</nobr> 881 </td> 882 <td class="jd-linkcol" width="100%"><nobr> 883 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDestroy()">onDestroy</a></span>()</nobr> 884 885 </td></tr> 886 887 888 889 <tr class="alt-color api apilevel-" > 890 <td class="jd-typecol"><nobr> 891 892 893 894 895 896 void</nobr> 897 </td> 898 <td class="jd-linkcol" width="100%"><nobr> 899 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw</a></span>(Canvas canvas, Rect bounds)</nobr> 900 901 <div class="jd-descrdiv"> 902 Draws the watch face. 903 904 905 906 </div> 907 908 </td></tr> 909 910 911 912 <tr class=" api apilevel-" > 913 <td class="jd-typecol"><nobr> 914 915 916 917 918 919 void</nobr> 920 </td> 921 <td class="jd-linkcol" width="100%"><nobr> 922 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onSurfaceChanged(android.view.SurfaceHolder, int, int, int)">onSurfaceChanged</a></span>(SurfaceHolder holder, int format, int width, int height)</nobr> 923 924 </td></tr> 925 926 927 928 <tr class="alt-color api apilevel-" > 929 <td class="jd-typecol"><nobr> 930 931 932 933 934 935 void</nobr> 936 </td> 937 <td class="jd-linkcol" width="100%"><nobr> 938 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onSurfaceCreated(android.view.SurfaceHolder)">onSurfaceCreated</a></span>(SurfaceHolder holder)</nobr> 939 940 </td></tr> 941 942 943 944 <tr class=" api apilevel-" > 945 <td class="jd-typecol"><nobr> 946 947 948 949 950 951 void</nobr> 952 </td> 953 <td class="jd-linkcol" width="100%"><nobr> 954 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onSurfaceRedrawNeeded(android.view.SurfaceHolder)">onSurfaceRedrawNeeded</a></span>(SurfaceHolder holder)</nobr> 955 956 </td></tr> 957 958 959 960 <tr class="alt-color api apilevel-" > 961 <td class="jd-typecol"><nobr> 962 963 964 965 966 967 void</nobr> 968 </td> 969 <td class="jd-linkcol" width="100%"><nobr> 970 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#postInvalidate()">postInvalidate</a></span>()</nobr> 971 972 <div class="jd-descrdiv"> 973 Posts a message to schedule a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. 974 975 976 977 </div> 978 979 </td></tr> 980 981 982 983</table> 984 985 986 987 988 989 990 991<!-- ========== METHOD SUMMARY =========== --> 992<table id="inhmethods" class="jd-sumtable"><tr><th> 993 <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a> 994 <div style="clear:left;">Inherited Methods</div></th></tr> 995 996 997<tr class="api apilevel-" > 998<td colspan="12"> 999 <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.wearable.watchface.WatchFaceService.Engine" class="jd-expando-trigger closed" 1000 ><img id="inherited-methods-android.support.wearable.watchface.WatchFaceService.Engine-trigger" 1001 src="../../../../../assets/images/triangle-closed.png" 1002 class="jd-expando-trigger-img" /></a> 1003From class 1004 1005 <a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html">android.support.wearable.watchface.WatchFaceService.Engine</a> 1006 1007<div id="inherited-methods-android.support.wearable.watchface.WatchFaceService.Engine"> 1008 <div id="inherited-methods-android.support.wearable.watchface.WatchFaceService.Engine-list" 1009 class="jd-inheritedlinks"> 1010 </div> 1011 <div id="inherited-methods-android.support.wearable.watchface.WatchFaceService.Engine-summary" style="display: none;"> 1012 <table class="jd-sumtable-expando"> 1013 1014 1015 1016 1017 <tr class="alt-color api apilevel-" > 1018 <td class="jd-typecol"><nobr> 1019 1020 1021 final 1022 1023 1024 int</nobr> 1025 </td> 1026 <td class="jd-linkcol" width="100%"><nobr> 1027 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getInterruptionFilter()">getInterruptionFilter</a></span>()</nobr> 1028 1029 <div class="jd-descrdiv"> 1030 Returns interruption filter selected by the user. 1031 1032 1033 1034 </div> 1035 1036 </td></tr> 1037 1038 1039 1040 <tr class=" api apilevel-" > 1041 <td class="jd-typecol"><nobr> 1042 1043 1044 final 1045 1046 1047 Rect</nobr> 1048 </td> 1049 <td class="jd-linkcol" width="100%"><nobr> 1050 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getPeekCardPosition()">getPeekCardPosition</a></span>()</nobr> 1051 1052 <div class="jd-descrdiv"> 1053 Returns the location of the first peeking card. 1054 1055 1056 1057 </div> 1058 1059 </td></tr> 1060 1061 1062 1063 <tr class="alt-color api apilevel-" > 1064 <td class="jd-typecol"><nobr> 1065 1066 1067 final 1068 1069 1070 int</nobr> 1071 </td> 1072 <td class="jd-linkcol" width="100%"><nobr> 1073 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getUnreadCount()">getUnreadCount</a></span>()</nobr> 1074 1075 <div class="jd-descrdiv"> 1076 Returns the number of unread notification cards in the stream. 1077 1078 1079 1080 </div> 1081 1082 </td></tr> 1083 1084 1085 1086 <tr class=" api apilevel-" > 1087 <td class="jd-typecol"><nobr> 1088 1089 1090 final 1091 1092 1093 boolean</nobr> 1094 </td> 1095 <td class="jd-linkcol" width="100%"><nobr> 1096 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#isInAmbientMode()">isInAmbientMode</a></span>()</nobr> 1097 1098 <div class="jd-descrdiv"> 1099 Returns whether the watch face is in ambient mode. 1100 1101 1102 1103 </div> 1104 1105 </td></tr> 1106 1107 1108 1109 <tr class="alt-color api apilevel-" > 1110 <td class="jd-typecol"><nobr> 1111 1112 1113 1114 1115 1116 void</nobr> 1117 </td> 1118 <td class="jd-linkcol" width="100%"><nobr> 1119 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onAmbientModeChanged(boolean)">onAmbientModeChanged</a></span>(boolean inAmbientMode)</nobr> 1120 1121 <div class="jd-descrdiv"> 1122 Called when the device enters or exits ambient mode. 1123 1124 1125 1126 </div> 1127 1128 </td></tr> 1129 1130 1131 1132 <tr class=" api apilevel-" > 1133 <td class="jd-typecol"><nobr> 1134 1135 1136 1137 1138 1139 Bundle</nobr> 1140 </td> 1141 <td class="jd-linkcol" width="100%"><nobr> 1142 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onCommand(java.lang.String, int, int, int, android.os.Bundle, boolean)">onCommand</a></span>(String action, int x, int y, int z, Bundle extras, boolean resultRequested)</nobr> 1143 1144 </td></tr> 1145 1146 1147 1148 <tr class="alt-color api apilevel-" > 1149 <td class="jd-typecol"><nobr> 1150 1151 1152 1153 1154 1155 void</nobr> 1156 </td> 1157 <td class="jd-linkcol" width="100%"><nobr> 1158 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onCreate(android.view.SurfaceHolder)">onCreate</a></span>(SurfaceHolder holder)</nobr> 1159 1160 </td></tr> 1161 1162 1163 1164 <tr class=" api apilevel-" > 1165 <td class="jd-typecol"><nobr> 1166 1167 1168 1169 1170 1171 void</nobr> 1172 </td> 1173 <td class="jd-linkcol" width="100%"><nobr> 1174 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onInterruptionFilterChanged(int)">onInterruptionFilterChanged</a></span>(int interruptionFilter)</nobr> 1175 1176 <div class="jd-descrdiv"> 1177 Called when the user changes interruption filter. 1178 1179 1180 1181 </div> 1182 1183 </td></tr> 1184 1185 1186 1187 <tr class="alt-color api apilevel-" > 1188 <td class="jd-typecol"><nobr> 1189 1190 1191 1192 1193 1194 void</nobr> 1195 </td> 1196 <td class="jd-linkcol" width="100%"><nobr> 1197 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPeekCardPositionUpdate(android.graphics.Rect)">onPeekCardPositionUpdate</a></span>(Rect rect)</nobr> 1198 1199 <div class="jd-descrdiv"> 1200 Called when the first, peeking card positions itself on the screen. 1201 1202 1203 1204 </div> 1205 1206 </td></tr> 1207 1208 1209 1210 <tr class=" api apilevel-" > 1211 <td class="jd-typecol"><nobr> 1212 1213 1214 1215 1216 1217 void</nobr> 1218 </td> 1219 <td class="jd-linkcol" width="100%"><nobr> 1220 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPropertiesChanged(android.os.Bundle)">onPropertiesChanged</a></span>(Bundle properties)</nobr> 1221 1222 <div class="jd-descrdiv"> 1223 Called when the properties of the device are determined. 1224 1225 1226 1227 </div> 1228 1229 </td></tr> 1230 1231 1232 1233 <tr class="alt-color api apilevel-" > 1234 <td class="jd-typecol"><nobr> 1235 1236 1237 1238 1239 1240 void</nobr> 1241 </td> 1242 <td class="jd-linkcol" width="100%"><nobr> 1243 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onTimeTick()">onTimeTick</a></span>()</nobr> 1244 1245 <div class="jd-descrdiv"> 1246 Called periodically in ambient mode to update the time shown by the watch face. 1247 1248 1249 1250 </div> 1251 1252 </td></tr> 1253 1254 1255 1256 <tr class=" api apilevel-" > 1257 <td class="jd-typecol"><nobr> 1258 1259 1260 1261 1262 1263 void</nobr> 1264 </td> 1265 <td class="jd-linkcol" width="100%"><nobr> 1266 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onUnreadCountChanged(int)">onUnreadCountChanged</a></span>(int count)</nobr> 1267 1268 <div class="jd-descrdiv"> 1269 Called when the number of unread notification cards in the stream has changed. 1270 1271 1272 1273 </div> 1274 1275 </td></tr> 1276 1277 1278 1279 <tr class="alt-color api apilevel-" > 1280 <td class="jd-typecol"><nobr> 1281 1282 1283 1284 1285 1286 void</nobr> 1287 </td> 1288 <td class="jd-linkcol" width="100%"><nobr> 1289 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onVisibilityChanged(boolean)">onVisibilityChanged</a></span>(boolean visible)</nobr> 1290 1291 <div class="jd-descrdiv"> 1292 Called to inform you of the watch face becoming visible or hidden. 1293 1294 1295 1296 </div> 1297 1298 </td></tr> 1299 1300 1301 1302 <tr class=" api apilevel-" > 1303 <td class="jd-typecol"><nobr> 1304 1305 1306 1307 1308 1309 void</nobr> 1310 </td> 1311 <td class="jd-linkcol" width="100%"><nobr> 1312 <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#setWatchFaceStyle(android.support.wearable.watchface.WatchFaceStyle)">setWatchFaceStyle</a></span>(<a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html">WatchFaceStyle</a> watchFaceStyle)</nobr> 1313 1314 <div class="jd-descrdiv"> 1315 Sets the watch face style. 1316 1317 1318 1319 </div> 1320 1321 </td></tr> 1322 1323 1324</table> 1325 </div> 1326</div> 1327</td></tr> 1328 1329 1330 1331<tr class="api apilevel-" > 1332<td colspan="12"> 1333 <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.service.wallpaper.WallpaperService.Engine" class="jd-expando-trigger closed" 1334 ><img id="inherited-methods-android.service.wallpaper.WallpaperService.Engine-trigger" 1335 src="../../../../../assets/images/triangle-closed.png" 1336 class="jd-expando-trigger-img" /></a> 1337From class 1338 1339 android.service.wallpaper.WallpaperService.Engine 1340 1341<div id="inherited-methods-android.service.wallpaper.WallpaperService.Engine"> 1342 <div id="inherited-methods-android.service.wallpaper.WallpaperService.Engine-list" 1343 class="jd-inheritedlinks"> 1344 </div> 1345 <div id="inherited-methods-android.service.wallpaper.WallpaperService.Engine-summary" style="display: none;"> 1346 <table class="jd-sumtable-expando"> 1347 1348 1349 1350 1351 <tr class="alt-color api apilevel-" > 1352 <td class="jd-typecol"><nobr> 1353 1354 1355 1356 1357 1358 void</nobr> 1359 </td> 1360 <td class="jd-linkcol" width="100%"><nobr> 1361 <span class="sympad">dump</span>(String arg0, FileDescriptor arg1, PrintWriter arg2, String[] arg3)</nobr> 1362 1363 </td></tr> 1364 1365 1366 1367 <tr class=" api apilevel-" > 1368 <td class="jd-typecol"><nobr> 1369 1370 1371 1372 1373 1374 int</nobr> 1375 </td> 1376 <td class="jd-linkcol" width="100%"><nobr> 1377 <span class="sympad">getDesiredMinimumHeight</span>()</nobr> 1378 1379 </td></tr> 1380 1381 1382 1383 <tr class="alt-color api apilevel-" > 1384 <td class="jd-typecol"><nobr> 1385 1386 1387 1388 1389 1390 int</nobr> 1391 </td> 1392 <td class="jd-linkcol" width="100%"><nobr> 1393 <span class="sympad">getDesiredMinimumWidth</span>()</nobr> 1394 1395 </td></tr> 1396 1397 1398 1399 <tr class=" api apilevel-" > 1400 <td class="jd-typecol"><nobr> 1401 1402 1403 1404 1405 1406 SurfaceHolder</nobr> 1407 </td> 1408 <td class="jd-linkcol" width="100%"><nobr> 1409 <span class="sympad">getSurfaceHolder</span>()</nobr> 1410 1411 </td></tr> 1412 1413 1414 1415 <tr class="alt-color api apilevel-" > 1416 <td class="jd-typecol"><nobr> 1417 1418 1419 1420 1421 1422 boolean</nobr> 1423 </td> 1424 <td class="jd-linkcol" width="100%"><nobr> 1425 <span class="sympad">isPreview</span>()</nobr> 1426 1427 </td></tr> 1428 1429 1430 1431 <tr class=" api apilevel-" > 1432 <td class="jd-typecol"><nobr> 1433 1434 1435 1436 1437 1438 boolean</nobr> 1439 </td> 1440 <td class="jd-linkcol" width="100%"><nobr> 1441 <span class="sympad">isVisible</span>()</nobr> 1442 1443 </td></tr> 1444 1445 1446 1447 <tr class="alt-color api apilevel-" > 1448 <td class="jd-typecol"><nobr> 1449 1450 1451 1452 1453 1454 void</nobr> 1455 </td> 1456 <td class="jd-linkcol" width="100%"><nobr> 1457 <span class="sympad">onApplyWindowInsets</span>(WindowInsets arg0)</nobr> 1458 1459 </td></tr> 1460 1461 1462 1463 <tr class=" api apilevel-" > 1464 <td class="jd-typecol"><nobr> 1465 1466 1467 1468 1469 1470 Bundle</nobr> 1471 </td> 1472 <td class="jd-linkcol" width="100%"><nobr> 1473 <span class="sympad">onCommand</span>(String arg0, int arg1, int arg2, int arg3, Bundle arg4, boolean arg5)</nobr> 1474 1475 </td></tr> 1476 1477 1478 1479 <tr class="alt-color api apilevel-" > 1480 <td class="jd-typecol"><nobr> 1481 1482 1483 1484 1485 1486 void</nobr> 1487 </td> 1488 <td class="jd-linkcol" width="100%"><nobr> 1489 <span class="sympad">onCreate</span>(SurfaceHolder arg0)</nobr> 1490 1491 </td></tr> 1492 1493 1494 1495 <tr class=" api apilevel-" > 1496 <td class="jd-typecol"><nobr> 1497 1498 1499 1500 1501 1502 void</nobr> 1503 </td> 1504 <td class="jd-linkcol" width="100%"><nobr> 1505 <span class="sympad">onDesiredSizeChanged</span>(int arg0, int arg1)</nobr> 1506 1507 </td></tr> 1508 1509 1510 1511 <tr class="alt-color api apilevel-" > 1512 <td class="jd-typecol"><nobr> 1513 1514 1515 1516 1517 1518 void</nobr> 1519 </td> 1520 <td class="jd-linkcol" width="100%"><nobr> 1521 <span class="sympad">onDestroy</span>()</nobr> 1522 1523 </td></tr> 1524 1525 1526 1527 <tr class=" api apilevel-" > 1528 <td class="jd-typecol"><nobr> 1529 1530 1531 1532 1533 1534 void</nobr> 1535 </td> 1536 <td class="jd-linkcol" width="100%"><nobr> 1537 <span class="sympad">onOffsetsChanged</span>(float arg0, float arg1, float arg2, float arg3, int arg4, int arg5)</nobr> 1538 1539 </td></tr> 1540 1541 1542 1543 <tr class="alt-color api apilevel-" > 1544 <td class="jd-typecol"><nobr> 1545 1546 1547 1548 1549 1550 void</nobr> 1551 </td> 1552 <td class="jd-linkcol" width="100%"><nobr> 1553 <span class="sympad">onSurfaceChanged</span>(SurfaceHolder arg0, int arg1, int arg2, int arg3)</nobr> 1554 1555 </td></tr> 1556 1557 1558 1559 <tr class=" api apilevel-" > 1560 <td class="jd-typecol"><nobr> 1561 1562 1563 1564 1565 1566 void</nobr> 1567 </td> 1568 <td class="jd-linkcol" width="100%"><nobr> 1569 <span class="sympad">onSurfaceCreated</span>(SurfaceHolder arg0)</nobr> 1570 1571 </td></tr> 1572 1573 1574 1575 <tr class="alt-color api apilevel-" > 1576 <td class="jd-typecol"><nobr> 1577 1578 1579 1580 1581 1582 void</nobr> 1583 </td> 1584 <td class="jd-linkcol" width="100%"><nobr> 1585 <span class="sympad">onSurfaceDestroyed</span>(SurfaceHolder arg0)</nobr> 1586 1587 </td></tr> 1588 1589 1590 1591 <tr class=" api apilevel-" > 1592 <td class="jd-typecol"><nobr> 1593 1594 1595 1596 1597 1598 void</nobr> 1599 </td> 1600 <td class="jd-linkcol" width="100%"><nobr> 1601 <span class="sympad">onSurfaceRedrawNeeded</span>(SurfaceHolder arg0)</nobr> 1602 1603 </td></tr> 1604 1605 1606 1607 <tr class="alt-color api apilevel-" > 1608 <td class="jd-typecol"><nobr> 1609 1610 1611 1612 1613 1614 void</nobr> 1615 </td> 1616 <td class="jd-linkcol" width="100%"><nobr> 1617 <span class="sympad">onTouchEvent</span>(MotionEvent arg0)</nobr> 1618 1619 </td></tr> 1620 1621 1622 1623 <tr class=" api apilevel-" > 1624 <td class="jd-typecol"><nobr> 1625 1626 1627 1628 1629 1630 void</nobr> 1631 </td> 1632 <td class="jd-linkcol" width="100%"><nobr> 1633 <span class="sympad">onVisibilityChanged</span>(boolean arg0)</nobr> 1634 1635 </td></tr> 1636 1637 1638 1639 <tr class="alt-color api apilevel-" > 1640 <td class="jd-typecol"><nobr> 1641 1642 1643 1644 1645 1646 void</nobr> 1647 </td> 1648 <td class="jd-linkcol" width="100%"><nobr> 1649 <span class="sympad">setOffsetNotificationsEnabled</span>(boolean arg0)</nobr> 1650 1651 </td></tr> 1652 1653 1654 1655 <tr class=" api apilevel-" > 1656 <td class="jd-typecol"><nobr> 1657 1658 1659 1660 1661 1662 void</nobr> 1663 </td> 1664 <td class="jd-linkcol" width="100%"><nobr> 1665 <span class="sympad">setTouchEventsEnabled</span>(boolean arg0)</nobr> 1666 1667 </td></tr> 1668 1669 1670</table> 1671 </div> 1672</div> 1673</td></tr> 1674 1675 1676 1677<tr class="api apilevel-" > 1678<td colspan="12"> 1679 <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed" 1680 ><img id="inherited-methods-java.lang.Object-trigger" 1681 src="../../../../../assets/images/triangle-closed.png" 1682 class="jd-expando-trigger-img" /></a> 1683From class 1684 1685 java.lang.Object 1686 1687<div id="inherited-methods-java.lang.Object"> 1688 <div id="inherited-methods-java.lang.Object-list" 1689 class="jd-inheritedlinks"> 1690 </div> 1691 <div id="inherited-methods-java.lang.Object-summary" style="display: none;"> 1692 <table class="jd-sumtable-expando"> 1693 1694 1695 1696 1697 <tr class="alt-color api apilevel-" > 1698 <td class="jd-typecol"><nobr> 1699 1700 1701 1702 1703 1704 Object</nobr> 1705 </td> 1706 <td class="jd-linkcol" width="100%"><nobr> 1707 <span class="sympad">clone</span>()</nobr> 1708 1709 </td></tr> 1710 1711 1712 1713 <tr class=" api apilevel-" > 1714 <td class="jd-typecol"><nobr> 1715 1716 1717 1718 1719 1720 boolean</nobr> 1721 </td> 1722 <td class="jd-linkcol" width="100%"><nobr> 1723 <span class="sympad">equals</span>(Object arg0)</nobr> 1724 1725 </td></tr> 1726 1727 1728 1729 <tr class="alt-color api apilevel-" > 1730 <td class="jd-typecol"><nobr> 1731 1732 1733 1734 1735 1736 void</nobr> 1737 </td> 1738 <td class="jd-linkcol" width="100%"><nobr> 1739 <span class="sympad">finalize</span>()</nobr> 1740 1741 </td></tr> 1742 1743 1744 1745 <tr class=" api apilevel-" > 1746 <td class="jd-typecol"><nobr> 1747 1748 1749 final 1750 1751 1752 Class<?></nobr> 1753 </td> 1754 <td class="jd-linkcol" width="100%"><nobr> 1755 <span class="sympad">getClass</span>()</nobr> 1756 1757 </td></tr> 1758 1759 1760 1761 <tr class="alt-color api apilevel-" > 1762 <td class="jd-typecol"><nobr> 1763 1764 1765 1766 1767 1768 int</nobr> 1769 </td> 1770 <td class="jd-linkcol" width="100%"><nobr> 1771 <span class="sympad">hashCode</span>()</nobr> 1772 1773 </td></tr> 1774 1775 1776 1777 <tr class=" api apilevel-" > 1778 <td class="jd-typecol"><nobr> 1779 1780 1781 final 1782 1783 1784 void</nobr> 1785 </td> 1786 <td class="jd-linkcol" width="100%"><nobr> 1787 <span class="sympad">notify</span>()</nobr> 1788 1789 </td></tr> 1790 1791 1792 1793 <tr class="alt-color api apilevel-" > 1794 <td class="jd-typecol"><nobr> 1795 1796 1797 final 1798 1799 1800 void</nobr> 1801 </td> 1802 <td class="jd-linkcol" width="100%"><nobr> 1803 <span class="sympad">notifyAll</span>()</nobr> 1804 1805 </td></tr> 1806 1807 1808 1809 <tr class=" api apilevel-" > 1810 <td class="jd-typecol"><nobr> 1811 1812 1813 1814 1815 1816 String</nobr> 1817 </td> 1818 <td class="jd-linkcol" width="100%"><nobr> 1819 <span class="sympad">toString</span>()</nobr> 1820 1821 </td></tr> 1822 1823 1824 1825 <tr class="alt-color api apilevel-" > 1826 <td class="jd-typecol"><nobr> 1827 1828 1829 final 1830 1831 1832 void</nobr> 1833 </td> 1834 <td class="jd-linkcol" width="100%"><nobr> 1835 <span class="sympad">wait</span>()</nobr> 1836 1837 </td></tr> 1838 1839 1840 1841 <tr class=" api apilevel-" > 1842 <td class="jd-typecol"><nobr> 1843 1844 1845 final 1846 1847 1848 void</nobr> 1849 </td> 1850 <td class="jd-linkcol" width="100%"><nobr> 1851 <span class="sympad">wait</span>(long arg0, int arg1)</nobr> 1852 1853 </td></tr> 1854 1855 1856 1857 <tr class="alt-color api apilevel-" > 1858 <td class="jd-typecol"><nobr> 1859 1860 1861 final 1862 1863 1864 void</nobr> 1865 </td> 1866 <td class="jd-linkcol" width="100%"><nobr> 1867 <span class="sympad">wait</span>(long arg0)</nobr> 1868 1869 </td></tr> 1870 1871 1872</table> 1873 </div> 1874</div> 1875</td></tr> 1876 1877 1878</table> 1879 1880 1881</div><!-- jd-descr (summary) --> 1882 1883<!-- Details --> 1884 1885 1886 1887 1888 1889 1890 1891 1892<!-- XML Attributes --> 1893 1894 1895<!-- Enum Values --> 1896 1897 1898<!-- Constants --> 1899 1900 1901<!-- Fields --> 1902 1903 1904<!-- Public ctors --> 1905 1906 1907<!-- ========= CONSTRUCTOR DETAIL ======== --> 1908<h2>Public Constructors</h2> 1909 1910 1911 1912<A NAME="CanvasWatchFaceService.Engine()"></A> 1913 1914<div class="jd-details api apilevel-"> 1915 <h4 class="jd-details-title"> 1916 <span class="normal"> 1917 public 1918 1919 1920 1921 1922 1923 </span> 1924 <span class="sympad">CanvasWatchFaceService.Engine</span> 1925 <span class="normal">()</span> 1926 </h4> 1927 <div class="api-level"> 1928 <div></div> 1929 1930 1931 1932 </div> 1933 <div class="jd-details-descr"> 1934 1935 1936 1937 1938 <div class="jd-tagdata jd-tagdescr"><p></p></div> 1939 1940 </div> 1941</div> 1942 1943 1944 1945 1946 1947<!-- ========= CONSTRUCTOR DETAIL ======== --> 1948<!-- Protected ctors --> 1949 1950 1951 1952<!-- ========= METHOD DETAIL ======== --> 1953<!-- Public methdos --> 1954 1955<h2>Public Methods</h2> 1956 1957 1958 1959<A NAME="invalidate()"></A> 1960 1961<div class="jd-details api apilevel-"> 1962 <h4 class="jd-details-title"> 1963 <span class="normal"> 1964 public 1965 1966 1967 1968 1969 void 1970 </span> 1971 <span class="sympad">invalidate</span> 1972 <span class="normal">()</span> 1973 </h4> 1974 <div class="api-level"> 1975 <div></div> 1976 1977 1978 1979 </div> 1980 <div class="jd-details-descr"> 1981 1982 1983 1984 1985 <div class="jd-tagdata jd-tagdescr"><p>Schedules a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. Must be called on the main 1986 thread. 1987</p></div> 1988 1989 </div> 1990</div> 1991 1992 1993<A NAME="onDestroy()"></A> 1994 1995<div class="jd-details api apilevel-"> 1996 <h4 class="jd-details-title"> 1997 <span class="normal"> 1998 public 1999 2000 2001 2002 2003 void 2004 </span> 2005 <span class="sympad">onDestroy</span> 2006 <span class="normal">()</span> 2007 </h4> 2008 <div class="api-level"> 2009 <div></div> 2010 2011 2012 2013 </div> 2014 <div class="jd-details-descr"> 2015 2016 2017 2018 2019 <div class="jd-tagdata jd-tagdescr"><p></p></div> 2020 2021 </div> 2022</div> 2023 2024 2025<A NAME="onDraw(android.graphics.Canvas, android.graphics.Rect)"></A> 2026 2027<div class="jd-details api apilevel-"> 2028 <h4 class="jd-details-title"> 2029 <span class="normal"> 2030 public 2031 2032 2033 2034 2035 void 2036 </span> 2037 <span class="sympad">onDraw</span> 2038 <span class="normal">(Canvas canvas, Rect bounds)</span> 2039 </h4> 2040 <div class="api-level"> 2041 <div></div> 2042 2043 2044 2045 </div> 2046 <div class="jd-details-descr"> 2047 2048 2049 2050 2051 <div class="jd-tagdata jd-tagdescr"><p>Draws the watch face.</p></div> 2052 <div class="jd-tagdata"> 2053 <h5 class="jd-tagtitle">Parameters</h5> 2054 <table class="jd-tagtable"> 2055 <tr> 2056 <th>canvas</td> 2057 <td>the canvas to draw into</td> 2058 </tr> 2059 <tr> 2060 <th>bounds</td> 2061 <td>the bounds in which the watch face should be drawn 2062</td> 2063 </tr> 2064 </table> 2065 </div> 2066 2067 </div> 2068</div> 2069 2070 2071<A NAME="onSurfaceChanged(android.view.SurfaceHolder, int, int, int)"></A> 2072 2073<div class="jd-details api apilevel-"> 2074 <h4 class="jd-details-title"> 2075 <span class="normal"> 2076 public 2077 2078 2079 2080 2081 void 2082 </span> 2083 <span class="sympad">onSurfaceChanged</span> 2084 <span class="normal">(SurfaceHolder holder, int format, int width, int height)</span> 2085 </h4> 2086 <div class="api-level"> 2087 <div></div> 2088 2089 2090 2091 </div> 2092 <div class="jd-details-descr"> 2093 2094 2095 2096 2097 <div class="jd-tagdata jd-tagdescr"><p></p></div> 2098 2099 </div> 2100</div> 2101 2102 2103<A NAME="onSurfaceCreated(android.view.SurfaceHolder)"></A> 2104 2105<div class="jd-details api apilevel-"> 2106 <h4 class="jd-details-title"> 2107 <span class="normal"> 2108 public 2109 2110 2111 2112 2113 void 2114 </span> 2115 <span class="sympad">onSurfaceCreated</span> 2116 <span class="normal">(SurfaceHolder holder)</span> 2117 </h4> 2118 <div class="api-level"> 2119 <div></div> 2120 2121 2122 2123 </div> 2124 <div class="jd-details-descr"> 2125 2126 2127 2128 2129 <div class="jd-tagdata jd-tagdescr"><p></p></div> 2130 2131 </div> 2132</div> 2133 2134 2135<A NAME="onSurfaceRedrawNeeded(android.view.SurfaceHolder)"></A> 2136 2137<div class="jd-details api apilevel-"> 2138 <h4 class="jd-details-title"> 2139 <span class="normal"> 2140 public 2141 2142 2143 2144 2145 void 2146 </span> 2147 <span class="sympad">onSurfaceRedrawNeeded</span> 2148 <span class="normal">(SurfaceHolder holder)</span> 2149 </h4> 2150 <div class="api-level"> 2151 <div></div> 2152 2153 2154 2155 </div> 2156 <div class="jd-details-descr"> 2157 2158 2159 2160 2161 <div class="jd-tagdata jd-tagdescr"><p></p></div> 2162 2163 </div> 2164</div> 2165 2166 2167<A NAME="postInvalidate()"></A> 2168 2169<div class="jd-details api apilevel-"> 2170 <h4 class="jd-details-title"> 2171 <span class="normal"> 2172 public 2173 2174 2175 2176 2177 void 2178 </span> 2179 <span class="sympad">postInvalidate</span> 2180 <span class="normal">()</span> 2181 </h4> 2182 <div class="api-level"> 2183 <div></div> 2184 2185 2186 2187 </div> 2188 <div class="jd-details-descr"> 2189 2190 2191 2192 2193 <div class="jd-tagdata jd-tagdescr"><p>Posts a message to schedule a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. Unlike 2194 <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#invalidate()">invalidate()</a></code>, this method is thread-safe and may be called on any thread. 2195</p></div> 2196 2197 </div> 2198</div> 2199 2200 2201 2202 2203 2204<!-- ========= METHOD DETAIL ======== --> 2205 2206 2207 2208<!-- ========= END OF CLASS DATA ========= --> 2209<A NAME="navbar_top"></A> 2210 2211<div id="footer" class="wrap" > 2212 2213 2214 <div id="copyright"> 2215 2216 Except as noted, this content is licensed under <a 2217 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. 2218 For details and restrictions, see the <a href="../../../../../license.html"> 2219 Content License</a>. 2220 </div> 2221 <div id="build_info"> 2222 2223 Android Wearable Support r — 2224<script src="../../../../../timestamp.js" type="text/javascript"></script> 2225<script>document.write(BUILD_TIMESTAMP)</script> 2226 2227 </div> 2228 2229 2230 <div id="footerlinks"> 2231 2232 <p> 2233 <a href="../../../../../about/index.html">About Android</a> | 2234 <a href="../../../../../legal.html">Legal</a> | 2235 <a href="../../../../../support.html">Support</a> 2236 </p> 2237 </div> 2238 2239</div> <!-- end footer --> 2240</div> <!-- jd-content --> 2241 2242</div><!-- end doc-content --> 2243 2244</div> <!-- end body-content --> 2245 2246 2247 2248 2249 2250 2251</body> 2252</html> 2253