xref: /aosp_15_r20/developers/build/prebuilts/gradle/AlwaysOn/README.md (revision d353a188ca6ec4b5eba25b5fbd7bcb8ce61322fb)
1*d353a188SXin Li
2*d353a188SXin LiAndroid AlwaysOn Sample
3*d353a188SXin Li===================================
4*d353a188SXin Li
5*d353a188SXin LiA basic sample showing how to support ambient mode for native Android Wear apps.
6*d353a188SXin Li
7*d353a188SXin LiIntroduction
8*d353a188SXin Li------------
9*d353a188SXin Li
10*d353a188SXin Li[WearableActivity][1] offers methods for supporting your native app staying on the screen when the Wear device enters ambient mode.
11*d353a188SXin Li
12*d353a188SXin LiThis example extends [WearableActivity][1] and overrides onEnterAmbient, onUpdateAmbient, and onExitAmbient to allow the simple native Wear app to support ambient mode.
13*d353a188SXin Li
14*d353a188SXin LiIn ambient mode, this app follows best practices by keeping most pixels black, avoiding large blocks of white pixels, using only black and white, and disabling anti-aliasing (following the [design guidelines for Watch Faces][2]).
15*d353a188SXin Li
16*d353a188SXin LiIn addition and most importantly, the app sleeps while in ambient mode for 20 seconds between any updates to conserving battery life (processor allowed to sleep). If you can hold off on updates for a full minute, you can throw away the Handler and just use onUpdateAmbient to save even more battery life.
17*d353a188SXin Li
18*d353a188SXin LiAs always, you will still want to apply the [performance guidelines][3] outlined in the Watch Faces documention to your app.
19*d353a188SXin Li
20*d353a188SXin Li[1]: http://developer.android.com/reference/android/support/wearable/activity/WearableActivity.html
21*d353a188SXin Li[2]: https://developer.android.com/training/wearables/watch-faces/designing.html#DesignGuidelines
22*d353a188SXin Li[3]: https://developer.android.com/training/wearables/watch-faces/performance.html
23*d353a188SXin Li
24*d353a188SXin LiPre-requisites
25*d353a188SXin Li--------------
26*d353a188SXin Li
27*d353a188SXin Li- Android SDK 27
28*d353a188SXin Li- Android Build Tools v27.0.2
29*d353a188SXin Li- Android Support Repository
30*d353a188SXin Li
31*d353a188SXin LiScreenshots
32*d353a188SXin Li-------------
33*d353a188SXin Li
34*d353a188SXin Li<img src="screenshots/1-main-active.png" height="400" alt="Screenshot"/> <img src="screenshots/2-main-ambient.png" height="400" alt="Screenshot"/> <img src="screenshots/3-main-active-round.png" height="400" alt="Screenshot"/> <img src="screenshots/4-main-ambient-round.png" height="400" alt="Screenshot"/>
35*d353a188SXin Li
36*d353a188SXin LiGetting Started
37*d353a188SXin Li---------------
38*d353a188SXin Li
39*d353a188SXin LiThis sample uses the Gradle build system. To build this project, use the
40*d353a188SXin Li"gradlew build" command or use "Import Project" in Android Studio.
41*d353a188SXin Li
42*d353a188SXin LiSupport
43*d353a188SXin Li-------
44*d353a188SXin Li
45*d353a188SXin Li- Google+ Community: https://plus.google.com/communities/105153134372062985968
46*d353a188SXin Li- Stack Overflow: http://stackoverflow.com/questions/tagged/android
47*d353a188SXin Li
48*d353a188SXin LiIf you've found an error in this sample, please file an issue:
49*d353a188SXin Lihttps://github.com/googlesamples/android-AlwaysOn
50*d353a188SXin Li
51*d353a188SXin LiPatches are encouraged, and may be submitted by forking this project and
52*d353a188SXin Lisubmitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
53*d353a188SXin Li
54*d353a188SXin LiLicense
55*d353a188SXin Li-------
56*d353a188SXin Li
57*d353a188SXin LiCopyright 2017 The Android Open Source Project, Inc.
58*d353a188SXin Li
59*d353a188SXin LiLicensed to the Apache Software Foundation (ASF) under one or more contributor
60*d353a188SXin Lilicense agreements.  See the NOTICE file distributed with this work for
61*d353a188SXin Liadditional information regarding copyright ownership.  The ASF licenses this
62*d353a188SXin Lifile to you under the Apache License, Version 2.0 (the "License"); you may not
63*d353a188SXin Liuse this file except in compliance with the License.  You may obtain a copy of
64*d353a188SXin Lithe License at
65*d353a188SXin Li
66*d353a188SXin Lihttp://www.apache.org/licenses/LICENSE-2.0
67*d353a188SXin Li
68*d353a188SXin LiUnless required by applicable law or agreed to in writing, software
69*d353a188SXin Lidistributed under the License is distributed on an "AS IS" BASIS, WITHOUT
70*d353a188SXin LiWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
71*d353a188SXin LiLicense for the specific language governing permissions and limitations under
72*d353a188SXin Lithe License.
73