diff options
| -rw-r--r-- | core/java/android/text/style/TtsSpan.java | 2 | ||||
| -rw-r--r-- | docs/html/index.jd | 4 | ||||
| -rw-r--r-- | docs/html/jd_collections.js | 6 | ||||
| -rw-r--r-- | docs/html/jd_extras.js | 38 | ||||
| -rw-r--r-- | docs/html/ndk/downloads/downloads_toc.cs (renamed from docs/html-ndk/ndk/downloads/downloads_toc.cs) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/downloads/index.jd (renamed from docs/html-ndk/ndk/downloads/index.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/downloads/revision_history.jd (renamed from docs/html-ndk/ndk/downloads/revision_history.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/abis.jd (renamed from docs/html-ndk/ndk/guides/abis.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/android_mk.jd (renamed from docs/html-ndk/ndk/guides/android_mk.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/application_mk.jd (renamed from docs/html-ndk/ndk/guides/application_mk.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/arch.jd (renamed from docs/html-ndk/ndk/guides/arch.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/build.jd (renamed from docs/html-ndk/ndk/guides/build.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/concepts.jd (renamed from docs/html-ndk/ndk/guides/concepts.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/cpp-support.jd (renamed from docs/html-ndk/ndk/guides/cpp-support.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/cpu-arm-neon.jd (renamed from docs/html-ndk/ndk/guides/cpu-arm-neon.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/cpu-features.jd (renamed from docs/html-ndk/ndk/guides/cpu-features.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/debug.jd (renamed from docs/html-ndk/ndk/guides/debug.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/guides_toc.cs (renamed from docs/html-ndk/ndk/guides/guides_toc.cs) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/images/NDK_build_string.png (renamed from docs/html-ndk/ndk/guides/images/NDK_build_string.png) | bin | 22494 -> 22494 bytes | |||
| -rw-r--r-- | docs/html/ndk/guides/images/NDK_build_string@2x.png (renamed from docs/html-ndk/ndk/guides/images/NDK_build_string@2x.png) | bin | 44014 -> 44014 bytes | |||
| -rw-r--r-- | docs/html/ndk/guides/images/verification_screen.png (renamed from docs/html-ndk/ndk/guides/images/verification_screen.png) | bin | 56991 -> 56991 bytes | |||
| -rw-r--r-- | docs/html/ndk/guides/images/verification_screen@2x.png (renamed from docs/html-ndk/ndk/guides/images/verification_screen@2x.png) | bin | 287252 -> 287252 bytes | |||
| -rw-r--r-- | docs/html/ndk/guides/index.jd (renamed from docs/html-ndk/ndk/guides/index.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/libs.jd (renamed from docs/html-ndk/ndk/guides/libs.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/mips.jd (renamed from docs/html-ndk/ndk/guides/mips.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/ndk-build.jd (renamed from docs/html-ndk/ndk/guides/ndk-build.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/ndk-gdb.jd (renamed from docs/html-ndk/ndk/guides/ndk-gdb.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/ndk-stack.jd (renamed from docs/html-ndk/ndk/guides/ndk-stack.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/prebuilts.jd (renamed from docs/html-ndk/ndk/guides/prebuilts.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/sample.jd (renamed from docs/html-ndk/ndk/guides/sample.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/setup.jd (renamed from docs/html-ndk/ndk/guides/setup.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/stable_apis.jd (renamed from docs/html-ndk/ndk/guides/stable_apis.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/standalone_toolchain.jd (renamed from docs/html-ndk/ndk/guides/standalone_toolchain.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/x86-64.jd (renamed from docs/html-ndk/ndk/guides/x86-64.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/guides/x86.jd (renamed from docs/html-ndk/ndk/guides/x86.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/index.jd (renamed from docs/html-ndk/ndk/index.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/annotated.jd (renamed from docs/html-ndk/ndk/reference/annotated.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/asset__manager_8h.jd (renamed from docs/html-ndk/ndk/reference/asset__manager_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/asset__manager__jni_8h.jd (renamed from docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/bc_s.png (renamed from docs/html-ndk/ndk/reference/bc_s.png) | bin | 624 -> 624 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/bdwn.png (renamed from docs/html-ndk/ndk/reference/bdwn.png) | bin | 139 -> 139 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/bitmap_8h.jd (renamed from docs/html-ndk/ndk/reference/bitmap_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/classes.jd (renamed from docs/html-ndk/ndk/reference/classes.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/closed.png (renamed from docs/html-ndk/ndk/reference/closed.png) | bin | 125 -> 125 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/configuration_8h.jd (renamed from docs/html-ndk/ndk/reference/configuration_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/deprecated.jd (renamed from docs/html-ndk/ndk/reference/deprecated.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd (renamed from docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd (renamed from docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/doxygen-dac.css (renamed from docs/html-ndk/ndk/reference/doxygen-dac.css) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/doxygen.css (renamed from docs/html-ndk/ndk/reference/doxygen.css) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/doxygen.png (renamed from docs/html-ndk/ndk/reference/doxygen.png) | bin | 3529 -> 3529 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/dynsections.js (renamed from docs/html-ndk/ndk/reference/dynsections.js) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/files.jd (renamed from docs/html-ndk/ndk/reference/files.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/ftv2blank.png (renamed from docs/html-ndk/ndk/reference/ftv2blank.png) | bin | 86 -> 86 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2cl.png (renamed from docs/html-ndk/ndk/reference/ftv2cl.png) | bin | 416 -> 416 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2doc.png (renamed from docs/html-ndk/ndk/reference/ftv2doc.png) | bin | 652 -> 652 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2folderclosed.png (renamed from docs/html-ndk/ndk/reference/ftv2folderclosed.png) | bin | 493 -> 493 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2folderopen.png (renamed from docs/html-ndk/ndk/reference/ftv2folderopen.png) | bin | 505 -> 505 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2lastnode.png (renamed from docs/html-ndk/ndk/reference/ftv2lastnode.png) | bin | 86 -> 86 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2link.png (renamed from docs/html-ndk/ndk/reference/ftv2link.png) | bin | 652 -> 652 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2mlastnode.png (renamed from docs/html-ndk/ndk/reference/ftv2mlastnode.png) | bin | 241 -> 241 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2mnode.png (renamed from docs/html-ndk/ndk/reference/ftv2mnode.png) | bin | 241 -> 241 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2mo.png (renamed from docs/html-ndk/ndk/reference/ftv2mo.png) | bin | 373 -> 373 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2node.png (renamed from docs/html-ndk/ndk/reference/ftv2node.png) | bin | 86 -> 86 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2ns.png (renamed from docs/html-ndk/ndk/reference/ftv2ns.png) | bin | 370 -> 370 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2plastnode.png (renamed from docs/html-ndk/ndk/reference/ftv2plastnode.png) | bin | 227 -> 227 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2pnode.png (renamed from docs/html-ndk/ndk/reference/ftv2pnode.png) | bin | 227 -> 227 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2splitbar.png (renamed from docs/html-ndk/ndk/reference/ftv2splitbar.png) | bin | 282 -> 282 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/ftv2vertline.png (renamed from docs/html-ndk/ndk/reference/ftv2vertline.png) | bin | 86 -> 86 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/functions.jd (renamed from docs/html-ndk/ndk/reference/functions.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/functions_vars.jd (renamed from docs/html-ndk/ndk/reference/functions_vars.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals.jd (renamed from docs/html-ndk/ndk/reference/globals.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_defs.jd (renamed from docs/html-ndk/ndk/reference/globals_defs.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_enum.jd (renamed from docs/html-ndk/ndk/reference/globals_enum.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_eval.jd (renamed from docs/html-ndk/ndk/reference/globals_eval.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_eval_w.jd (renamed from docs/html-ndk/ndk/reference/globals_eval_w.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_func.jd (renamed from docs/html-ndk/ndk/reference/globals_func.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_type.jd (renamed from docs/html-ndk/ndk/reference/globals_type.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_vars.jd (renamed from docs/html-ndk/ndk/reference/globals_vars.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/globals_w.jd (renamed from docs/html-ndk/ndk/reference/globals_w.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___asset.jd (renamed from docs/html-ndk/ndk/reference/group___asset.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___bitmap.jd (renamed from docs/html-ndk/ndk/reference/group___bitmap.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___configuration.jd (renamed from docs/html-ndk/ndk/reference/group___configuration.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___input.jd (renamed from docs/html-ndk/ndk/reference/group___input.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___looper.jd (renamed from docs/html-ndk/ndk/reference/group___looper.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___native_activity.jd (renamed from docs/html-ndk/ndk/reference/group___native_activity.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___sensor.jd (renamed from docs/html-ndk/ndk/reference/group___sensor.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/group___storage.jd (renamed from docs/html-ndk/ndk/reference/group___storage.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/index.jd (renamed from docs/html-ndk/ndk/reference/index.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/input_8h.jd (renamed from docs/html-ndk/ndk/reference/input_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/keycodes_8h.jd (renamed from docs/html-ndk/ndk/reference/keycodes_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/looper_8h.jd (renamed from docs/html-ndk/ndk/reference/looper_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/modules.jd (renamed from docs/html-ndk/ndk/reference/modules.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/native__activity_8h.jd (renamed from docs/html-ndk/ndk/reference/native__activity_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/native__window_8h.jd (renamed from docs/html-ndk/ndk/reference/native__window_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/native__window__jni_8h.jd (renamed from docs/html-ndk/ndk/reference/native__window__jni_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/nav_f.png (renamed from docs/html-ndk/ndk/reference/nav_f.png) | bin | 136 -> 136 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/nav_g.png (renamed from docs/html-ndk/ndk/reference/nav_g.png) | bin | 95 -> 95 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/nav_h.png (renamed from docs/html-ndk/ndk/reference/nav_h.png) | bin | 93 -> 93 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/obb_8h.jd (renamed from docs/html-ndk/ndk/reference/obb_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/open.png (renamed from docs/html-ndk/ndk/reference/open.png) | bin | 115 -> 115 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/pages.jd (renamed from docs/html-ndk/ndk/reference/pages.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/rect_8h.jd (renamed from docs/html-ndk/ndk/reference/rect_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/reference_toc.cs (renamed from docs/html-ndk/ndk/reference/reference_toc.cs) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/sensor_8h.jd (renamed from docs/html-ndk/ndk/reference/sensor_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/storage__manager_8h.jd (renamed from docs/html-ndk/ndk/reference/storage__manager_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_heart_rate_event.jd (renamed from docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_meta_data_event.jd (renamed from docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_native_activity.jd (renamed from docs/html-ndk/ndk/reference/struct_a_native_activity.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_native_activity_callbacks.jd (renamed from docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_native_window___buffer.jd (renamed from docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_rect.jd (renamed from docs/html-ndk/ndk/reference/struct_a_rect.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_sensor_event.jd (renamed from docs/html-ndk/ndk/reference/struct_a_sensor_event.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_sensor_vector.jd (renamed from docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_a_uncalibrated_event.jd (renamed from docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/struct_android_bitmap_info.jd (renamed from docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/sync_off.png (renamed from docs/html-ndk/ndk/reference/sync_off.png) | bin | 815 -> 815 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/sync_on.png (renamed from docs/html-ndk/ndk/reference/sync_on.png) | bin | 809 -> 809 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/tab_a.png (renamed from docs/html-ndk/ndk/reference/tab_a.png) | bin | 124 -> 124 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/tab_b.png (renamed from docs/html-ndk/ndk/reference/tab_b.png) | bin | 149 -> 149 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/tab_h.png (renamed from docs/html-ndk/ndk/reference/tab_h.png) | bin | 145 -> 145 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/tab_s.png (renamed from docs/html-ndk/ndk/reference/tab_s.png) | bin | 156 -> 156 bytes | |||
| -rw-r--r-- | docs/html/ndk/reference/tabs.css (renamed from docs/html-ndk/ndk/reference/tabs.css) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/reference/window_8h.jd (renamed from docs/html-ndk/ndk/reference/window_8h.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/samples/index.jd (renamed from docs/html-ndk/ndk/samples/index.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/samples/sample_hellojni.jd (renamed from docs/html-ndk/ndk/samples/sample_hellojni.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/samples/sample_na.jd (renamed from docs/html-ndk/ndk/samples/sample_na.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/samples/sample_teapot.jd (renamed from docs/html-ndk/ndk/samples/sample_teapot.jd) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/samples/samples_toc.cs (renamed from docs/html-ndk/ndk/samples/samples_toc.cs) | 0 | ||||
| -rw-r--r-- | docs/html/ndk/samples/walkthroughs.jd (renamed from docs/html-ndk/ndk/samples/walkthroughs.jd) | 0 | ||||
| -rw-r--r-- | docs/html/preview/index.jd | 6 | ||||
| -rw-r--r-- | docs/html/sdk/index.jd | 12 | ||||
| -rw-r--r-- | docs/html/training/enterprise/index.jd | 13 | ||||
| -rw-r--r-- | docs/html/training/tv/discovery/searchable.jd | 3 | ||||
| -rw-r--r-- | docs/html/training/tv/publishing/checklist.jd | 4 | ||||
| -rw-r--r-- | docs/html/training/wearables/apps/creating.jd | 56 | ||||
| -rw-r--r-- | docs/html/training/wearables/apps/layouts.jd | 117 | ||||
| -rw-r--r-- | docs/html/training/wearables/ui/2d-picker.jd | 113 | ||||
| -rw-r--r-- | docs/html/training/wearables/ui/cards.jd | 75 | ||||
| -rw-r--r-- | docs/html/training/wearables/ui/confirm.jd | 36 | ||||
| -rw-r--r-- | docs/html/training/wearables/ui/exit.jd | 33 | ||||
| -rw-r--r-- | docs/html/training/wearables/ui/layouts.jd | 50 | ||||
| -rw-r--r-- | docs/html/training/wearables/ui/lists.jd | 67 | ||||
| -rw-r--r-- | docs/html/training/wearables/watch-faces/configuration.jd | 25 | ||||
| -rw-r--r-- | docs/html/training/wearables/watch-faces/information.jd | 36 | ||||
| -rw-r--r-- | docs/html/training/wearables/watch-faces/issues.jd | 26 | ||||
| -rw-r--r-- | docs/html/training/wearables/watch-faces/performance.jd | 27 | ||||
| -rw-r--r-- | docs/html/training/wearables/watch-faces/service.jd | 43 |
148 files changed, 532 insertions, 260 deletions
diff --git a/core/java/android/text/style/TtsSpan.java b/core/java/android/text/style/TtsSpan.java index 342a18306d70..1f296db51dbf 100644 --- a/core/java/android/text/style/TtsSpan.java +++ b/core/java/android/text/style/TtsSpan.java @@ -165,7 +165,7 @@ public class TtsSpan implements ParcelableSpan { /** * The text associated with this span is a series of characters that have to - * be read verbatim. The engine will attempt to ready out any character like + * be read verbatim. The engine will attempt to read out any character like * punctuation but excluding whitespace. {@link #ARG_VERBATIM} is required. * Also accepts the arguments {@link #ARG_GENDER}, * {@link #ARG_ANIMACY}, {@link #ARG_MULTIPLICITY} and {@link #ARG_CASE}. diff --git a/docs/html/index.jd b/docs/html/index.jd index 3989b92cf16d..cd129d4979af 100644 --- a/docs/html/index.jd +++ b/docs/html/index.jd @@ -26,9 +26,9 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3 <p class="dac-hero-description">Get your apps ready for the next version of Android. Test on Nexus 5, 6, 9, and Player. </p> - <a class="dac-hero-cta" href="{@docRoot}preview/index.html"> + <a class="dac-hero-cta" href="{@docRoot}preview/overview.html"> <span class="dac-sprite dac-auto-chevron"></span> - Learn more + Get started </a> </div> </div> diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js index 2505746e4e8f..86089e65ac44 100644 --- a/docs/html/jd_collections.js +++ b/docs/html/jd_collections.js @@ -1592,8 +1592,10 @@ var RESOURCE_COLLECTIONS = { "resources": [ "training/enterprise/app-compatibility.html", "training/enterprise/app-restrictions.html", + "https://www.youtube.com/watch?v=39NkpWkaH8M&index=2&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX", "samples/AppRestrictionSchema/index.html", - "samples/AppRestrictionEnforcer/index.html" + "samples/AppRestrictionEnforcer/index.html", + "https://www.youtube.com/watch?v=dH41OutAMNM" ] }, "training/work/admin": { @@ -1636,4 +1638,4 @@ var RESOURCE_COLLECTIONS = { "tools/performance/batterystats-battery-historian/charts.html" ] } -}
\ No newline at end of file +} diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js index 87581e9cfa5a..5b2468d749fa 100644 --- a/docs/html/jd_extras.js +++ b/docs/html/jd_extras.js @@ -2917,6 +2917,42 @@ DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([ "type":"about" }, { + "title":"App Configurations, Testing and Launchers", + "titleFriendly":"", + "summary":"With Android for Work you can make your apps remotely configurable. We also cover how to test your app in a managed environment.", + "url":"https://www.youtube.com/watch?v=39NkpWkaH8M&index=2&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX", + "group":"", + "keywords": ["work", "enterprise", "emm"], + "tags": [], + "image":"http://i1.ytimg.com/vi/39NkpWkaH8M/maxresdefault.jpg", + "lang":"en", + "type":"about" + }, + { + "title":"Building an enterprise ready app", + "titleFriendly":"", + "summary":"A holistic view of Android for Work for developers.", + "url":"https://www.youtube.com/watch?v=dH41OutAMNM", + "group":"", + "keywords": ["work", "enterprise", "emm"], + "tags": [], + "image":"http://i1.ytimg.com/vi/dH41OutAMNM/maxresdefault.jpg", + "lang":"en", + "type":"develop" + }, + { + "title":"Android for Work: Single Use Devices", + "titleFriendly":"", + "summary":"Single-purpose computers are everywhere, and Android can meet that need.", + "url":"https://www.youtube.com/watch?v=j3QC6hcpy90", + "group":"", + "keywords": ["work", "enterprise", "emm"], + "tags": [], + "image":"http://i1.ytimg.com/vi/j3QC6hcpy90/maxresdefault.jpg", + "lang":"en", + "type":"about" + }, + { "title":"Discover YouTube cards", "titleFriendly":"", "summary":"Find out more about YouTube cards, the options available, and how to use them to get the most from your YouTube content.", @@ -3311,4 +3347,4 @@ var CAROUSEL_OVERRIDE = { "summary": "We’ve created a downloadable guide to help you find success with your app or game business on Google Play. In it, you’ll find features, tips, and best practices to help you build an effective strategy.", "tags": [] } -};
\ No newline at end of file +}; diff --git a/docs/html-ndk/ndk/downloads/downloads_toc.cs b/docs/html/ndk/downloads/downloads_toc.cs index dbe8aec88cd2..dbe8aec88cd2 100644 --- a/docs/html-ndk/ndk/downloads/downloads_toc.cs +++ b/docs/html/ndk/downloads/downloads_toc.cs diff --git a/docs/html-ndk/ndk/downloads/index.jd b/docs/html/ndk/downloads/index.jd index 94e9ae9ebcde..94e9ae9ebcde 100644 --- a/docs/html-ndk/ndk/downloads/index.jd +++ b/docs/html/ndk/downloads/index.jd diff --git a/docs/html-ndk/ndk/downloads/revision_history.jd b/docs/html/ndk/downloads/revision_history.jd index a32b8141a57f..a32b8141a57f 100644 --- a/docs/html-ndk/ndk/downloads/revision_history.jd +++ b/docs/html/ndk/downloads/revision_history.jd diff --git a/docs/html-ndk/ndk/guides/abis.jd b/docs/html/ndk/guides/abis.jd index f4819b2ffe97..f4819b2ffe97 100644 --- a/docs/html-ndk/ndk/guides/abis.jd +++ b/docs/html/ndk/guides/abis.jd diff --git a/docs/html-ndk/ndk/guides/android_mk.jd b/docs/html/ndk/guides/android_mk.jd index 47fefc335a31..47fefc335a31 100644 --- a/docs/html-ndk/ndk/guides/android_mk.jd +++ b/docs/html/ndk/guides/android_mk.jd diff --git a/docs/html-ndk/ndk/guides/application_mk.jd b/docs/html/ndk/guides/application_mk.jd index 1294687299e2..1294687299e2 100644 --- a/docs/html-ndk/ndk/guides/application_mk.jd +++ b/docs/html/ndk/guides/application_mk.jd diff --git a/docs/html-ndk/ndk/guides/arch.jd b/docs/html/ndk/guides/arch.jd index 3dafe8f3cc0a..3dafe8f3cc0a 100644 --- a/docs/html-ndk/ndk/guides/arch.jd +++ b/docs/html/ndk/guides/arch.jd diff --git a/docs/html-ndk/ndk/guides/build.jd b/docs/html/ndk/guides/build.jd index 62863283c386..62863283c386 100644 --- a/docs/html-ndk/ndk/guides/build.jd +++ b/docs/html/ndk/guides/build.jd diff --git a/docs/html-ndk/ndk/guides/concepts.jd b/docs/html/ndk/guides/concepts.jd index 0601f212e230..0601f212e230 100644 --- a/docs/html-ndk/ndk/guides/concepts.jd +++ b/docs/html/ndk/guides/concepts.jd diff --git a/docs/html-ndk/ndk/guides/cpp-support.jd b/docs/html/ndk/guides/cpp-support.jd index 0074b808aa8f..0074b808aa8f 100644 --- a/docs/html-ndk/ndk/guides/cpp-support.jd +++ b/docs/html/ndk/guides/cpp-support.jd diff --git a/docs/html-ndk/ndk/guides/cpu-arm-neon.jd b/docs/html/ndk/guides/cpu-arm-neon.jd index 1d12937c5fb4..1d12937c5fb4 100644 --- a/docs/html-ndk/ndk/guides/cpu-arm-neon.jd +++ b/docs/html/ndk/guides/cpu-arm-neon.jd diff --git a/docs/html-ndk/ndk/guides/cpu-features.jd b/docs/html/ndk/guides/cpu-features.jd index b0319090509c..b0319090509c 100644 --- a/docs/html-ndk/ndk/guides/cpu-features.jd +++ b/docs/html/ndk/guides/cpu-features.jd diff --git a/docs/html-ndk/ndk/guides/debug.jd b/docs/html/ndk/guides/debug.jd index 3c4da3be0af3..3c4da3be0af3 100644 --- a/docs/html-ndk/ndk/guides/debug.jd +++ b/docs/html/ndk/guides/debug.jd diff --git a/docs/html-ndk/ndk/guides/guides_toc.cs b/docs/html/ndk/guides/guides_toc.cs index 981eb5131fac..981eb5131fac 100644 --- a/docs/html-ndk/ndk/guides/guides_toc.cs +++ b/docs/html/ndk/guides/guides_toc.cs diff --git a/docs/html-ndk/ndk/guides/images/NDK_build_string.png b/docs/html/ndk/guides/images/NDK_build_string.png Binary files differindex 338378bca6f0..338378bca6f0 100644 --- a/docs/html-ndk/ndk/guides/images/NDK_build_string.png +++ b/docs/html/ndk/guides/images/NDK_build_string.png diff --git a/docs/html-ndk/ndk/guides/images/NDK_build_string@2x.png b/docs/html/ndk/guides/images/NDK_build_string@2x.png Binary files differindex 5ba3ce3baf66..5ba3ce3baf66 100644 --- a/docs/html-ndk/ndk/guides/images/NDK_build_string@2x.png +++ b/docs/html/ndk/guides/images/NDK_build_string@2x.png diff --git a/docs/html-ndk/ndk/guides/images/verification_screen.png b/docs/html/ndk/guides/images/verification_screen.png Binary files differindex 91858baa850c..91858baa850c 100644 --- a/docs/html-ndk/ndk/guides/images/verification_screen.png +++ b/docs/html/ndk/guides/images/verification_screen.png diff --git a/docs/html-ndk/ndk/guides/images/verification_screen@2x.png b/docs/html/ndk/guides/images/verification_screen@2x.png Binary files differindex 0d666c9d02b3..0d666c9d02b3 100644 --- a/docs/html-ndk/ndk/guides/images/verification_screen@2x.png +++ b/docs/html/ndk/guides/images/verification_screen@2x.png diff --git a/docs/html-ndk/ndk/guides/index.jd b/docs/html/ndk/guides/index.jd index 465ce139b6e5..465ce139b6e5 100644 --- a/docs/html-ndk/ndk/guides/index.jd +++ b/docs/html/ndk/guides/index.jd diff --git a/docs/html-ndk/ndk/guides/libs.jd b/docs/html/ndk/guides/libs.jd index ea607de8e864..ea607de8e864 100644 --- a/docs/html-ndk/ndk/guides/libs.jd +++ b/docs/html/ndk/guides/libs.jd diff --git a/docs/html-ndk/ndk/guides/mips.jd b/docs/html/ndk/guides/mips.jd index 2b4eea47bd5e..2b4eea47bd5e 100644 --- a/docs/html-ndk/ndk/guides/mips.jd +++ b/docs/html/ndk/guides/mips.jd diff --git a/docs/html-ndk/ndk/guides/ndk-build.jd b/docs/html/ndk/guides/ndk-build.jd index 18ca2d895729..18ca2d895729 100644 --- a/docs/html-ndk/ndk/guides/ndk-build.jd +++ b/docs/html/ndk/guides/ndk-build.jd diff --git a/docs/html-ndk/ndk/guides/ndk-gdb.jd b/docs/html/ndk/guides/ndk-gdb.jd index b15e67e72857..b15e67e72857 100644 --- a/docs/html-ndk/ndk/guides/ndk-gdb.jd +++ b/docs/html/ndk/guides/ndk-gdb.jd diff --git a/docs/html-ndk/ndk/guides/ndk-stack.jd b/docs/html/ndk/guides/ndk-stack.jd index 46146cb2c1cf..46146cb2c1cf 100644 --- a/docs/html-ndk/ndk/guides/ndk-stack.jd +++ b/docs/html/ndk/guides/ndk-stack.jd diff --git a/docs/html-ndk/ndk/guides/prebuilts.jd b/docs/html/ndk/guides/prebuilts.jd index 52eb4379dce7..52eb4379dce7 100644 --- a/docs/html-ndk/ndk/guides/prebuilts.jd +++ b/docs/html/ndk/guides/prebuilts.jd diff --git a/docs/html-ndk/ndk/guides/sample.jd b/docs/html/ndk/guides/sample.jd index 18ca0b82a0b0..18ca0b82a0b0 100644 --- a/docs/html-ndk/ndk/guides/sample.jd +++ b/docs/html/ndk/guides/sample.jd diff --git a/docs/html-ndk/ndk/guides/setup.jd b/docs/html/ndk/guides/setup.jd index 81a33c0bebc6..81a33c0bebc6 100644 --- a/docs/html-ndk/ndk/guides/setup.jd +++ b/docs/html/ndk/guides/setup.jd diff --git a/docs/html-ndk/ndk/guides/stable_apis.jd b/docs/html/ndk/guides/stable_apis.jd index cad02ac4eb21..cad02ac4eb21 100644 --- a/docs/html-ndk/ndk/guides/stable_apis.jd +++ b/docs/html/ndk/guides/stable_apis.jd diff --git a/docs/html-ndk/ndk/guides/standalone_toolchain.jd b/docs/html/ndk/guides/standalone_toolchain.jd index 3b6f7f1ceb4e..3b6f7f1ceb4e 100644 --- a/docs/html-ndk/ndk/guides/standalone_toolchain.jd +++ b/docs/html/ndk/guides/standalone_toolchain.jd diff --git a/docs/html-ndk/ndk/guides/x86-64.jd b/docs/html/ndk/guides/x86-64.jd index c2f0d28394d5..c2f0d28394d5 100644 --- a/docs/html-ndk/ndk/guides/x86-64.jd +++ b/docs/html/ndk/guides/x86-64.jd diff --git a/docs/html-ndk/ndk/guides/x86.jd b/docs/html/ndk/guides/x86.jd index 3a01b05d718f..3a01b05d718f 100644 --- a/docs/html-ndk/ndk/guides/x86.jd +++ b/docs/html/ndk/guides/x86.jd diff --git a/docs/html-ndk/ndk/index.jd b/docs/html/ndk/index.jd index a88c15df5fb5..a88c15df5fb5 100644 --- a/docs/html-ndk/ndk/index.jd +++ b/docs/html/ndk/index.jd diff --git a/docs/html-ndk/ndk/reference/annotated.jd b/docs/html/ndk/reference/annotated.jd index 8045f8dac05d..8045f8dac05d 100644 --- a/docs/html-ndk/ndk/reference/annotated.jd +++ b/docs/html/ndk/reference/annotated.jd diff --git a/docs/html-ndk/ndk/reference/asset__manager_8h.jd b/docs/html/ndk/reference/asset__manager_8h.jd index 88d8deac5fe7..88d8deac5fe7 100644 --- a/docs/html-ndk/ndk/reference/asset__manager_8h.jd +++ b/docs/html/ndk/reference/asset__manager_8h.jd diff --git a/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd b/docs/html/ndk/reference/asset__manager__jni_8h.jd index 8aace051d092..8aace051d092 100644 --- a/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd +++ b/docs/html/ndk/reference/asset__manager__jni_8h.jd diff --git a/docs/html-ndk/ndk/reference/bc_s.png b/docs/html/ndk/reference/bc_s.png Binary files differindex fd162ea76db9..fd162ea76db9 100644 --- a/docs/html-ndk/ndk/reference/bc_s.png +++ b/docs/html/ndk/reference/bc_s.png diff --git a/docs/html-ndk/ndk/reference/bdwn.png b/docs/html/ndk/reference/bdwn.png Binary files differindex 7c943f0178f0..7c943f0178f0 100644 --- a/docs/html-ndk/ndk/reference/bdwn.png +++ b/docs/html/ndk/reference/bdwn.png diff --git a/docs/html-ndk/ndk/reference/bitmap_8h.jd b/docs/html/ndk/reference/bitmap_8h.jd index 518cab178faf..518cab178faf 100644 --- a/docs/html-ndk/ndk/reference/bitmap_8h.jd +++ b/docs/html/ndk/reference/bitmap_8h.jd diff --git a/docs/html-ndk/ndk/reference/classes.jd b/docs/html/ndk/reference/classes.jd index e0ec72146f17..e0ec72146f17 100644 --- a/docs/html-ndk/ndk/reference/classes.jd +++ b/docs/html/ndk/reference/classes.jd diff --git a/docs/html-ndk/ndk/reference/closed.png b/docs/html/ndk/reference/closed.png Binary files differindex e4e2b25adb14..e4e2b25adb14 100644 --- a/docs/html-ndk/ndk/reference/closed.png +++ b/docs/html/ndk/reference/closed.png diff --git a/docs/html-ndk/ndk/reference/configuration_8h.jd b/docs/html/ndk/reference/configuration_8h.jd index 3f5f07c631da..3f5f07c631da 100644 --- a/docs/html-ndk/ndk/reference/configuration_8h.jd +++ b/docs/html/ndk/reference/configuration_8h.jd diff --git a/docs/html-ndk/ndk/reference/deprecated.jd b/docs/html/ndk/reference/deprecated.jd index 0e69db69b92c..0e69db69b92c 100644 --- a/docs/html-ndk/ndk/reference/deprecated.jd +++ b/docs/html/ndk/reference/deprecated.jd diff --git a/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd b/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd index 025427afbc40..025427afbc40 100644 --- a/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd +++ b/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd diff --git a/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd b/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd index e42811edb7ea..e42811edb7ea 100644 --- a/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd +++ b/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd diff --git a/docs/html-ndk/ndk/reference/doxygen-dac.css b/docs/html/ndk/reference/doxygen-dac.css index 96b6d84378c0..96b6d84378c0 100644 --- a/docs/html-ndk/ndk/reference/doxygen-dac.css +++ b/docs/html/ndk/reference/doxygen-dac.css diff --git a/docs/html-ndk/ndk/reference/doxygen.css b/docs/html/ndk/reference/doxygen.css index 94f4bf2cc35c..94f4bf2cc35c 100644 --- a/docs/html-ndk/ndk/reference/doxygen.css +++ b/docs/html/ndk/reference/doxygen.css diff --git a/docs/html-ndk/ndk/reference/doxygen.png b/docs/html/ndk/reference/doxygen.png Binary files differindex da7e8aa7670c..da7e8aa7670c 100644 --- a/docs/html-ndk/ndk/reference/doxygen.png +++ b/docs/html/ndk/reference/doxygen.png diff --git a/docs/html-ndk/ndk/reference/dynsections.js b/docs/html/ndk/reference/dynsections.js index ed092c7f6304..ed092c7f6304 100644 --- a/docs/html-ndk/ndk/reference/dynsections.js +++ b/docs/html/ndk/reference/dynsections.js diff --git a/docs/html-ndk/ndk/reference/files.jd b/docs/html/ndk/reference/files.jd index 1144d5bb650c..1144d5bb650c 100644 --- a/docs/html-ndk/ndk/reference/files.jd +++ b/docs/html/ndk/reference/files.jd diff --git a/docs/html-ndk/ndk/reference/ftv2blank.png b/docs/html/ndk/reference/ftv2blank.png Binary files differindex 63c605bb4c3d..63c605bb4c3d 100644 --- a/docs/html-ndk/ndk/reference/ftv2blank.png +++ b/docs/html/ndk/reference/ftv2blank.png diff --git a/docs/html-ndk/ndk/reference/ftv2cl.png b/docs/html/ndk/reference/ftv2cl.png Binary files differindex d660c7bbe883..d660c7bbe883 100644 --- a/docs/html-ndk/ndk/reference/ftv2cl.png +++ b/docs/html/ndk/reference/ftv2cl.png diff --git a/docs/html-ndk/ndk/reference/ftv2doc.png b/docs/html/ndk/reference/ftv2doc.png Binary files differindex 7f92e54f9bbc..7f92e54f9bbc 100644 --- a/docs/html-ndk/ndk/reference/ftv2doc.png +++ b/docs/html/ndk/reference/ftv2doc.png diff --git a/docs/html-ndk/ndk/reference/ftv2folderclosed.png b/docs/html/ndk/reference/ftv2folderclosed.png Binary files differindex 359f2073ab18..359f2073ab18 100644 --- a/docs/html-ndk/ndk/reference/ftv2folderclosed.png +++ b/docs/html/ndk/reference/ftv2folderclosed.png diff --git a/docs/html-ndk/ndk/reference/ftv2folderopen.png b/docs/html/ndk/reference/ftv2folderopen.png Binary files differindex c5103edcf80a..c5103edcf80a 100644 --- a/docs/html-ndk/ndk/reference/ftv2folderopen.png +++ b/docs/html/ndk/reference/ftv2folderopen.png diff --git a/docs/html-ndk/ndk/reference/ftv2lastnode.png b/docs/html/ndk/reference/ftv2lastnode.png Binary files differindex 63c605bb4c3d..63c605bb4c3d 100644 --- a/docs/html-ndk/ndk/reference/ftv2lastnode.png +++ b/docs/html/ndk/reference/ftv2lastnode.png diff --git a/docs/html-ndk/ndk/reference/ftv2link.png b/docs/html/ndk/reference/ftv2link.png Binary files differindex 7f92e54f9bbc..7f92e54f9bbc 100644 --- a/docs/html-ndk/ndk/reference/ftv2link.png +++ b/docs/html/ndk/reference/ftv2link.png diff --git a/docs/html-ndk/ndk/reference/ftv2mlastnode.png b/docs/html/ndk/reference/ftv2mlastnode.png Binary files differindex 9d1437d20108..9d1437d20108 100644 --- a/docs/html-ndk/ndk/reference/ftv2mlastnode.png +++ b/docs/html/ndk/reference/ftv2mlastnode.png diff --git a/docs/html-ndk/ndk/reference/ftv2mnode.png b/docs/html/ndk/reference/ftv2mnode.png Binary files differindex 9d1437d20108..9d1437d20108 100644 --- a/docs/html-ndk/ndk/reference/ftv2mnode.png +++ b/docs/html/ndk/reference/ftv2mnode.png diff --git a/docs/html-ndk/ndk/reference/ftv2mo.png b/docs/html/ndk/reference/ftv2mo.png Binary files differindex e2513ee47eae..e2513ee47eae 100644 --- a/docs/html-ndk/ndk/reference/ftv2mo.png +++ b/docs/html/ndk/reference/ftv2mo.png diff --git a/docs/html-ndk/ndk/reference/ftv2node.png b/docs/html/ndk/reference/ftv2node.png Binary files differindex 63c605bb4c3d..63c605bb4c3d 100644 --- a/docs/html-ndk/ndk/reference/ftv2node.png +++ b/docs/html/ndk/reference/ftv2node.png diff --git a/docs/html-ndk/ndk/reference/ftv2ns.png b/docs/html/ndk/reference/ftv2ns.png Binary files differindex c61a541e88e6..c61a541e88e6 100644 --- a/docs/html-ndk/ndk/reference/ftv2ns.png +++ b/docs/html/ndk/reference/ftv2ns.png diff --git a/docs/html-ndk/ndk/reference/ftv2plastnode.png b/docs/html/ndk/reference/ftv2plastnode.png Binary files differindex a2fffb6fcffd..a2fffb6fcffd 100644 --- a/docs/html-ndk/ndk/reference/ftv2plastnode.png +++ b/docs/html/ndk/reference/ftv2plastnode.png diff --git a/docs/html-ndk/ndk/reference/ftv2pnode.png b/docs/html/ndk/reference/ftv2pnode.png Binary files differindex a2fffb6fcffd..a2fffb6fcffd 100644 --- a/docs/html-ndk/ndk/reference/ftv2pnode.png +++ b/docs/html/ndk/reference/ftv2pnode.png diff --git a/docs/html-ndk/ndk/reference/ftv2splitbar.png b/docs/html/ndk/reference/ftv2splitbar.png Binary files differindex 343046b612b0..343046b612b0 100644 --- a/docs/html-ndk/ndk/reference/ftv2splitbar.png +++ b/docs/html/ndk/reference/ftv2splitbar.png diff --git a/docs/html-ndk/ndk/reference/ftv2vertline.png b/docs/html/ndk/reference/ftv2vertline.png Binary files differindex 63c605bb4c3d..63c605bb4c3d 100644 --- a/docs/html-ndk/ndk/reference/ftv2vertline.png +++ b/docs/html/ndk/reference/ftv2vertline.png diff --git a/docs/html-ndk/ndk/reference/functions.jd b/docs/html/ndk/reference/functions.jd index fade0d5adba1..fade0d5adba1 100644 --- a/docs/html-ndk/ndk/reference/functions.jd +++ b/docs/html/ndk/reference/functions.jd diff --git a/docs/html-ndk/ndk/reference/functions_vars.jd b/docs/html/ndk/reference/functions_vars.jd index 129c7ecd19f8..129c7ecd19f8 100644 --- a/docs/html-ndk/ndk/reference/functions_vars.jd +++ b/docs/html/ndk/reference/functions_vars.jd diff --git a/docs/html-ndk/ndk/reference/globals.jd b/docs/html/ndk/reference/globals.jd index cb6dc11e2c09..cb6dc11e2c09 100644 --- a/docs/html-ndk/ndk/reference/globals.jd +++ b/docs/html/ndk/reference/globals.jd diff --git a/docs/html-ndk/ndk/reference/globals_defs.jd b/docs/html/ndk/reference/globals_defs.jd index 8d04efb2663d..8d04efb2663d 100644 --- a/docs/html-ndk/ndk/reference/globals_defs.jd +++ b/docs/html/ndk/reference/globals_defs.jd diff --git a/docs/html-ndk/ndk/reference/globals_enum.jd b/docs/html/ndk/reference/globals_enum.jd index 7fd396eb5c89..7fd396eb5c89 100644 --- a/docs/html-ndk/ndk/reference/globals_enum.jd +++ b/docs/html/ndk/reference/globals_enum.jd diff --git a/docs/html-ndk/ndk/reference/globals_eval.jd b/docs/html/ndk/reference/globals_eval.jd index e1399c7177af..e1399c7177af 100644 --- a/docs/html-ndk/ndk/reference/globals_eval.jd +++ b/docs/html/ndk/reference/globals_eval.jd diff --git a/docs/html-ndk/ndk/reference/globals_eval_w.jd b/docs/html/ndk/reference/globals_eval_w.jd index c996d30350bf..c996d30350bf 100644 --- a/docs/html-ndk/ndk/reference/globals_eval_w.jd +++ b/docs/html/ndk/reference/globals_eval_w.jd diff --git a/docs/html-ndk/ndk/reference/globals_func.jd b/docs/html/ndk/reference/globals_func.jd index ae48353895da..ae48353895da 100644 --- a/docs/html-ndk/ndk/reference/globals_func.jd +++ b/docs/html/ndk/reference/globals_func.jd diff --git a/docs/html-ndk/ndk/reference/globals_type.jd b/docs/html/ndk/reference/globals_type.jd index 99fa85951fe7..99fa85951fe7 100644 --- a/docs/html-ndk/ndk/reference/globals_type.jd +++ b/docs/html/ndk/reference/globals_type.jd diff --git a/docs/html-ndk/ndk/reference/globals_vars.jd b/docs/html/ndk/reference/globals_vars.jd index e6bd2a4f90bf..e6bd2a4f90bf 100644 --- a/docs/html-ndk/ndk/reference/globals_vars.jd +++ b/docs/html/ndk/reference/globals_vars.jd diff --git a/docs/html-ndk/ndk/reference/globals_w.jd b/docs/html/ndk/reference/globals_w.jd index b72e8c2ff816..b72e8c2ff816 100644 --- a/docs/html-ndk/ndk/reference/globals_w.jd +++ b/docs/html/ndk/reference/globals_w.jd diff --git a/docs/html-ndk/ndk/reference/group___asset.jd b/docs/html/ndk/reference/group___asset.jd index c2f9067dc7a7..c2f9067dc7a7 100644 --- a/docs/html-ndk/ndk/reference/group___asset.jd +++ b/docs/html/ndk/reference/group___asset.jd diff --git a/docs/html-ndk/ndk/reference/group___bitmap.jd b/docs/html/ndk/reference/group___bitmap.jd index 2f2b1999b495..2f2b1999b495 100644 --- a/docs/html-ndk/ndk/reference/group___bitmap.jd +++ b/docs/html/ndk/reference/group___bitmap.jd diff --git a/docs/html-ndk/ndk/reference/group___configuration.jd b/docs/html/ndk/reference/group___configuration.jd index 708722eb3530..708722eb3530 100644 --- a/docs/html-ndk/ndk/reference/group___configuration.jd +++ b/docs/html/ndk/reference/group___configuration.jd diff --git a/docs/html-ndk/ndk/reference/group___input.jd b/docs/html/ndk/reference/group___input.jd index 55db9566e2a7..55db9566e2a7 100644 --- a/docs/html-ndk/ndk/reference/group___input.jd +++ b/docs/html/ndk/reference/group___input.jd diff --git a/docs/html-ndk/ndk/reference/group___looper.jd b/docs/html/ndk/reference/group___looper.jd index bc845f82a5ab..bc845f82a5ab 100644 --- a/docs/html-ndk/ndk/reference/group___looper.jd +++ b/docs/html/ndk/reference/group___looper.jd diff --git a/docs/html-ndk/ndk/reference/group___native_activity.jd b/docs/html/ndk/reference/group___native_activity.jd index d0b2178e389f..d0b2178e389f 100644 --- a/docs/html-ndk/ndk/reference/group___native_activity.jd +++ b/docs/html/ndk/reference/group___native_activity.jd diff --git a/docs/html-ndk/ndk/reference/group___sensor.jd b/docs/html/ndk/reference/group___sensor.jd index 41a0aec4a252..41a0aec4a252 100644 --- a/docs/html-ndk/ndk/reference/group___sensor.jd +++ b/docs/html/ndk/reference/group___sensor.jd diff --git a/docs/html-ndk/ndk/reference/group___storage.jd b/docs/html/ndk/reference/group___storage.jd index e29303a1c49a..e29303a1c49a 100644 --- a/docs/html-ndk/ndk/reference/group___storage.jd +++ b/docs/html/ndk/reference/group___storage.jd diff --git a/docs/html-ndk/ndk/reference/index.jd b/docs/html/ndk/reference/index.jd index 94bcb7a38839..94bcb7a38839 100644 --- a/docs/html-ndk/ndk/reference/index.jd +++ b/docs/html/ndk/reference/index.jd diff --git a/docs/html-ndk/ndk/reference/input_8h.jd b/docs/html/ndk/reference/input_8h.jd index 855a346a7028..855a346a7028 100644 --- a/docs/html-ndk/ndk/reference/input_8h.jd +++ b/docs/html/ndk/reference/input_8h.jd diff --git a/docs/html-ndk/ndk/reference/keycodes_8h.jd b/docs/html/ndk/reference/keycodes_8h.jd index 338a361b43a2..338a361b43a2 100644 --- a/docs/html-ndk/ndk/reference/keycodes_8h.jd +++ b/docs/html/ndk/reference/keycodes_8h.jd diff --git a/docs/html-ndk/ndk/reference/looper_8h.jd b/docs/html/ndk/reference/looper_8h.jd index 91716316581c..91716316581c 100644 --- a/docs/html-ndk/ndk/reference/looper_8h.jd +++ b/docs/html/ndk/reference/looper_8h.jd diff --git a/docs/html-ndk/ndk/reference/modules.jd b/docs/html/ndk/reference/modules.jd index 2da73074e75d..2da73074e75d 100644 --- a/docs/html-ndk/ndk/reference/modules.jd +++ b/docs/html/ndk/reference/modules.jd diff --git a/docs/html-ndk/ndk/reference/native__activity_8h.jd b/docs/html/ndk/reference/native__activity_8h.jd index 147ffdb531f8..147ffdb531f8 100644 --- a/docs/html-ndk/ndk/reference/native__activity_8h.jd +++ b/docs/html/ndk/reference/native__activity_8h.jd diff --git a/docs/html-ndk/ndk/reference/native__window_8h.jd b/docs/html/ndk/reference/native__window_8h.jd index 75f9469d6964..75f9469d6964 100644 --- a/docs/html-ndk/ndk/reference/native__window_8h.jd +++ b/docs/html/ndk/reference/native__window_8h.jd diff --git a/docs/html-ndk/ndk/reference/native__window__jni_8h.jd b/docs/html/ndk/reference/native__window__jni_8h.jd index bffbc034b0f2..bffbc034b0f2 100644 --- a/docs/html-ndk/ndk/reference/native__window__jni_8h.jd +++ b/docs/html/ndk/reference/native__window__jni_8h.jd diff --git a/docs/html-ndk/ndk/reference/nav_f.png b/docs/html/ndk/reference/nav_f.png Binary files differindex 5ceae878cc8e..5ceae878cc8e 100644 --- a/docs/html-ndk/ndk/reference/nav_f.png +++ b/docs/html/ndk/reference/nav_f.png diff --git a/docs/html-ndk/ndk/reference/nav_g.png b/docs/html/ndk/reference/nav_g.png Binary files differindex 2093a237a94f..2093a237a94f 100644 --- a/docs/html-ndk/ndk/reference/nav_g.png +++ b/docs/html/ndk/reference/nav_g.png diff --git a/docs/html-ndk/ndk/reference/nav_h.png b/docs/html/ndk/reference/nav_h.png Binary files differindex e619809c4c9c..e619809c4c9c 100644 --- a/docs/html-ndk/ndk/reference/nav_h.png +++ b/docs/html/ndk/reference/nav_h.png diff --git a/docs/html-ndk/ndk/reference/obb_8h.jd b/docs/html/ndk/reference/obb_8h.jd index a856d4eea5d7..a856d4eea5d7 100644 --- a/docs/html-ndk/ndk/reference/obb_8h.jd +++ b/docs/html/ndk/reference/obb_8h.jd diff --git a/docs/html-ndk/ndk/reference/open.png b/docs/html/ndk/reference/open.png Binary files differindex 7e740cc4fde7..7e740cc4fde7 100644 --- a/docs/html-ndk/ndk/reference/open.png +++ b/docs/html/ndk/reference/open.png diff --git a/docs/html-ndk/ndk/reference/pages.jd b/docs/html/ndk/reference/pages.jd index 2d7ece8aeb43..2d7ece8aeb43 100644 --- a/docs/html-ndk/ndk/reference/pages.jd +++ b/docs/html/ndk/reference/pages.jd diff --git a/docs/html-ndk/ndk/reference/rect_8h.jd b/docs/html/ndk/reference/rect_8h.jd index 85787b5b5b0c..85787b5b5b0c 100644 --- a/docs/html-ndk/ndk/reference/rect_8h.jd +++ b/docs/html/ndk/reference/rect_8h.jd diff --git a/docs/html-ndk/ndk/reference/reference_toc.cs b/docs/html/ndk/reference/reference_toc.cs index 8ddb864421e8..8ddb864421e8 100644 --- a/docs/html-ndk/ndk/reference/reference_toc.cs +++ b/docs/html/ndk/reference/reference_toc.cs diff --git a/docs/html-ndk/ndk/reference/sensor_8h.jd b/docs/html/ndk/reference/sensor_8h.jd index a537f4f189a1..a537f4f189a1 100644 --- a/docs/html-ndk/ndk/reference/sensor_8h.jd +++ b/docs/html/ndk/reference/sensor_8h.jd diff --git a/docs/html-ndk/ndk/reference/storage__manager_8h.jd b/docs/html/ndk/reference/storage__manager_8h.jd index 6048d84efdff..6048d84efdff 100644 --- a/docs/html-ndk/ndk/reference/storage__manager_8h.jd +++ b/docs/html/ndk/reference/storage__manager_8h.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd b/docs/html/ndk/reference/struct_a_heart_rate_event.jd index 1cd2a2d32300..1cd2a2d32300 100644 --- a/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd +++ b/docs/html/ndk/reference/struct_a_heart_rate_event.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd b/docs/html/ndk/reference/struct_a_meta_data_event.jd index 352b5ba2be40..352b5ba2be40 100644 --- a/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd +++ b/docs/html/ndk/reference/struct_a_meta_data_event.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_native_activity.jd b/docs/html/ndk/reference/struct_a_native_activity.jd index 6d8124beae7c..6d8124beae7c 100644 --- a/docs/html-ndk/ndk/reference/struct_a_native_activity.jd +++ b/docs/html/ndk/reference/struct_a_native_activity.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd b/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd index 45b8e5ef4b73..45b8e5ef4b73 100644 --- a/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd +++ b/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd b/docs/html/ndk/reference/struct_a_native_window___buffer.jd index a2008fd395f8..a2008fd395f8 100644 --- a/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd +++ b/docs/html/ndk/reference/struct_a_native_window___buffer.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_rect.jd b/docs/html/ndk/reference/struct_a_rect.jd index 4b9bb679429e..4b9bb679429e 100644 --- a/docs/html-ndk/ndk/reference/struct_a_rect.jd +++ b/docs/html/ndk/reference/struct_a_rect.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd b/docs/html/ndk/reference/struct_a_sensor_event.jd index 3c6e49d46fc8..3c6e49d46fc8 100644 --- a/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd +++ b/docs/html/ndk/reference/struct_a_sensor_event.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd b/docs/html/ndk/reference/struct_a_sensor_vector.jd index 397ad6d0dd87..397ad6d0dd87 100644 --- a/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd +++ b/docs/html/ndk/reference/struct_a_sensor_vector.jd diff --git a/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd b/docs/html/ndk/reference/struct_a_uncalibrated_event.jd index 985b0b93e368..985b0b93e368 100644 --- a/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd +++ b/docs/html/ndk/reference/struct_a_uncalibrated_event.jd diff --git a/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd b/docs/html/ndk/reference/struct_android_bitmap_info.jd index f995b56e7e07..f995b56e7e07 100644 --- a/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd +++ b/docs/html/ndk/reference/struct_android_bitmap_info.jd diff --git a/docs/html-ndk/ndk/reference/sync_off.png b/docs/html/ndk/reference/sync_off.png Binary files differindex b85662482b4b..b85662482b4b 100644 --- a/docs/html-ndk/ndk/reference/sync_off.png +++ b/docs/html/ndk/reference/sync_off.png diff --git a/docs/html-ndk/ndk/reference/sync_on.png b/docs/html/ndk/reference/sync_on.png Binary files differindex e5044af07574..e5044af07574 100644 --- a/docs/html-ndk/ndk/reference/sync_on.png +++ b/docs/html/ndk/reference/sync_on.png diff --git a/docs/html-ndk/ndk/reference/tab_a.png b/docs/html/ndk/reference/tab_a.png Binary files differindex 170a784114da..170a784114da 100644 --- a/docs/html-ndk/ndk/reference/tab_a.png +++ b/docs/html/ndk/reference/tab_a.png diff --git a/docs/html-ndk/ndk/reference/tab_b.png b/docs/html/ndk/reference/tab_b.png Binary files differindex 777449930576..777449930576 100644 --- a/docs/html-ndk/ndk/reference/tab_b.png +++ b/docs/html/ndk/reference/tab_b.png diff --git a/docs/html-ndk/ndk/reference/tab_h.png b/docs/html/ndk/reference/tab_h.png Binary files differindex e1dddef1ff1a..e1dddef1ff1a 100644 --- a/docs/html-ndk/ndk/reference/tab_h.png +++ b/docs/html/ndk/reference/tab_h.png diff --git a/docs/html-ndk/ndk/reference/tab_s.png b/docs/html/ndk/reference/tab_s.png Binary files differindex 3dc07b0c370f..3dc07b0c370f 100644 --- a/docs/html-ndk/ndk/reference/tab_s.png +++ b/docs/html/ndk/reference/tab_s.png diff --git a/docs/html-ndk/ndk/reference/tabs.css b/docs/html/ndk/reference/tabs.css index 71145bb1d98b..71145bb1d98b 100644 --- a/docs/html-ndk/ndk/reference/tabs.css +++ b/docs/html/ndk/reference/tabs.css diff --git a/docs/html-ndk/ndk/reference/window_8h.jd b/docs/html/ndk/reference/window_8h.jd index 39e01dca89f5..39e01dca89f5 100644 --- a/docs/html-ndk/ndk/reference/window_8h.jd +++ b/docs/html/ndk/reference/window_8h.jd diff --git a/docs/html-ndk/ndk/samples/index.jd b/docs/html/ndk/samples/index.jd index 6b2cd164e4e0..6b2cd164e4e0 100644 --- a/docs/html-ndk/ndk/samples/index.jd +++ b/docs/html/ndk/samples/index.jd diff --git a/docs/html-ndk/ndk/samples/sample_hellojni.jd b/docs/html/ndk/samples/sample_hellojni.jd index fa61b28152fe..fa61b28152fe 100644 --- a/docs/html-ndk/ndk/samples/sample_hellojni.jd +++ b/docs/html/ndk/samples/sample_hellojni.jd diff --git a/docs/html-ndk/ndk/samples/sample_na.jd b/docs/html/ndk/samples/sample_na.jd index a706be57a066..a706be57a066 100644 --- a/docs/html-ndk/ndk/samples/sample_na.jd +++ b/docs/html/ndk/samples/sample_na.jd diff --git a/docs/html-ndk/ndk/samples/sample_teapot.jd b/docs/html/ndk/samples/sample_teapot.jd index 97708a7cb0bc..97708a7cb0bc 100644 --- a/docs/html-ndk/ndk/samples/sample_teapot.jd +++ b/docs/html/ndk/samples/sample_teapot.jd diff --git a/docs/html-ndk/ndk/samples/samples_toc.cs b/docs/html/ndk/samples/samples_toc.cs index 92266b13b408..92266b13b408 100644 --- a/docs/html-ndk/ndk/samples/samples_toc.cs +++ b/docs/html/ndk/samples/samples_toc.cs diff --git a/docs/html-ndk/ndk/samples/walkthroughs.jd b/docs/html/ndk/samples/walkthroughs.jd index 88ceb56c4b24..88ceb56c4b24 100644 --- a/docs/html-ndk/ndk/samples/walkthroughs.jd +++ b/docs/html/ndk/samples/walkthroughs.jd diff --git a/docs/html/preview/index.jd b/docs/html/preview/index.jd index eb18aa67fad4..68186bd2ef64 100644 --- a/docs/html/preview/index.jd +++ b/docs/html/preview/index.jd @@ -26,7 +26,7 @@ footer.hide=1 <a class="dac-hero-cta" href="{@docRoot}preview/overview.html"> <span class="dac-sprite dac-auto-chevron"></span> - Get Started! + Get started </a><br> </div> </div> @@ -44,7 +44,7 @@ footer.hide=1 <div class="dac-section-subtitle"> Essential information to help you get your apps ready for Android M. </div> - + <div class="resource-widget resource-flow-layout col-16" data-query="collection:preview/landing/more" data-cardSizes="6x6" @@ -56,7 +56,7 @@ footer.hide=1 <span class="dac-sprite dac-auto-chevron"></span> Report Issues </a> - </li> + </li> <li class="dac-section-link"><a href="http://g.co/dev/AndroidMDevPreview"> <span class="dac-sprite dac-auto-chevron"></span> Join G+ Community diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd index 4fd68e687329..82faeafbd105 100644 --- a/docs/html/sdk/index.jd +++ b/docs/html/sdk/index.jd @@ -31,16 +31,16 @@ studio.win_notools_exe_checksum=ae09797db2537afb572a00b7eacc292bb66d539e sdk.linux_download=android-sdk_r24.3.2-linux.tgz -sdk.linux_bytes=309563606 -sdk.linux_checksum=98e70ce403fea2e24e90103395d418feb3a9b7e8 +sdk.linux_bytes=309138263 +sdk.linux_checksum=4a10e62c5d88fd6c2a69db12348cbe168228b98f sdk.mac_download=android-sdk_r24.3.2-macosx.zip -sdk.mac_bytes=98259310 -sdk.mac_checksum=aa9aef30ff27358118318d82414b1481625faf2a +sdk.mac_bytes=98329772 +sdk.mac_checksum=8609b92e26e9bd5796f771138c6b222b6c0cb474 sdk.win_download=android-sdk_r24.3.2-windows.zip -sdk.win_bytes=187214094 -sdk.win_checksum=c33a63a955bb448ee550710a764ba18c37cb58d6 +sdk.win_bytes=187488291 +sdk.win_checksum=bcfe3c41ea7e33a29ad6f358adbdf977008be80a sdk.win_installer=installer_r24.3.2-windows.exe sdk.win_installer_bytes=139471724 diff --git a/docs/html/training/enterprise/index.jd b/docs/html/training/enterprise/index.jd index fce09b94a5f9..d54607c40265 100644 --- a/docs/html/training/enterprise/index.jd +++ b/docs/html/training/enterprise/index.jd @@ -6,10 +6,10 @@ page.article=true @jd:body -<img src="{@docRoot}images/enterprise/work-launcher.png" - width="300" - style="float:right;margin:0 0 20px 20px" - alt="Android for Work apps in a managed profile"> +<iframe width="448" height="252" + src="//www.youtube.com/embed/jQWB_-o1kz4?autohide=1&showinfo=0" + frameborder="0" allowfullscreen="" + style="float: right; margin: 0 0 20px 20px;"></iframe> <p> The Android framework provides features to support the security, data separation, and @@ -32,7 +32,6 @@ page.article=true the enterprise environment or build enterprise-specific solutions. </p> - <h2 id="apps">App Development for Enterprises</h2> <p> @@ -44,7 +43,7 @@ page.article=true <div class="dynamic-grid"> <div class="resource-widget resource-flow-layout landing col-12" data-query="collection:training/work/apps" - data-cardSizes="9x3" + data-cardSizes="6x6" data-maxResults="6"> </div> </div> @@ -60,7 +59,7 @@ page.article=true <div class="dynamic-grid"> <div class="resource-widget resource-flow-layout landing col-12" data-query="collection:training/work/admin" - data-cardSizes="9x3" + data-cardSizes="6x6" data-maxResults="4"> </div> </div> diff --git a/docs/html/training/tv/discovery/searchable.jd b/docs/html/training/tv/discovery/searchable.jd index 27a1c339bb09..4ca7abbca9f0 100644 --- a/docs/html/training/tv/discovery/searchable.jd +++ b/docs/html/training/tv/discovery/searchable.jd @@ -90,7 +90,7 @@ more important columns are described below.</p> <td>The production year of your content <strong>(required)</strong></td> </tr><tr> <td>{@code SUGGEST_COLUMN_DURATION}</td> - <td>The duration in milliseconds of your media</td> + <td>The duration in milliseconds of your media <strong>(required)</strong></td> </tr> </table> @@ -99,6 +99,7 @@ more important columns are described below.</p> <li>{@link android.app.SearchManager#SUGGEST_COLUMN_TEXT_1}</li> <li>{@link android.app.SearchManager#SUGGEST_COLUMN_CONTENT_TYPE}</li> <li>{@link android.app.SearchManager#SUGGEST_COLUMN_PRODUCTION_YEAR}</li> + <li>{@link android.app.SearchManager#SUGGEST_COLUMN_DURATION}</li> </ul> <p>When the values of these columns for your content match the values for the same content from other diff --git a/docs/html/training/tv/publishing/checklist.jd b/docs/html/training/tv/publishing/checklist.jd index 865a89b15916..6259721c2550 100644 --- a/docs/html/training/tv/publishing/checklist.jd +++ b/docs/html/training/tv/publishing/checklist.jd @@ -67,12 +67,12 @@ page.article=true <li> Eliminate requirements for unsupported hardware in your app. - <p>See <a href="training/tv/start/hardware.html#declare-hardware-requirements">Declaring hardware requirements for TV</a>.</p> + <p>See <a href="{@docRoot}training/tv/start/hardware.html#declare-hardware-requirements">Declaring hardware requirements for TV</a>.</p> </li> <li> Ensure permissions do not imply hardware requirements - <p>See <a href="training/tv/start/hardware.html#hardware-permissions">Declaring permissions that imply hardware features</a>.</p> + <p>See <a href="{@docRoot}training/tv/start/hardware.html#hardware-permissions">Declaring permissions that imply hardware features</a>.</p> </li> </ol> diff --git a/docs/html/training/wearables/apps/creating.jd b/docs/html/training/wearables/apps/creating.jd index a8b5ec610d68..f1491e47fd43 100644 --- a/docs/html/training/wearables/apps/creating.jd +++ b/docs/html/training/wearables/apps/creating.jd @@ -9,9 +9,9 @@ helpoutsWidget=true <h2>This lesson teaches you to</h2> <ol> <li><a href="#UpdateSDK">Update Your SDK</a></li> - <li><a href="#SetupEmulator">Set Up an Android Wear Emulator</a></li> - <li><a href="#SetupDevice">Set Up an Android Wear Device</a></li> + <li><a href="#SetupEmulator">Set Up an Android Wear Emulator or Device</a></li> <li><a href="#CreateProject">Create a Project</a></li> + <li><a href="#Install">Install the Wearable App</a></li> <li><a href="#Libraries">Include the Correct Libraries</a></li> </ol> </div> @@ -112,18 +112,20 @@ types of screen shapes, which is useful for testing.</p> <li>Tap <strong>ADB Debugging</strong> to enable adb.</li> </ol> <li>Connect the wearable to your machine through USB, so you can install apps directly to it - as you develop. A message appears on both the wearable and the Android Wear app prompting you to allow debugging.</li> - <p class="note"><strong>Note:</strong> If you can not connect your wearable to your machine via USB, - follow the directions on - <a href="{@docRoot}training/wearables/apps/bt-debugging.html">Debugging over - Bluetooth</a>. + as you develop. A message appears on both the wearable and the Android Wear app prompting you to + allow debugging.</li> + + <p class="note"><strong>Note:</strong> If you can not connect your wearable + to your machine via USB, you can try + <a href="{@docRoot}training/wearables/apps/bt-debugging.html">connecting over Bluetooth</a>. </p> + <li>On the Android Wear app, check <strong>Always allow from this computer</strong> and tap <strong>OK</strong>.</li> </ol> -<p>The <strong>Android</strong> tool window on Android Studio shows the system log from the wearable. -The wearable should also be listed when you run the <code>adb devices</code> command.</p> +<p>The <i>Android</i> tool window on Android Studio shows the system log from the +wearable. The wearable should also be listed when you run the <code>adb devices</code> command.</p> <h2 id="CreateProject">Create a Project</h2> @@ -147,18 +149,23 @@ Project</a>. As you follow the wizard, enter the following information:</p> <li>In the first <b>Add an Activity</b> window, add a blank activity for mobile.</li> <li>In the second <b>Add an Activity</b> window, add a blank activity for Wear.</li> </ol> - <p>When the wizard completes, Android Studio creates a new project with two modules, <b>mobile</b> and - <b>wear</b>. You now have a project for both your handheld and wearable apps that you can create activities, - services, custom layouts, and much more in. On the handheld app, you do most of the heavy lifting, - such as network communications, intensive processing, or tasks that require long - amounts of user interaction. When these are done, - you usually notify the wearable of the results through notifications or by syncing and sending - data to the wearable.</p> - - <p class="note"><b>Note:</b> The <b>wear</b> module also contains a "Hello World" activity that uses a - <code>WatchViewStub</code> that inflates a layout based on whether the device's screen - is round or square. The <code>WatchViewStub</code> class is one of the UI widgets that's provided - by the <a href="{@docRoot}training/wearables/apps/layouts.html#UiLibrary">wearable support library</a>.</p> + <p>When the wizard completes, Android Studio creates a new project with two modules, <b>mobile</b> + and <b>wear</b>. You now have a project for both your handheld and wearable apps for which you can + create activities, services, and custom layouts. The handheld app does most of + the heavy lifting, such as network communications, intensive processing, or tasks that require + long amounts of user interaction. When the app completes these operations, your app should + notify the wearable of the results through notifications or by syncing and sending data to + the wearable.</p> + + <p class="note"><b>Note:</b> The <b>wear</b> module also contains a "Hello World" activity that + uses a + <a href="{@docRoot}reference/android/support/wearable/view/WatchViewStub.html"><code>WatchViewStub</code></a>. + This class inflates a layout based on whether the device's screen is round or square. The + <a href="{@docRoot}reference/android/support/wearable/view/WatchViewStub.html"><code>WatchViewStub</code></a> + class is one of the UI widgets that the + <a href="{@docRoot}training/wearables/apps/layouts.html#UiLibrary">wearable support library</a> + provides. + </p> </li> <h2 id="Install">Install the Wearable App</h2> @@ -167,8 +174,8 @@ Project</a>. As you follow the wizard, enter the following information:</p> either <code>adb install</code> or the <b>Play</b> button on Android Studio.</p> <p>When you're ready to publish your app to users, you embed the wearable app inside of the -handheld app. When users install the handheld app from Google Play, a connected wearable automatically -receives the wearable app.</p> +handheld app. When a user installs the handheld app from Google Play, a connected wearable +automatically receives the wearable app.</p> <p class="note"><b>Note:</b> The automatic installation of wearable apps does not work when you are signing apps with a debug key and only works with release keys. See @@ -184,7 +191,8 @@ wearable and prints out "Hello world!" <p>As part of the Project Wizard, the correct dependencies are imported for you in the appropriate module's <code>build.gradle</code> file. -However, these dependencies are not required, so read the following descriptions to find out if you need them or not:</p> +However, these dependencies are not required, so read the following descriptions to find out if you +need them or not:</p> <b>Notifications</b> <p>The <a href="{@docRoot}tools/support-library/features.html#v4">Android diff --git a/docs/html/training/wearables/apps/layouts.jd b/docs/html/training/wearables/apps/layouts.jd index 1d0e49bd4d1d..197b94b0c70b 100644 --- a/docs/html/training/wearables/apps/layouts.jd +++ b/docs/html/training/wearables/apps/layouts.jd @@ -10,7 +10,7 @@ helpoutsWidget=true <h2>This lesson teaches you to</h2> <ol> <li><a href="#CustomNotifications">Create custom notifications</a></li> - <li><a href="#UiLibrary">Create Layouts with the Wearable UI Library</li> + <li><a href="#UiLibrary">Create Layouts with the Wearable UI Library</a></li> </ol> <h2>You should also read</h2> @@ -73,8 +73,8 @@ public void onCreate(Bundle bundle){ For example: <pre> Intent notificationIntent = new Intent(this, NotificationActivity.class); -PendingIntent notificationPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, - PendingIntent.FLAG_UPDATE_CURRENT); +PendingIntent notificationPendingIntent = PendingIntent.getActivity( + this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); </pre> </li> <li>Build a {@link android.app.Notification} and call @@ -110,35 +110,88 @@ dependencies { <p>Here are some of the major classes in the Wearable UI Library:</p> -<ul> - <li><code>BoxInsetLayout</code> - A FrameLayout that's aware of screen shape and can box its - children in the center square of a round screen.</li> - <li><code>CardFragment</code> - A fragment that presents content within an expandable, - vertically scrollable card.</li> - <li><code>CircledImageView</code> - An image view surrounded by a circle.</li> - <li><code>ConfirmationActivity</code> - An activity that displays confirmation animations after the user - completes an action.</li> - <li><code>CrossFadeDrawable</code> - A drawable that contains two child drawables and provides - methods to directly adjust the blend between the two.</li> - <li><code>DelayedConfirmationView</code> - A view that provides a circular countdown timer, - typically used to automatically confirm an operation after a short delay has elapsed.</li> - <li><code>DismissOverlayView</code> - A view for implementing long-press-to-dismiss.</li> - <li><code>DotsPageIndicator</code> - A page indicator for GridViewPager that identifies the - current page in relation to all available pages on the current row.</li> - <li><code>GridViewPager</code> - A layout manager that allows the user to both vertically and - horizontally through pages of data. You supply an implementation of a GridPagerAdapter to - generate the pages that the view shows.</li> - <li><code>GridPagerAdapter</code> - An adapter that supplies pages to a GridViewPager.</li> - <li><code>FragmentGridPagerAdapter</code> - An implementation of GridPagerAdapter that - represents each page as a fragment.</li> - </li> - <li><code>WatchViewStub</code> - A class that can inflate a specific layout, - depending on the shape of the device's screen.</li> - <li><code>WearableListView</code> - An alternative version of ListView that is optimized for - ease of use on small screen wearable devices. It displays a vertically scrollable list of items, - and automatically snaps to the nearest item when the user stops scrolling. - </li> -</ul> +<dl> + <dt><a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code>BoxInsetLayout</code></a> + </dt> + <dd>A {@link android.widget.FrameLayout} object + that's aware of screen shape and can box its children in the center square of a round screen. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> + </dt> + <dd>A fragment that presents content within an expandable, vertically scrollable card. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/CircledImageView.html"><code>CircledImageView</code></a> + </dt> + <dd>An image view surrounded by a circle. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html"><code>ConfirmationActivity</code></a> + </dt> + <dd>An activity that displays confirmation animations after the user completes an action. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/CrossfadeDrawable.html"><code>CrossFadeDrawable</code></a> + </dt> + <dd>A drawable that contains two child drawables and provides methods to directly adjust the blend + between the two. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/DelayedConfirmationView.html"><code>DelayedConfirmationView</code></a> + </dt> + <dd>A view that provides a circular countdown timer, typically used to automatically confirm an + operation after a short delay has elapsed. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/DismissOverlayView.html"><code>DismissOverlayView</code></a> + </dt> + <dd>A view for implementing long-press-to-dismiss. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> + </dt> + <dd>A layout manager that allows the user to navigate both vertically and + horizontally through pages of data. You supply an implementation of a + <a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html"><code>GridPagerAdapter</code></a> + instance to generate the pages that the view shows. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html"><code>GridPagerAdapter</code></a> + </dt> + <dd>An adapter that supplies pages to a + <a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> + object. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/FragmentGridPagerAdapter.html"><code>FragmentGridPagerAdapter</code></a> + </dt> + <dd>An implementation of a + <a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html"><code>GridPagerAdapter</code></a> + instance that represents each page as a fragment. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/DotsPageIndicator.html"><code>DotsPageIndicator</code></a> + </dt> + <dd>A page indicator for a + <a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> + implementation that identifies the current page in relation to all available pages on the current + row. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/WatchViewStub.html"><code>WatchViewStub</code></a> + </dt> + <dd>A class that can inflate a specific layout, depending on the shape of the device's screen. + </dd> + + <dt><a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView</code></a> + </dt> + <dd>An alternative version of a {@link android.widget.ListView} + object that is optimized for ease of use on small screen wearable devices. It displays a + vertically scrollable list of items, and automatically snaps to the nearest item when the user + stops scrolling. + </dd> +</dl> <h3 id="UiLibReference">Wear UI library API reference</h3> diff --git a/docs/html/training/wearables/ui/2d-picker.jd b/docs/html/training/wearables/ui/2d-picker.jd index 8f4d8af19667..68f98b7c4d55 100644 --- a/docs/html/training/wearables/ui/2d-picker.jd +++ b/docs/html/training/wearables/ui/2d-picker.jd @@ -9,6 +9,11 @@ page.title=Creating a 2D Picker <li><a href="#add-page-grid">Add a Page Grid</a></li> <li><a href="#implement-adapter">Implement a Page Adapter</a></li> </ol> +<h2>Related Samples</h2> +<ul> + <li><a href="{@docRoot}samples/GridViewPager/index.html"> + GridViewPager</a></li> +</ul> <h2>You should also read</h2> <ul> <li><a href="{@docRoot}design/wear/index.html">Android Wear Design Principles</a></li> @@ -21,18 +26,19 @@ Wear allows users to navigate and choose from a set of items shown as pages. The Library lets you easily implement this pattern using a page grid, which is a layout manager that allows users to scroll vertically and horizontally through pages of data.</p> -<p>To implement this pattern, you add a <code>GridViewPager</code> element to the layout -of your activity and implement an adapter that provides a set of pages by extending -the <code>FragmentGridPagerAdapter</code> class.</p> - -<p class="note"><strong>Note:</strong> The <em>GridViewPager</em> sample in the Android SDK -demonstrates how to use the <code>GridViewPager</code> layout in your apps. This sample is -located in the <code>android-sdk/samples/android-20/wearable/GridViewPager</code> directory.</p> +<p>To implement this pattern, you add a +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +element to the layout of your activity and implement an adapter that provides a set of pages by +extending the +<a href="{@docRoot}reference/android/support/wearable/view/FragmentGridPagerAdapter.html"><code>FragmentGridPagerAdapter</code></a> +class.</p> <h2 id="add-page-grid">Add a Page Grid</h2> -<p>Add a <code>GridViewPager</code> element to your layout definition as follows:</p> +<p>Add a +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +element to your layout definition as follows:</p> <pre> <android.support.wearable.view.GridViewPager @@ -49,18 +55,20 @@ your 2D picker works on both round and square devices.</p> <h2 id="implement-adapter">Implement a Page Adapter</h2> -<p>A page adapter provides a set of pages to populate a <code>GridViewPager</code> component. To -implement this adapter, you extend the <code>FragmentGridPageAdapter</code> class from the -Wearable UI Library</p> +<p>A page adapter provides a set of pages to populate a +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +component. To implement this adapter, you extend the +<a href="{@docRoot}reference/android/support/wearable/view/FragmentGridPagerAdapter.html"><code>FragmentGridPagerAdapter</code></a> +class from the Wearable UI Library</p> -<p>For example, the <em>GridViewPager</em> sample in the Android SDK contains -the following adapter implementation that provides a set of static cards with custom background +<p>The following snippet shows how to provide a set of static cards with custom background images:</p> <pre> public class SampleGridPagerAdapter extends FragmentGridPagerAdapter { private final Context mContext; + private List<Row> mRows; public SampleGridPagerAdapter(Context ctx, FragmentManager fm) { super(fm); @@ -68,8 +76,8 @@ public class SampleGridPagerAdapter extends FragmentGridPagerAdapter { } static final int[] BG_IMAGES = new int[] { - R.drawable.debug_background_1, ... - R.drawable.debug_background_5 + R.drawable.debug_background_1, ... + R.drawable.debug_background_5 }; // A simple container for static data in each page @@ -89,8 +97,11 @@ public class SampleGridPagerAdapter extends FragmentGridPagerAdapter { } </pre> -<p>The picker calls <code>getFragment</code> and <code>getBackground</code> to retrieve the content -to display at each position of the grid:</p> +<p>The adapter calls +<a href="{@docRoot}reference/android/support/wearable/view/FragmentGridPagerAdapter.html#getFragment(int, int)"><code>getFragment()</code></a> +and +<a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)"><code>getBackgroundForRow()</code></a> +to retrieve the content to display for each row:</p> <pre> // Obtain the UI fragment at the specified position @@ -111,16 +122,39 @@ public Fragment getFragment(int row, int col) { return fragment; } -// Obtain the background image for the page at the specified position +// Obtain the background image for the row +@Override +public Drawable getBackgroundForRow(int row) { + return mContext.getResources().getDrawable( + (BG_IMAGES[row % BG_IMAGES.length]), null); +} + +</pre> + +<p>The following example shows how to retrieve the background to display for a specific page +in the grid: +</p> + +<pre> +// Obtain the background image for the specific page @Override -public ImageReference getBackground(int row, int column) { - return ImageReference.forDrawable(BG_IMAGES[row % BG_IMAGES.length]); +public Drawable getBackgroundForPage(int row, int column) { + if( row == 2 && column == 1) { + // Place image at specified position + return mContext.getResources().getDrawable(R.drawable.bugdroid_large, null); + } else { + // Default to background image for row + return GridPagerAdapter.BACKGROUND_NONE; + } } </pre> -<p>The <code>getRowCount</code> method tells the picker how many rows of content are -available, and the <code>getColumnCount</code> method tells the picker how many columns -of content are available for each of the rows.</p> +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html#getRowCount()"><code>getRowCount()</code></a> +method tells the adapter how many rows of content are +available, and the +<a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html#getColumnCount(int)"><code>getColumnCount()</code></a> +method tells the adapter how many columns of content are available for each of the rows.</p> <pre> // Obtain the number of pages (vertical) @@ -137,10 +171,13 @@ public int getColumnCount(int rowNum) { </pre> <p>The adapter implementation details depend on your particular set of pages. Each page provided -by the adapter is of type <code>Fragment</code>. In this example, each page is a -<code>CardFragment</code> instance that uses one of the default card layouts. However, you can -combine different types of pages in the same 2D picker, such as cards, action icons, and custom -layouts depending on your use cases.</p> +by the adapter is of type +<a href="{@docRoot}reference/android/app/Fragment.html"><code>Fragment</code></a>. +In this example, each page is a +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +instance that uses one of the default card layouts. However, you can combine different types of +pages in the same 2D picker, such as cards, action icons, and custom layouts depending on your use +cases.</p> <div style="float:right;margin-left:25px;width:250px"> <img src="{@docRoot}wear/images/07_uilib.png" width="250" height="250" alt=""/> @@ -149,24 +186,30 @@ The <em>GridViewPager</em> sample.</p> </div> <p>Not all rows need to have the same number of pages. Notice that in this example the number of -colums is different for each row. You can also use a <code>GridViewPager</code> component to -implement a 1D picker with only one row or only one column.</p> +colums is different for each row. You can also use a +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +component to implement a 1D picker with only one row or only one column.</p> -<p><code>GridViewPager</code> provides support for scrolling in cards whose content does not fit +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +class provides support for scrolling in cards whose content does not fit the device screen. This example configures each card to expand as required, so users can scroll through the card's content. When users reach the end of a scrollable card, a swipe in the same direction shows the next page on the grid, if one is available.</p> -<p>You can specify a custom background for each page with the <code>getBackground()</code> method. -When users swipe to navigate across pages, <code>GridViewPager</code> applies parallax -and crossfade effects between different backgrounds automatically.</p> +<p>You can specify a custom background for each page with the +<a href="{@docRoot}reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)"><code>getBackgroundForPage()</code></a> +method. When users swipe to navigate across pages, the +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +class applies parallax and crossfade effects between different backgrounds automatically.</p> <h3>Assign an adapter instance to the page grid</h3> <p>In your activity, assign an instance of your adapter implementation to the -<code>GridViewPager</code> component:</p> +<a href="{@docRoot}reference/android/support/wearable/view/GridViewPager.html"><code>GridViewPager</code></a> +component:</p> -<pre> +<pre style="clear:both"> public class MainActivity extends Activity { @Override diff --git a/docs/html/training/wearables/ui/cards.jd b/docs/html/training/wearables/ui/cards.jd index 21f7e5c81e10..9ad87ad0565b 100644 --- a/docs/html/training/wearables/ui/cards.jd +++ b/docs/html/training/wearables/ui/cards.jd @@ -21,16 +21,23 @@ page.title=Creating Cards This lesson shows you how to create cards in your Android Wear apps.</p> <p>The Wearable UI Library provides implementations of cards specifically designed for wearable -devices. This library contains the <code>CardFrame</code> class, which wraps views inside -a card-styled frame with a white background, rounded corners, and a light-drop shadow. -<code>CardFrame</code> can only contain one direct child, usually a layout manager, to which +devices. This library contains the +<a href="{@docRoot}reference/android/support/wearable/view/CardFrame.html"><code>CardFrame</code></a> +class, which wraps views inside a card-styled frame with a white background, rounded corners, and a +light-drop shadow. A +<a href="{@docRoot}reference/android/support/wearable/view/CardFrame.html"><code>CardFrame</code></a> +instance can only contain one direct child, usually a layout manager, to which you can add other views to customize the content inside the card.</p> <p>You can add cards to your app in two ways:</p> <ul> - <li>Use or extend the <code>CardFragment</code> class.</li> - <li>Add a card inside a <code>CardScrollView</code> in your layout.</li> + <li>Use or extend the + <a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> + class.</li> + <li>Add a card inside a + <a href="{@docRoot}reference/android/support/wearable/view/CardScrollView.html"><code>CardScrollView</code></a> + instance in your layout.</li> </ul> <p class="note"><strong>Note:</strong> This lesson shows you how to add cards to Android Wear @@ -41,22 +48,31 @@ Features to Notifications</a>.</p> <h2 id="card-fragment">Create a Card Fragment</h2> -<p>The <code>CardFragment</code> class provides a default card layout with a title, a -description, and an icon. Use this approach to add cards to your app if the default card layout -shown in figure 1 meets your needs.</p> +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +class provides a default card layout with a title, a description, and an icon. Use this approach to +add cards to your app if the default card layout shown in figure 1 meets your needs.</p> <img src="{@docRoot}wear/images/05_uilib.png" width="500" height="245" alt=""/> -<p class="img-caption"><strong>Figure 1.</strong> The default <code>CardFragment</code> layout.</p> +<p class="img-caption"><strong>Figure 1.</strong> The default +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +layout.</p> -<p>To add a <code>CardFragment</code> to your app:</p> +<p>To add a +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +instance to your app:</p> <ol> <li>In your layout, assign an ID to the element that contains the card</li> -<li>Create a <code>CardFragment</code> instance in your activity</li> -<li>Use the fragment manager to add the <code>CardFragment</code> instance to its container</li> +<li>Create a +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +instance in your activity</li> +<li>Use the fragment manager to add the +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +instance to its container</li> </ol> -<p>The following sample code shows the code for the screen display shown in Figure 1:</p> +<p>The following sample code shows the code for the screen display shown in figure 1:</p> <pre> <android.support.wearable.view.BoxInsetLayout @@ -76,7 +92,9 @@ android:layout_width="match_parent"> </android.support.wearable.view.BoxInsetLayout> </pre> -<p>The following code adds the <code>CardFragment</code> instance to the activity in Figure 1:</p> +<p>The following code adds the +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +instance to the activity in figure 1:</p> <pre> protected void onCreate(Bundle savedInstanceState) { @@ -93,8 +111,11 @@ protected void onCreate(Bundle savedInstanceState) { } </pre> -<p>To create a card with a custom layout using <code>CardFragment</code>, extend this class -and override its <code>onCreateContentView</code> method.</p> +<p>To create a card with a custom layout using the +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html"><code>CardFragment</code></a> +class, extend the class and override its +<a href="{@docRoot}reference/android/support/wearable/view/CardFragment.html#onCreateContentView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)"><code>onCreateContentView</code></a> +method.</p> <h2 id="card-layout">Add a CardFrame to Your Layout</h2> @@ -103,8 +124,9 @@ and override its <code>onCreateContentView</code> method.</p> approach when you want to define a custom layout for the card inside a layout definition file.</p> <img src="{@docRoot}wear/images/04_uilib.png" width="500" height="248" alt=""/> -<p class="img-caption"><strong>Figure 2.</strong> Adding a <code>CardFrame</code> to your -layout.</p> +<p class="img-caption"><strong>Figure 2.</strong> Adding a +<a href="{@docRoot}reference/android/support/wearable/view/CardFrame.html"><code>CardFrame</code></a> +to your layout.</p> <p>The following layout code sample demonstrates a vertical linear layout with two elements. You can create more complex layouts to fit the needs of your app.</p> @@ -152,7 +174,9 @@ android:layout_width="match_parent"> </android.support.wearable.view.BoxInsetLayout> </pre> -<p>The <code>CardScrollView</code> element in the example layout above lets you assign gravity to +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/CardScrollView.html><code><CardScrollView></code></a> +element in the example layout above lets you assign gravity to the card when its content is smaller than the container. This example aligns the card to the bottom of the screen:</p> @@ -168,8 +192,13 @@ protected void onCreate(Bundle savedInstanceState) { } </pre> -<p><code>CardScrollView</code> detects the shape of the screen and displays the card differently +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/CardScrollView.html"><code><CardScrollView></code></a> +element detects the shape of the screen and displays the card differently on round and square devices, using wider side margins on round screens. However, -placing the <code>CardScrollView</code> element inside a <code>BoxInsetLayout</code> and using the -<code>layout_box="bottom"</code> attribute is useful to align the card to the bottom of round -screens without cropping its content.</p> +placing the +<a href="{@docRoot}reference/android/supprot/wearable/view/CardScrollView.html"><code><CardScrollView></code></a> +element inside a +<a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code><BoxInsetLayout></code></a> +and using the <code>layout_box="bottom"</code> attribute is useful to align the card to the bottom +of round screens without cropping its content.</p> diff --git a/docs/html/training/wearables/ui/confirm.jd b/docs/html/training/wearables/ui/confirm.jd index 07a352f9239f..1f33085672f4 100644 --- a/docs/html/training/wearables/ui/confirm.jd +++ b/docs/html/training/wearables/ui/confirm.jd @@ -52,12 +52,18 @@ gets notified if the user cancels the action and when the timer expires.</p> <p>To show a confirmation timer when users complete an action in your app:</p> <ol> -<li>Add a <code>DelayedConfirmationView</code> element to your layout.</li> -<li>Implement the <code>DelayedConfirmationListener</code> interface in your activity.</li> +<li>Add a +<a href="{@docRoot}reference/android/support/wearable/view/DelayedConfirmationView.html"><code><DelayedConfirmationView></code></a> +element to your layout.</li> +<li>Implement the +<a href="{@docRoot}reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html"><code>DelayedConfirmationListener</code></a> +interface in your activity.</li> <li>Set the duration of the timer and start it when the user completes an action.</li> </ol> -<p>Add the <code>DelayedConfirmationView</code> element to your layout as follows:</p> +<p>Add the +<a href="{@docRoot}reference/android/support/wearable/view/DelayedConfirmationView.html"><code><DelayedConfirmationView></code></a> +element to your layout as follows:</p> <pre> <android.support.wearable.view.DelayedConfirmationView @@ -125,19 +131,24 @@ A confirmation animation.</p> <h2 id="show-confirmation">Show Confirmation Animations</h2> <p>To show a confirmation animation when users complete an action in your app, create an intent -that starts <code>ConfirmationActivity</code> from one of your activities. You can specify -one of the these animations with the <code>EXTRA_ANIMATION_TYPE</code> intent extra:</p> +that starts +<a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html"><code>ConfirmationActivity</code></a> +from one of your activities. You can specify +one of the these animations with the +<a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html#EXTRA_ANIMATION_TYPE"><code>EXTRA_ANIMATION_TYPE</code></a> +intent extra:</p> <ul> -<li><code>SUCCESS_ANIMATION</code></li> -<li><code>FAILURE_ANIMATION</code></li> -<li><code>OPEN_ON_PHONE_ANIMATION</code></li> +<li><a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html#SUCCESS_ANIMATION"><code>SUCCESS_ANIMATION</code></a></li> +<li><a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html#FAILURE_ANIMATION"><code>FAILURE_ANIMATION</code></a></li> +<li><a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html#OPEN_ON_PHONE_ANIMATION"><code>OPEN_ON_PHONE_ANIMATION</code></a></li> </ul> <p>You can also add a message that appears under the confirmation icon.</p> -<p>To use the <code>ConfirmationActivity</code> in your app, first declare this activity in your -manifest file:</p> +<p>To use the +<a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html"><code>ConfirmationActivity</code></a> +in your app, first declare this activity in your manifest file:</p> <pre> <manifest> @@ -161,5 +172,6 @@ intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, startActivity(intent); </pre> -<p>After showing the confirmation animation, <code>ConfirmationActivity</code> finishes and your -activity resumes.</p> +<p>After showing the confirmation animation, +<a href="{@docRoot}reference/android/support/wearable/activity/ConfirmationActivity.html"><code>ConfirmationActivity</code></a> +finishes and your activity resumes.</p> diff --git a/docs/html/training/wearables/ui/exit.jd b/docs/html/training/wearables/ui/exit.jd index 84e1e45c9bd1..9c55673f45ba 100644 --- a/docs/html/training/wearables/ui/exit.jd +++ b/docs/html/training/wearables/ui/exit.jd @@ -24,9 +24,9 @@ content and then swipe again from left to right to exit the app.</p> <p>For more immersive experiences, like an app that can scroll a map in any direction, you can disable the swipe to exit gesture in your app. However, if you disable it, you must implement the long-press-to-dismiss UI pattern to let users exit your app using the -<code>DismissOverlayView</code> class from the Wearable UI Library. -You must also inform your users the first time they run your app that they can exit using -a long press.</p> +<a href="{@docRoot}reference/android/support/wearable/view/DismissOverlayView.html"><code>DismissOverlayView</code></a> +class from the Wearable UI Library. You must also inform your users the first time they run your app +that they can exit using a long press.</p> <p>For design guidelines about exiting Android Wear activities, see <a href="{@docRoot}design/wear/structure.html#Custom">Breaking out of the card</a>.</p> @@ -51,9 +51,14 @@ exit your app, as described in the next section.</p> <h2 id="long-press">Implement the Long Press to Dismiss Pattern</h2> -<p>To use the <code>DissmissOverlayView</code> class in your activity, add this element to -your layout definition such that it covers the whole screen and is placed above all other views. -For example:</p> +<p>To use the +<a href="{@docRoot}reference/android/support/wearable/view/DismissOverlayView.html"><code>DismissOverlayView</code></a> +class in your activity, add this element to your layout definition such that it covers the whole +screen and is placed above all other views.</p> + +<p>The following example shows how to add the +<a href="{@docRoot}reference/android/support/wearable/view/DismissOverlayView.html"><code><DismissOverlayView></code></a> +element:</p> <pre> <FrameLayout @@ -70,10 +75,12 @@ For example:</p> <FrameLayout> </pre> -<p>In your activity, obtain the <code>DismissOverlayView</code> element and set some introductory -text. This text is shown to users the first time they run your app to inform them that they -can exit the app using a long press gesture. Then use a <code>GestureDetector</code> to detect -a long press:</p> +<p>In your activity, obtain the +<a href="{@docRoot}reference/android/support/wearable/view/DismissOverlayView.html"><code><DismissOverlayView></code></a> +element and set some introductory text. This text is shown to users the first time they run your app +to inform them that they can exit the app using a long press gesture. Then use a +<a href="{@docRoot}reference/android/view/GestureDetector.html"><code>GestureDetector</code></a> +to detect a long press:</p> <pre> public class WearActivity extends Activity { @@ -106,5 +113,7 @@ public class WearActivity extends Activity { } </pre> -<p>When the system detects a long press gesture, <code>DismissOverlayView</code> shows an -<strong>Exit</strong> button, which terminates your activity if the user presses it.</p>
\ No newline at end of file +<p>When the system detects a long press gesture, the +<a href="{@docRoot}reference/android/support/wearable/view/DismissOverlayView.html"><code><DismissOverlayView></code></a> +element shows an <strong>Exit</strong> button, which terminates your activity if the user presses +it.</p>
\ No newline at end of file diff --git a/docs/html/training/wearables/ui/layouts.jd b/docs/html/training/wearables/ui/layouts.jd index 0eb1395d3280..f1f18f3dfb94 100644 --- a/docs/html/training/wearables/ui/layouts.jd +++ b/docs/html/training/wearables/ui/layouts.jd @@ -94,14 +94,18 @@ API reference documentation</a> for the Wearable UI Library classes.</p> <h2 id="different-layouts">Specify Different Layouts for Square and Round Screens</h2> -<p>The <code>WatchViewStub</code> class included in the Wearable UI Library lets you specify -different layout definitions for square and round screens. This class detects the screen shape -at runtime and inflates the corresponding layout.</p> +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/WatchViewStub.html"><code>WatchViewStub</code></a> +class included in the Wearable UI Library lets you specify different layout definitions for square +and round screens. This class detects the screen shape at runtime and inflates the corresponding +layout.</p> <p>To use this class for handling different screen shapes in your app:</p> <ol> -<li>Add <code>WatchViewStub</code> as the main element of your activity's layout.</li> +<li>Add +<a href="{@docRoot}reference/android/support/wearable/view/WatchViewStub.html"><code>WatchViewStub</code></a> +as the main element of your activity's layout.</li> <li>Specify a layout definition file for square screens with the <code>rectLayout</code> attribute.</li> <li>Specify a layout definition file for round screens with the <code>roundLayout</code> @@ -142,7 +146,8 @@ The system inflates the correct layout at runtime depending on the screen shape. <h3>Accessing layout views</h3> <p>The layouts that you specify for square or round screens are not inflated until -<code>WatchViewStub</code> detects the shape of the screen, so your app cannot access their views +<a href="{@docRoot}reference/android/support/wearable/view/WatchViewStub.html"><code>WatchViewStub</code></a> +detects the shape of the screen, so your app cannot access their views immediately. To access these views, set a listener in your activity to be notified when the shape-specific layout has been inflated:</p> @@ -171,14 +176,18 @@ protected void onCreate(Bundle savedInstanceState) { <p class="img-caption"><strong>Figure 2.</strong> Window insets on a round screen.</p> </div> -<p>The <code>BoxInsetLayout</code> class included in the Wearable UI Library extends +<p>The +<a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code>BoxInsetLayout</code></a> +class included in the Wearable UI Library extends {@link android.widget.FrameLayout} and lets you define a single layout that works for both square and round screens. This class applies the required window insets depending on the screen shape and lets you easily align views on the center or near the edges of the screen.</p> -<p>The gray square in figure 2 shows the area where <code>BoxInsetLayout</code> can automatically -place its child views on round screens after applying the required window insets. To be displayed -inside this area, children views specify the <code>layout_box</code> atribute with these values: +<p>The gray square in figure 2 shows the area where +<a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code>BoxInsetLayout</code></a> +can automatically place its child views on round screens after applying the required window insets. +To be displayed inside this area, children views specify the <code>layout_box</code> atribute with +these values: </p> <ul> @@ -196,8 +205,9 @@ ignored.</p> <p class="img-caption"><strong>Figure 3.</strong> A layout definition that works on both square and round screens.</p> -<p>The layout shown in figure 3 uses <code>BoxInsetLayout</code> and works on square and -round screens:</p> +<p>The layout shown in figure 3 uses the +<a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code><BoxInsetLayout></code></a> +element and works on square and round screens:</p> <pre> <<strong>android.support.wearable.view.BoxInsetLayout</strong> @@ -243,19 +253,21 @@ round screens:</p> <ul> <li> <p><code>android:padding="15dp"</code></p> - <p>This line assigns padding to the <code>BoxInsetLayout</code> element. Because the window - insets on round devices are larger than 15dp, this padding only applies to square screens.</p> + <p>This line assigns padding to the + <a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code><BoxInsetLayout></code></a> + element. Because the window insets on round devices are larger than 15dp, this padding only + applies to square screens.</p> </li> <li> <p><code>android:padding="5dp"</code></p> - <p>This line assigns padding to the inner <code>FrameLayout</code> element. This padding applies - to both square and round screens. The total padding between the buttons and the window insets - is 20 dp on square screens (15+5) and 5 dp on round screens.</p> + <p>This line assigns padding to the inner {@link android.widget.FrameLayout} element. This padding + applies to both square and round screens. The total padding between the buttons and the window + insets is 20 dp on square screens (15+5) and 5 dp on round screens.</p> </li> <li> <p><code>app:layout_box="all"</code></p> - <p>This line ensures that the <code>FrameLayout</code> element and its children are boxed inside - the area defined by the window insets on round screens. This line has no effect on square - screens.</p> + <p>This line ensures that the {@link android.widget.FrameLayout} element and its children are + boxed inside the area defined by the window insets on round screens. This line has no effect on + square screens.</p> </li> </ul>
\ No newline at end of file diff --git a/docs/html/training/wearables/ui/lists.jd b/docs/html/training/wearables/ui/lists.jd index 20f8bbd59da5..0972a77f1771 100644 --- a/docs/html/training/wearables/ui/lists.jd +++ b/docs/html/training/wearables/ui/lists.jd @@ -12,6 +12,11 @@ page.title=Creating Lists <li><a href="#adapter">Create an Adapter to Populate the List</a></li> <li><a href="#adapter-listener">Associate the Adapter and Set a Click Listener</a></li> </ol> +<h2>Related Samples</h2> +<ul> + <li><a href="{@docRoot}samples/Notifications/index.html"> + Notifications</a></li> +</ul> <h2>You should also read</h2> <ul> <li><a href="{@docRoot}design/wear/index.html">Android Wear Design Principles</a></li> @@ -23,35 +28,36 @@ page.title=Creating Lists <p>Lists let users select an item from a set of choices easily on wearable devices. This lesson shows you how to create lists in your Android Wear apps.</p> -<p>The Wearable UI Library includes the <code>WearableListView</code> class, which is a list -implementation optimized for wearable devices..</p> - -<p class="note"><strong>Note:</strong> The <em>Notifications</em> sample in the Android SDK -demonstrates how to use <code>WearableListView</code> in your apps. This sample is located in -the <code>android-sdk/samples/android-20/wearable/Notifications</code> directory.</p> +<p>The Wearable UI Library includes the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView</code></a> +class, which is a list implementation optimized for wearable devices.</p> <p>To create a list in your Android Wear apps:</p> <ol> -<li>Add a <code>WearableListView</code> element to your activity's layout definition.</li> +<li>Add a +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView</code></a> +element to your activity's layout definition.</li> <li>Create a custom layout implementation for your list items.</li> <li>Use this implementation to create a layout definition file for your list items.</li> -<div style="float:right;margin-left:25px;width:220px;margin-top:-25px"> -<img src="{@docRoot}wear/images/06_uilib.png" width="200" height="200" alt=""/> -<p class="img-caption" style="text-align:center;margin-left:-10px"><strong>Figure 3:</strong> -A list view on Android Wear.</p> -</div> <li>Create an adapter to populate the list.</li> -<li>Assign the adapter to the <code>WearableListView</code> element.</li> +<li>Assign the adapter to the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView</code></a> +element.</li> </ol> +<img src="{@docRoot}wear/images/06_uilib.png" width="200" height="200" alt=""/> +<p class="img-caption"><strong>Figure 1.</strong> +A list view on Android Wear.</p> + <p>These steps are described in detail in the following sections.</p> <h2 id="add-list">Add a List View</h2> -<p>The following layout adds a list view to an activity using a <code>BoxInsetLayout</code>, so -the list is displayed properly on both round and square devices:</p> +<p>The following layout adds a list view to an activity using a +<a href="{@docRoot}reference/android/support/wearable/view/BoxInsetLayout.html"><code><BoxInsetLayout></code></a> +element, so the list is displayed properly on both round and square devices:</p> <pre> <android.support.wearable.view.BoxInsetLayout @@ -80,12 +86,14 @@ the list is displayed properly on both round and square devices:</p> <h2 id="layout-impl">Create a Layout Implementation for List Items</h2> <p>In many cases, each list item consists of an icon and a description. The -<em>Notifications</em> sample from the Android SDK implements a custom layout that extends +<a href="{@docRoot}samples/Notifications/index.html">Notifications</a> sample implements a custom +layout that extends {@link android.widget.LinearLayout} to incorporate these two elements inside each list item. This layout also implements the methods in the -<code>WearableListView.OnCenterProximityListener</code> interface -to change the color of the item's icon and fade the text in response to events from -<code>WearableListView</code> as the user scrolls through the list.</p> +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html"<code>WearableListView.OnCenterProximityListener</code></a> +interface to change the color of the item's icon and fade the text in response to events from the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView</code></a> +element as the user scrolls through the list.</p> <pre> public class WearableListItemLayout extends LinearLayout @@ -141,9 +149,13 @@ public class WearableListItemLayout extends LinearLayout </pre> <p>You can also create animator objects to enlarge the icon of the center item in the list. You can -use the <code>onCenterPosition()</code> and <code>onNonCenterPosition()</code> callback methods -in the <code>WearableListView.OnCenterProximityListener</code> interface to manage your -animators. For more information about animators, see +use the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html#onCenterPosition(boolean)"><code>onCenterPosition()</code></a> +and +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html#onNonCenterPosition(boolean)"><code>onNonCenterPosition()</code></a> +callback methods in the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView.OnCenterProximityListener</code></a> +interface to manage your animators. For more information about animators, see <a href="{@docRoot}guide/topics/graphics/prop-animation.html#object-animator">Animating with ObjectAnimator</a>.</p> @@ -185,7 +197,9 @@ and a text view whose IDs match those in the layout implementation class:</p> <h2 id="adapter">Create an Adapter to Populate the List</h2> -<p>The adapter populates the <code>WearableListView</code> with content. The following simple +<p>The adapter populates the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView.OnCenterProximityListener</code></a> +element with content. The following simple adapter populates the list with elements based on an array of strings:</p> <pre> @@ -247,9 +261,10 @@ private static final class Adapter extends WearableListView.Adapter { <h2 id="adapter-listener">Associate the Adapter and Set a Click Listener</h2> -<p>In your activity, obtain a reference to the <code>WearableListView</code> element from -your layout, assign an instance of the adapter to populate the list, and set a click listener -to complete an action when the user selects a particular list item.</p> +<p>In your activity, obtain a reference to the +<a href="{@docRoot}reference/android/support/wearable/view/WearableListView.html"><code>WearableListView.OnCenterProximityListener</code></a> +element from your layout, assign an instance of the adapter to populate the list, and set a click +listener to complete an action when the user selects a particular list item.</p> <pre> public class WearActivity extends Activity diff --git a/docs/html/training/wearables/watch-faces/configuration.jd b/docs/html/training/wearables/watch-faces/configuration.jd index 5a4585d5e597..4bd6943627f4 100644 --- a/docs/html/training/wearables/watch-faces/configuration.jd +++ b/docs/html/training/wearables/watch-faces/configuration.jd @@ -10,6 +10,11 @@ page.title=Providing Configuration Activities <li><a href="#WearableActivity">Create a Wearable Configuration Activity</a></li> <li><a href="#CompanionActivity">Create a Companion Configuration Activity</a></li> </ol> +<h2>Related Samples</h2> +<ul> +<li><a href="{@docRoot}samples/WatchFace/index.html"> +WatchFace</a></li> +</ul> <h2>You should also read</h2> <ul> <li><a href="{@docRoot}design/wear/watchfaces.html">Watch Faces for Android Wear</a></li> @@ -34,10 +39,10 @@ an activity in the wearable app, an activity on the handheld app, or both. Users wearable configuration activity on the wearable device, and they can start the companion configuration activity from the Android Wear companion app.</p> -<p>The digital watch face from the <em>WatchFace</em> sample in the Android SDK demonstrates how to +<p>The digital watch face from the +<a href="{@docRoot}samples/WatchFace/index.html">WatchFace</a> sample demonstrates how to implement handheld and wearable configuration activities and how to update a watch face in -response to configuration changes. This sample is located in the -<code>android-sdk/samples/android-21/wearable/WatchFace</code> directory.</p> +response to configuration changes.</p> @@ -107,7 +112,8 @@ href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer AP communicate the configuration change to the watch face activity.</p> <p>For more details, see the <code>DigitalWatchFaceWearableConfigActivity</code> and -<code>DigitalWatchFaceUtil</code> classes in the <em>WatchFace</em> sample.</p> +<code>DigitalWatchFaceUtil</code> classes in the +<a href="{@docRoot}samples/WatchFace/index.html">WatchFace</a> sample.</p> @@ -141,17 +147,20 @@ href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer AP communicate the configuration change to the watch face activity.</p> <p>For more details, see the <code>DigitalWatchFaceCompanionConfigActivity</code> class in the -<em>WatchFace</em> sample.</p> +<a href="{@docRoot}samples/WatchFace/index.html">WatchFace</a> sample.</p> <h2 id="Listener">Create a Listener Service in the Wearable App</h2> <p>To receive updated configuration parameters from the configuration activities, create a -service that implements the <code>WearableListenerService</code> interface from the <a -href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer API</a> in your +service that implements the +<a href="//developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService"><code>WearableListenerService</code></a> +interface from the +<a href="{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer API</a> in your wearable app. Your watch face implementation can redraw the watch face when the configuration parameters change.</p> <p>For more details, see the <code>DigitalWatchFaceConfigListenerService</code> and -<code>DigitalWatchFaceService</code> classes in the <em>WatchFace</em> sample.</p> +<code>DigitalWatchFaceService</code> classes in the +<a href="{@docRoot}samples/WatchFace/index.html">WatchFace</a> sample.</p> diff --git a/docs/html/training/wearables/watch-faces/information.jd b/docs/html/training/wearables/watch-faces/information.jd index 41319a10f9d7..ed0cc22dde65 100644 --- a/docs/html/training/wearables/watch-faces/information.jd +++ b/docs/html/training/wearables/watch-faces/information.jd @@ -9,6 +9,11 @@ page.title=Showing Information in Watch Faces <li><a href="#Experience">Create a Compelling Experience</a></li> <li><a href="#AddData">Add Data to Your Watch Face</a></li> </ol> +<h2>Related Samples</h2> +<ul> +<li><a href="{@docRoot}samples/WatchFace/index.html"> +WatchFace</a></li> +</ul> <h2>You should also read</h2> <ul> <li><a href="{@docRoot}design/wear/watchfaces.html">Watch Faces for Android Wear</a></li> @@ -77,10 +82,11 @@ weather.</p> <p class="img-caption"><strong>Figure 2.</strong> The calendar watch face.</p> </div> -<p>The <em>WatchFace</em> sample in the Android SDK demonstrates how to obtain calendar data -from the user’s profile in the <code>CalendarWatchFaceService</code> class and shows how many -meetings there are in the following twenty-four hours. This sample is located in the -<code>android-sdk/samples/android-21/wearable/WatchFace</code> directory.</p> +<p>The +<a href="{@docRoot}samples/WatchFace/index.html">WatchFace</a> +sample demonstrates how to obtain calendar data from the user’s profile in the +<code>CalendarWatchFaceService</code> class and shows how many +meetings there are in the following twenty-four hours.</p> <p>To implement a watch face that incorporates contextual data, follow these steps:</p> @@ -95,9 +101,10 @@ meetings there are in the following twenty-four hours. This sample is located in <h3 id="Task">Provide a task to retrieve data</h3> -<p>Create a class inside your <code>CanvasWatchFaceService.Engine</code> implementation that -extends {@link android.os.AsyncTask} and add the code to retrieve the data you’re interested -in.</p> +<p>Create a class inside your +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html"><code>CanvasWatchFaceService.Engine</code></a> +implementation that extends {@link android.os.AsyncTask} and add the code to retrieve the data +you’re interested in.</p> <p>The <code>CalendarWatchFaceService</code> class obtains the number of meetings in the next day as follows:</p> @@ -130,8 +137,10 @@ private class LoadMeetingsTask extends AsyncTask<Void, Void, Integer> { } </pre> -<p>The <code>WearableCalendarContract</code> class from the Wearable Support Library provides -direct access to the user's calendar events from the companion device.</p> +<p>The +<a href="{@docRoot}reference/android/support/wearable/provider/WearableCalendarContract.html"><code>WearableCalendarContract</code></a> +class from the Wearable Support Library provides direct access to the user's calendar events from +the companion device.</p> <p>When the task finishes retrieving data, your code invokes a callback method. The following sections describe how to implement the callback method in detail.</p> @@ -189,9 +198,12 @@ section.</p> <h3 id="Redraw">Redraw your watch face with the updated data</h3> -<p>When the task that retrieves your data finishes, call the <code>invalidate()</code> method -so the system redraws your watch face. Store your data inside member variables of the -<code>Engine</code> class so you can access it inside the <code>onDraw()</code> method.</p> +<p>When the task that retrieves your data finishes, call the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#invalidate()"><code>invalidate()</code></a> +method so the system redraws your watch face. Store your data inside member variables of the +<code>Engine</code> class so you can access it inside the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>onDraw()</code></a> +method.</p> <p>The <code>CalendarWatchFaceService</code> class provides a callback method for the task to invoke when it finishes retrieving calendar data:</p> diff --git a/docs/html/training/wearables/watch-faces/issues.jd b/docs/html/training/wearables/watch-faces/issues.jd index 47c5e8c31f69..2b6172442f97 100644 --- a/docs/html/training/wearables/watch-faces/issues.jd +++ b/docs/html/training/wearables/watch-faces/issues.jd @@ -31,8 +31,11 @@ should adapt to and take advantage of the particular shape of the screen, as des <a href="{@docRoot}design/wear/watchfaces.html">design guidelines</a>.</p> <p>Android Wear lets your watch face determine the screen shape at runtime. To detect whether -the screen is square or round, override the <code>onApplyWindowInsets()</code> method in the -<code>CanvasWatchFaceService.Engine</code> class as follows:</p> +the screen is square or round, override the +<a href="{@docRoot}reference/android/service/wallpaper/WallpaperService.Engine.html#onApplyWindowInsets(android.view.WindowInsets)"><code>onApplyWindowInsets()</code></a> +method in the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html"><code>CanvasWatchFaceService.Engine</code></a> +class as follows:</p> <pre> private class Engine extends CanvasWatchFaceService.Engine { @@ -75,7 +78,9 @@ the notification card is present.</p> down the watch face to fit inside the portion of the screen not covered by the peek card. Digital watch faces that display the time in the area of the screen not covered by peek cards do not usually require adjustments. To determine the free space above the peek card so you can adapt -your watch face, use the <code>WatchFaceService.getPeekCardPosition()</code> method.</p> +your watch face, use the +<a href="{@docRoot}reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getPeekCardPosition()"><code>WatchFaceService.Engine.getPeekCardPosition()</code></a> +method.</p> <p>In ambient mode, peek cards have a transparent background. If your watch face contains details near the card in ambient mode, consider drawing a black rectangle over them to ensure that users @@ -93,16 +98,21 @@ can read the contents of the card.</p> </div> <p>To ensure that the system indicators remain visible, you can configure their position on the -screen and whether they need background protection when you create a <code>WatchFaceStyle</code> +screen and whether they need background protection when you create a +<a href="{@docRoot}reference/android/support/wearable/watchface/WatchFaceStyle.html"><code>WatchFaceStyle</code></a> instance:</p> <ul> -<li>To set the position of the status bar, use the <code>setStatusBarGravity()</code> method.</li> -<li>To set the position of the hotword, use the <code>setHotwordIndicatorGravity()</code> +<li>To set the position of the status bar, use the +<a href="{@docRoot}reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setStatusBarGravity(int)"><code>setStatusBarGravity()</code></a> +method.</li> +<li>To set the position of the hotword, use the +<a href="{@docRoot}reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setHotwordIndicatorGravity(int)"><code>setHotwordIndicatorGravity()</code></a> method.</li> <li>To protect the status bar and hotword with a semi-transparent gray background, use the -<code>setViewProtection()</code> method. This is usually necessary if your watch face has a -light background, since the system indicators are white.</li> +<a href="{@docRoot}reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setViewProtection(int)"><code>setViewProtection()</code></a> +method. This is usually necessary if your watch face has a light background, since the system +indicators are white.</li> </ul> <p>For more information about the system indicators, see <a diff --git a/docs/html/training/wearables/watch-faces/performance.jd b/docs/html/training/wearables/watch-faces/performance.jd index 118bc6a090eb..c2c411c9e905 100644 --- a/docs/html/training/wearables/watch-faces/performance.jd +++ b/docs/html/training/wearables/watch-faces/performance.jd @@ -34,13 +34,15 @@ power on the device.</p> <p>Many watch faces consist of a background image and other graphic assets that are transformed and overlapped on top of the background image, such as clock hands and other elements of the design that move over time. Typically these graphic elements are rotated (and sometimes scaled) inside the -<code>Engine.onDraw()</code> method every time the system redraws the watch face, as described in +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>Engine.onDraw()</code></a> +method every time the system redraws the watch face, as described in <a href="{@docRoot}training/wearables/watch-faces/drawing.html#Drawing">Draw Your Watch Face</a>.</p> <p>The larger these graphic assets are, the more computationally expensive it is to transform them. -Transforming large graphic assets in the <code>Engine.onDraw()</code> method drastically reduces -the frame rate at which the system can run your animations.</p> +Transforming large graphic assets in the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>Engine.onDraw()</code></a> +method drastically reduces the frame rate at which the system can run your animations.</p> <div id="fig1" style="float:right;width:250px;margin-left:25px"> <img src="{@docRoot}training/wearables/watch-faces/images/ClockHandFull.png" alt="" @@ -105,11 +107,14 @@ active, disable bitmap filtering.</p> <h2 id="OutDrawing">Move Expensive Operations Outside the Drawing Method</h2> -<p>The system calls the <code>Engine.onDraw()</code> method every time it redraws your watch -face, so you should only include operations that are strictly required to update the watch -face inside this method to improve performance.<p> +<p>The system calls the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>Engine.onDraw()</code></a> +method every time it redraws your watch face, so you should only include operations that are +strictly required to update the watch face inside this method to improve performance.<p> -<p>When possible, avoid performing these operations inside the <code>onDraw()</code> method:</p> +<p>When possible, avoid performing these operations inside the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>Engine.onDraw()</code></a> +method:</p> <ul> <li>Loading images and other resources.</li> @@ -118,13 +123,17 @@ face inside this method to improve performance.<p> <li>Performing computations whose result does not change between frames.</li> </ul> -<p>You can usually perform these operations in the <code>Engine.onCreate()</code> method instead. +<p>You can usually perform these operations in the +<a href="{@docRoot}reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onCreate(android.view.SurfaceHolder)"><code>Engine.onCreate()</code></a> +method instead. You can resize images ahead of time in the {@link android.service.wallpaper.WallpaperService.Engine#onSurfaceChanged(android.view.SurfaceHolder, int, int, int) Engine.onSurfaceChanged()} method, which provides you with the size of the canvas.</p> <p>To analyze the performance of your watch face, use the Android Device Monitor. In particular, -ensure that the execution time for your <code>Engine.onDraw()</code> implementation is short and +ensure that the execution time for your +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>Engine.onDraw()</code></a> +implementation is short and consistent across invocations. For more information, see <a href="{@docRoot}tools/debugging/ddms.html">Using DDMS</a>.</p> diff --git a/docs/html/training/wearables/watch-faces/service.jd b/docs/html/training/wearables/watch-faces/service.jd index 35366c5f83eb..578e8c01474a 100644 --- a/docs/html/training/wearables/watch-faces/service.jd +++ b/docs/html/training/wearables/watch-faces/service.jd @@ -10,6 +10,11 @@ page.title=Building a Watch Face Service <li><a href="#CallbackMethods">Implement the Service Callback Methods</a></li> <li><a href="#RegisterService">Register the Service Implementation</a></li> </ol> +<h2>Related Samples</h2> +<ul> +<li><a href="{@docRoot}samples/WatchFace/index.html"> +WatchFace</a></li> +</ul> <h2>You should also read</h2> <ul> <li><a href="{@docRoot}design/wear/watchfaces.html">Watch Faces for Android Wear</a></li> @@ -64,7 +69,9 @@ Project</a>.</p> <h3 id="Dependencies">Dependencies</h3> -<p>The Wearable Support Library provides the necessary classes that you extend to create watch +<p>The +<a href="{@docRoot}reference/android/support/wearable/watchface/package-summary.html">Wearable Support Library</a> +provides the necessary classes that you extend to create watch face implementations. The Google Play services client libraries (<code>play-services</code> and <code>play-services-wearable</code>) are required to sync data items between the companion device and the wearable with the <a href="{@docRoot}training/wearables/data-layer/index.html">Wearable @@ -116,10 +123,15 @@ or when an important event occurs (like switching to ambient mode or receiving a notification). The service implementation then draws the watch face on the screen using the updated time and any other relevant data.</p> -<p>To implement a watch face, you extend the <code>CanvasWatchFaceService</code> -and <code>CanvasWatchFaceService.Engine</code> classes, and then you override the callback methods -in the <code>CanvasWatchFaceService.Engine</code> class. These classes are included in the -Wearable Support Library.</p> +<p>To implement a watch face, you extend the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.html"><code>CanvasWatchFaceService</code></a> +and +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html"><code>CanvasWatchFaceService.Engine</code></a> +classes, and then you override the callback methods in the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html"><code>CanvasWatchFaceService.Engine</code></a> +class. These classes are included in the +<a href="{@docRoot}reference/android/support/wearable/watchface/package-summary.html">Wearable Support Library</a>. +</p> <p>The following snippet outlines the key methods you need to implement:</p> @@ -173,20 +185,21 @@ public class AnalogWatchFaceService extends CanvasWatchFaceService { } </pre> -<p class="note"><strong>Note:</strong> The <em>WatchFace</em> sample in the Android SDK -demonstrates how to implement analog and digital watch faces extending the -<code>CanvasWatchFaceService</code> class. This sample is located in the -<code>android-sdk/samples/android-21/wearable/WatchFace</code> directory.</p> - -<p>The <code>CanvasWatchFaceService</code> class provides an invalidate mechanism similar to +<p>The +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.html"><code>CanvasWatchFaceService</code></a> +class provides an invalidate mechanism similar to the {@link android.view.View#invalidate View.invalidate()} method. You can call the -<code>invalidate()</code> method throughout your implementation when you want the system to -redraw the watch face. You can only use the <code>invalidate()</code> method in the main UI -thread. To invalidate the canvas from another thread, call the <code>postInvalidate()</code> +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#invalidate()"><code>invalidate()</code></a> +method throughout your implementation when +you want the system to redraw the watch face. You can only use the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#invalidate()"><code>invalidate()</code></a> +method in the main UI thread. To invalidate the canvas from another thread, call the +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#postInvalidate()"><code>postInvalidate()</code></a> method.</p> <p>For more information about implementing the methods in the -<code>CanvasWatchFaceService.Engine</code> class, see <a +<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html"><code>CanvasWatchFaceService.Engine</code></a> +class, see <a href="{@docRoot}training/wearables/watch-faces/drawing.html">Drawing Watch Faces</a>.</p> |