reis-mobile 0.3.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +39 -0
  4. package/README.md +135 -297
  5. package/THIRD_PARTY_NOTICES.md +221 -4
  6. package/agents/android-architect.md +89 -0
  7. package/agents/android-performance-engineer.md +92 -0
  8. package/agents/android-test-engineer.md +97 -0
  9. package/agents/flutter-test-engineer.md +2 -0
  10. package/agents/ios-architect.md +93 -0
  11. package/agents/ios-performance-engineer.md +92 -0
  12. package/agents/ios-test-engineer.md +95 -0
  13. package/agents/lead-mobile.md +10 -1
  14. package/agents/mobile-code-reviewer.md +2 -0
  15. package/agents/mobile-staff-engineer.md +1 -1
  16. package/agents/rn-architect.md +94 -0
  17. package/agents/rn-performance-engineer.md +92 -0
  18. package/agents/rn-test-engineer.md +98 -0
  19. package/bin/reis-mobile.mjs +59 -17
  20. package/commands/debate.md +10 -1
  21. package/commands/debug.md +60 -0
  22. package/commands/reis-mobile.md +7 -2
  23. package/core/config/project.mjs +59 -0
  24. package/core/registry/frontmatter.mjs +15 -4
  25. package/core/registry/registry.mjs +28 -1
  26. package/core/router/intents.mjs +2 -0
  27. package/core/router/router.mjs +10 -5
  28. package/package.json +24 -3
  29. package/skills/mobile-android/SKILL.md +29 -0
  30. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/GUIDE.md +87 -0
  31. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/references/android/build/migrate-to-built-in-kotlin.md +416 -0
  32. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/references/android/build/releases/agp-9-0-0-release-notes.md +554 -0
  33. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/references/buildconfig.md +54 -0
  34. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/references/ksp-kapt.md +39 -0
  35. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/references/paparazzi-gradle-9.md +30 -0
  36. package/skills/mobile-android/references/build-and-performance/agp-9-upgrade/references/recipes.md +62 -0
  37. package/skills/mobile-android/references/build-and-performance/android-cli/GUIDE.md +450 -0
  38. package/skills/mobile-android/references/build-and-performance/android-cli/references/interact.md +113 -0
  39. package/skills/mobile-android/references/build-and-performance/android-cli/references/journeys.md +120 -0
  40. package/skills/mobile-android/references/build-and-performance/android-profiler/GUIDE.md +34 -0
  41. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/analysis_orchestrator.md +32 -0
  42. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-sql/perfetto_sql.md +28 -0
  43. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/perfetto_trace_analysis.md +121 -0
  44. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/guiding_principles.md +51 -0
  45. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/domain_hints_template.md +7 -0
  46. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_cpu.md +56 -0
  47. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_graphics.md +51 -0
  48. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_io.md +46 -0
  49. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_ipc.md +41 -0
  50. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_memory.md +55 -0
  51. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_power.md +33 -0
  52. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/per_candidate_analysis.md +172 -0
  53. package/skills/mobile-android/references/build-and-performance/android-profiler/analysis/workflows/perfetto-trace-analysis/references/triage.md +94 -0
  54. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/recording_orchestrator.md +36 -0
  55. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/perfetto_trace_recording.md +148 -0
  56. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/app_jank.pftxt +43 -0
  57. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/cpu_profile.pftxt +35 -0
  58. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/java_heap_dump.pftxt +21 -0
  59. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/long_background.pftxt +37 -0
  60. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/memory_counters.pftxt +45 -0
  61. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/native_heap.pftxt +21 -0
  62. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/sched_cpu.pftxt +33 -0
  63. package/skills/mobile-android/references/build-and-performance/android-profiler/recording/workflows/perfetto-trace-recording/references/trace_config_reference.md +102 -0
  64. package/skills/mobile-android/references/build-and-performance/android-profiler/references/env_setup.md +15 -0
  65. package/skills/mobile-android/references/build-and-performance/android-profiler/references/perfetto/setup.md +29 -0
  66. package/skills/mobile-android/references/build-and-performance/android-profiler/references/perfetto/sql.md +327 -0
  67. package/skills/mobile-android/references/build-and-performance/r8-analyzer/GUIDE.md +53 -0
  68. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/CONFIGURATION-ANALYZER.md +287 -0
  69. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/CONFIGURATION.md +44 -0
  70. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/KEEP-RULES-IMPACT-HIERARCHY.md +83 -0
  71. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/REDUNDANT-RULES.md +222 -0
  72. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/REFLECTION-GUIDE.md +139 -0
  73. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/REPORT_FORMAT.md +51 -0
  74. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/android/topic/performance/app-optimization/enable-app-optimization.md +252 -0
  75. package/skills/mobile-android/references/build-and-performance/r8-analyzer/references/android/training/testing/other-components/ui-automator.md +312 -0
  76. package/skills/mobile-android/references/build-and-performance.md +12 -0
  77. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/GUIDE.md +317 -0
  78. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/design/ui/ai-glasses/guides/interaction/inputs.md +67 -0
  79. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/access-hardware-projected-context.md +388 -0
  80. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/buttons.md +139 -0
  81. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/cards.md +148 -0
  82. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/focus.md +107 -0
  83. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/icons.md +90 -0
  84. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/text.md +69 -0
  85. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/title-chips.md +82 -0
  86. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/request-hardware-permissions.md +213 -0
  87. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/button-samples-source.md +176 -0
  88. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/button-source.md +203 -0
  89. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/card-samples-source.md +296 -0
  90. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/card-source.md +515 -0
  91. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/deptheffect-source.md +224 -0
  92. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/deptheffectlevels-source.md +105 -0
  93. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/glimmersansflextypography-source.md +270 -0
  94. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/glimmertheme-source.md +182 -0
  95. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/icon-source.md +388 -0
  96. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/iconbutton-source.md +126 -0
  97. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/iconsizes-source.md +78 -0
  98. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/list-source.md +27 -0
  99. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/listitem-source.md +272 -0
  100. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/liststate-source.md +427 -0
  101. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/material-hct-source.md +217 -0
  102. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/projectedcontext-source.md +265 -0
  103. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/stack-source.md +368 -0
  104. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/stackitemscope-source.md +440 -0
  105. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/stackstate-source.md +325 -0
  106. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/surface-source.md +1211 -0
  107. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/titlechip-samples-source.md +101 -0
  108. package/skills/mobile-android/references/devices/display-glasses-with-jetpack-compose-glimmer/references/titlechip-source.md +131 -0
  109. package/skills/mobile-android/references/devices/leanback-to-compose-tv-migration/GUIDE.md +707 -0
  110. package/skills/mobile-android/references/devices/leanback-to-compose-tv-migration/references/android/training/tv/get-started/navigation.md +372 -0
  111. package/skills/mobile-android/references/devices/leanback-to-compose-tv-migration/references/android/training/tv/playback/compose/browse.md +243 -0
  112. package/skills/mobile-android/references/devices/leanback-to-compose-tv-migration/references/android/training/tv/playback/compose/index.md +153 -0
  113. package/skills/mobile-android/references/devices/wear-compose-m3/GUIDE.md +341 -0
  114. package/skills/mobile-android/references/devices/wear-compose-m3/references/android/training/wearables/compose/migrate-to-material3.md +677 -0
  115. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/AmbientModeSample.kt.md +123 -0
  116. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/AmbientModeSample.kt.md.txt +123 -0
  117. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/CurvedWorldSample.kt.md +430 -0
  118. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/CurvedWorldSample.kt.md.txt +430 -0
  119. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/ExpandableSample.kt.md +99 -0
  120. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/ExpandableSample.kt.md.txt +99 -0
  121. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/HierarchicalFocusSample.kt.md +141 -0
  122. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/HierarchicalFocusSample.kt.md.txt +141 -0
  123. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/PagerSamples.kt.md +56 -0
  124. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/PagerSamples.kt.md.txt +56 -0
  125. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/RotarySamples.kt.md +153 -0
  126. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/RotarySamples.kt.md.txt +153 -0
  127. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/ScalingLazyColumnSample.kt.md +131 -0
  128. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/ScalingLazyColumnSample.kt.md.txt +131 -0
  129. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/SwipeToDismissBoxSample.kt.md +169 -0
  130. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/SwipeToDismissBoxSample.kt.md.txt +169 -0
  131. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/SwipeToRevealSample.kt.md +282 -0
  132. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/SwipeToRevealSample.kt.md.txt +282 -0
  133. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/TransformingLazyColumnSample.kt.md +335 -0
  134. package/skills/mobile-android/references/devices/wear-compose-m3/references/foundation/TransformingLazyColumnSample.kt.md.txt +335 -0
  135. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/AlertDialogSample.kt.md +377 -0
  136. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/AlertDialogSample.kt.md.txt +377 -0
  137. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/AnimatedTextSample.kt.md +165 -0
  138. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/AnimatedTextSample.kt.md.txt +165 -0
  139. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ButtonGroupSample.kt.md +91 -0
  140. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ButtonGroupSample.kt.md.txt +91 -0
  141. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ButtonSample.kt.md +496 -0
  142. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ButtonSample.kt.md.txt +496 -0
  143. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/CardSample.kt.md +470 -0
  144. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/CardSample.kt.md.txt +470 -0
  145. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/CheckboxButtonSample.kt.md +67 -0
  146. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/CheckboxButtonSample.kt.md.txt +67 -0
  147. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ConfirmationDialogSample.kt.md +162 -0
  148. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ConfirmationDialogSample.kt.md.txt +162 -0
  149. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/CurvedTextSamples.kt.md +78 -0
  150. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/CurvedTextSamples.kt.md.txt +78 -0
  151. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/DatePickerSample.kt.md +131 -0
  152. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/DatePickerSample.kt.md.txt +131 -0
  153. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/DynamicColorSchemeSample.kt.md +74 -0
  154. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/DynamicColorSchemeSample.kt.md.txt +74 -0
  155. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/EdgeButtonSample.kt.md +63 -0
  156. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/EdgeButtonSample.kt.md.txt +63 -0
  157. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/FadingExpandingLabelSample.kt.md +60 -0
  158. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/FadingExpandingLabelSample.kt.md.txt +60 -0
  159. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/IconButtonSample.kt.md +125 -0
  160. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/IconButtonSample.kt.md.txt +125 -0
  161. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/IconToggleButtonSample.kt.md +116 -0
  162. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/IconToggleButtonSample.kt.md.txt +116 -0
  163. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/LevelIndicatorSample.kt.md +68 -0
  164. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/LevelIndicatorSample.kt.md.txt +68 -0
  165. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/LinearProgressIndicatorSample.kt.md +50 -0
  166. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/LinearProgressIndicatorSample.kt.md.txt +50 -0
  167. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ListHeaderSample.kt.md +177 -0
  168. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ListHeaderSample.kt.md.txt +177 -0
  169. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/OneHandedGestureSamples.kt.md +651 -0
  170. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/OneHandedGestureSamples.kt.md.txt +651 -0
  171. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/OpenOnPhoneDialogSample.kt.md +57 -0
  172. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/OpenOnPhoneDialogSample.kt.md.txt +57 -0
  173. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PageIndicatorSample.kt.md +110 -0
  174. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PageIndicatorSample.kt.md.txt +110 -0
  175. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PagerScaffoldSample.kt.md +204 -0
  176. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PagerScaffoldSample.kt.md.txt +204 -0
  177. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PickerGroupSample.kt.md +139 -0
  178. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PickerGroupSample.kt.md.txt +139 -0
  179. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PickerSample.kt.md +111 -0
  180. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PickerSample.kt.md.txt +111 -0
  181. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PlaceholderSample.kt.md +184 -0
  182. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/PlaceholderSample.kt.md.txt +184 -0
  183. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ProgressIndicatorSample.kt.md +263 -0
  184. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ProgressIndicatorSample.kt.md.txt +263 -0
  185. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/RadioButtonSample.kt.md +105 -0
  186. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/RadioButtonSample.kt.md.txt +105 -0
  187. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ScaffoldSample.kt.md +146 -0
  188. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ScaffoldSample.kt.md.txt +146 -0
  189. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ScrollAwaySample.kt.md +97 -0
  190. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ScrollAwaySample.kt.md.txt +97 -0
  191. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ScrollIndicatorSample.kt.md +66 -0
  192. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/ScrollIndicatorSample.kt.md.txt +66 -0
  193. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SliderSample.kt.md +86 -0
  194. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SliderSample.kt.md.txt +86 -0
  195. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/StepperSample.kt.md +148 -0
  196. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/StepperSample.kt.md.txt +148 -0
  197. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SurfaceTransformationSample.kt.md +166 -0
  198. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SurfaceTransformationSample.kt.md.txt +166 -0
  199. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SwipeToDismissBoxSample.kt.md +172 -0
  200. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SwipeToDismissBoxSample.kt.md.txt +172 -0
  201. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SwipeToRevealSample.kt.md +367 -0
  202. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SwipeToRevealSample.kt.md.txt +367 -0
  203. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SwitchButtonSample.kt.md +66 -0
  204. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/SwitchButtonSample.kt.md.txt +66 -0
  205. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TextButtonSample.kt.md +115 -0
  206. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TextButtonSample.kt.md.txt +115 -0
  207. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TextToggleButtonSample.kt.md +71 -0
  208. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TextToggleButtonSample.kt.md.txt +71 -0
  209. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TimePickerSample.kt.md +151 -0
  210. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TimePickerSample.kt.md.txt +151 -0
  211. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TimeTextSample.kt.md +65 -0
  212. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TimeTextSample.kt.md.txt +65 -0
  213. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TransformationSpecSample.kt.md +246 -0
  214. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TransformationSpecSample.kt.md.txt +246 -0
  215. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TransformingLazyColumnNotificationsSample.kt.md +89 -0
  216. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TransformingLazyColumnNotificationsSample.kt.md.txt +89 -0
  217. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TransformingLazyColumnSample.kt.md +309 -0
  218. package/skills/mobile-android/references/devices/wear-compose-m3/references/material3/TransformingLazyColumnSample.kt.md.txt +309 -0
  219. package/skills/mobile-android/references/devices/wear-compose-m3/references/navigation3/SwipeDismissableSceneStrategySample.kt.md +205 -0
  220. package/skills/mobile-android/references/devices/wear-compose-m3/references/navigation3/SwipeDismissableSceneStrategySample.kt.md.txt +205 -0
  221. package/skills/mobile-android/references/devices.md +11 -0
  222. package/skills/mobile-android/references/identity/restore-credentials/GUIDE.md +337 -0
  223. package/skills/mobile-android/references/identity/restore-credentials/references/android/guide/topics/manifest/application-element.md +832 -0
  224. package/skills/mobile-android/references/identity/restore-credentials/references/android/identity/passkeys/create-passkeys.md +327 -0
  225. package/skills/mobile-android/references/identity/restore-credentials/references/android/identity/passkeys/sign-in-with-passkeys.md +219 -0
  226. package/skills/mobile-android/references/identity/verified-email/GUIDE.md +405 -0
  227. package/skills/mobile-android/references/identity/verified-email/references/android/identity/credential-manager/index.md +67 -0
  228. package/skills/mobile-android/references/identity/verified-email/references/android/identity/digital-credentials/credential-verifier.md +166 -0
  229. package/skills/mobile-android/references/identity/verified-email/references/android/identity/digital-credentials/email-verification-implementation.md +313 -0
  230. package/skills/mobile-android/references/identity/verified-email/references/android/identity/digital-credentials/email-verification.md +158 -0
  231. package/skills/mobile-android/references/identity/verified-email/references/android/identity/digital-credentials/index.md +112 -0
  232. package/skills/mobile-android/references/identity/verified-email/references/android/identity/passkeys/create-passkeys.md +327 -0
  233. package/skills/mobile-android/references/identity/verified-email/references/android/identity/sign-in/credential-manager-webview.md +84 -0
  234. package/skills/mobile-android/references/identity.md +10 -0
  235. package/skills/mobile-android/references/media/camerax/GUIDE.md +106 -0
  236. package/skills/mobile-android/references/media/camerax/references/camera1-to-camerax.md +198 -0
  237. package/skills/mobile-android/references/media/camerax/references/camera2-to-camerax.md +193 -0
  238. package/skills/mobile-android/references/media/camerax/references/expert-blueprints.md +58 -0
  239. package/skills/mobile-android/references/media/camerax/references/foldables.md +83 -0
  240. package/skills/mobile-android/references/media/camerax/references/immutability.md +60 -0
  241. package/skills/mobile-android/references/media/camerax/references/low-light.md +124 -0
  242. package/skills/mobile-android/references/media/camerax/references/mlkit-spatial.md +75 -0
  243. package/skills/mobile-android/references/media/camerax/references/modern-apis.md +42 -0
  244. package/skills/mobile-android/references/media/camerax/references/testing.md +69 -0
  245. package/skills/mobile-android/references/media/camerax/references/thermals.md +85 -0
  246. package/skills/mobile-android/references/media/camerax/references/wear-os.md +76 -0
  247. package/skills/mobile-android/references/media/camerax/references/xr.md +54 -0
  248. package/skills/mobile-android/references/media/media3-cast-integration/GUIDE.md +213 -0
  249. package/skills/mobile-android/references/media/media3-cast-integration/references/android/media/media3/cast/create-castplayer.md +390 -0
  250. package/skills/mobile-android/references/media/media3-cast-integration/references/android/media/media3/cast/customize-castoptions.md +93 -0
  251. package/skills/mobile-android/references/media/media3-cast-integration/references/android/media/media3/cast/index.md +21 -0
  252. package/skills/mobile-android/references/media.md +10 -0
  253. package/skills/mobile-android/references/on-device-ai/appfunctions/GUIDE.md +51 -0
  254. package/skills/mobile-android/references/on-device-ai/appfunctions/references/adb-interaction-testing.md +95 -0
  255. package/skills/mobile-android/references/on-device-ai/appfunctions/references/context.md +26 -0
  256. package/skills/mobile-android/references/on-device-ai/appfunctions/references/feature-discovery-analysis.md +71 -0
  257. package/skills/mobile-android/references/on-device-ai/appfunctions/references/implementation-configuration.md +282 -0
  258. package/skills/mobile-android/references/on-device-ai/appfunctions/references/kdoc-refinement-optimization.md +75 -0
  259. package/skills/mobile-android/references/on-device-ai/appfunctions/references/migrate-to-service-entry-point.md +226 -0
  260. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/GUIDE.md +105 -0
  261. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/references/get-started.md +272 -0
  262. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/references/prefix-caching.md +146 -0
  263. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/references/prompt-design.md +55 -0
  264. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/references/prompt-optimization.md +74 -0
  265. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/references/structured-output.md +219 -0
  266. package/skills/mobile-android/references/on-device-ai/ml-kit-genai-prompt-api/references/system-instructions.md +71 -0
  267. package/skills/mobile-android/references/on-device-ai.md +10 -0
  268. package/skills/mobile-android/references/play/engage-sdk-integration/GUIDE.md +112 -0
  269. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/faq.md +439 -0
  270. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/food.md +1149 -0
  271. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/healthandfitness.md +1055 -0
  272. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/listen.md +1050 -0
  273. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/otherverticals.md +1301 -0
  274. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/read.md +910 -0
  275. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/shopping.md +1224 -0
  276. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/social.md +719 -0
  277. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/travel.md +1413 -0
  278. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/tv/continue-watching/index.md +19 -0
  279. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/tv/entitlements.md +353 -0
  280. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/tv/getting-started.md +202 -0
  281. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/tv/recommendations.md +471 -0
  282. package/skills/mobile-android/references/play/engage-sdk-integration/references/android/guide/playcore/engage/watch.md +1081 -0
  283. package/skills/mobile-android/references/play/engage-sdk-integration/references/clusters.md +154 -0
  284. package/skills/mobile-android/references/play/engage-sdk-integration/references/common.md +519 -0
  285. package/skills/mobile-android/references/play/engage-sdk-integration/references/patterns.md +527 -0
  286. package/skills/mobile-android/references/play/engage-sdk-integration/references/requests.md +260 -0
  287. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/food.md +509 -0
  288. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/listen.md +842 -0
  289. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/other.md +220 -0
  290. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/read.md +412 -0
  291. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/shopping.md +357 -0
  292. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/social.md +228 -0
  293. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/travel.md +923 -0
  294. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/tv.md +1226 -0
  295. package/skills/mobile-android/references/play/engage-sdk-integration/references/schemas/watch.md +1137 -0
  296. package/skills/mobile-android/references/play/engage-sdk-integration/references/troubleshooting.md +39 -0
  297. package/skills/mobile-android/references/play/play-billing-library-version-upgrade/GUIDE.md +75 -0
  298. package/skills/mobile-android/references/play/play-billing-library-version-upgrade/references/android/google/play/billing/release-notes.md +1240 -0
  299. package/skills/mobile-android/references/play/play-billing-library-version-upgrade/references/migration-logic.md +78 -0
  300. package/skills/mobile-android/references/play/play-billing-library-version-upgrade/references/version-checklist.md +54 -0
  301. package/skills/mobile-android/references/play/play-policy-insights/GUIDE.md +130 -0
  302. package/skills/mobile-android/references/play/play-policy-insights/resources/common_mandates.md +100 -0
  303. package/skills/mobile-android/references/play/play-policy-insights/resources/compliance_report_template.md +59 -0
  304. package/skills/mobile-android/references/play/play-policy-insights/resources/critic.md +86 -0
  305. package/skills/mobile-android/references/play/play-policy-insights/resources/goal_data_safety.md +212 -0
  306. package/skills/mobile-android/references/play/play-policy-insights/resources/goal_permissions_and_apis.md +459 -0
  307. package/skills/mobile-android/references/play/play-policy-insights/resources/goal_user_account.md +106 -0
  308. package/skills/mobile-android/references/play/play-policy-insights/resources/policies.json +321 -0
  309. package/skills/mobile-android/references/play/play-policy-insights/resources/scanner_config.json +843 -0
  310. package/skills/mobile-android/references/play/play-policy-insights/scripts/generate_report.py +860 -0
  311. package/skills/mobile-android/references/play/play-policy-insights/scripts/orchestrator.py +1313 -0
  312. package/skills/mobile-android/references/play/play-policy-insights/scripts/play_store_scraper.py +410 -0
  313. package/skills/mobile-android/references/play/play-policy-insights/scripts/scanner.py +261 -0
  314. package/skills/mobile-android/references/play/play-policy-insights/scripts/template_engine.py +243 -0
  315. package/skills/mobile-android/references/play.md +11 -0
  316. package/skills/mobile-android/references/ui/adaptive/GUIDE.md +280 -0
  317. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +112 -0
  318. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +69 -0
  319. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +81 -0
  320. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +170 -0
  321. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +415 -0
  322. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +51 -0
  323. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +73 -0
  324. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +170 -0
  325. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +333 -0
  326. package/skills/mobile-android/references/ui/adaptive/references/android/develop/ui/compose/tooling/debug.md +114 -0
  327. package/skills/mobile-android/references/ui/adaptive/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  328. package/skills/mobile-android/references/ui/edge-to-edge/GUIDE.md +409 -0
  329. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/GUIDE.md +104 -0
  330. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/analysis-of-the-project-and-layout.md +42 -0
  331. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/designsystems/migrate-xml-theme-to-compose.md +171 -0
  332. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/migrate/interoperability-apis/compose-in-views.md +299 -0
  333. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/migrate/interoperability-apis/views-in-compose.md +286 -0
  334. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/setup-compose-dependencies-and-compiler.md +197 -0
  335. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/identify-optimal-xml-candidate.md +31 -0
  336. package/skills/mobile-android/references/ui/migrate-xml-views-to-jetpack-compose/references/xml-layout-migration.md +86 -0
  337. package/skills/mobile-android/references/ui/navigation-3/GUIDE.md +86 -0
  338. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/index.md +51 -0
  339. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/migration-guide.md +670 -0
  340. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/animations.md +147 -0
  341. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/basic.md +89 -0
  342. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +85 -0
  343. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +90 -0
  344. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +195 -0
  345. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/common-ui.md +200 -0
  346. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional-transitions.md +182 -0
  347. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional.md +230 -0
  348. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-custommatcher.md +176 -0
  349. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-staticuri.md +140 -0
  350. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-syntheticbackstack.md +184 -0
  351. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/dialog.md +107 -0
  352. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/lifecycle-owner.md +185 -0
  353. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  354. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +145 -0
  355. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +283 -0
  356. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +287 -0
  357. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +468 -0
  358. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +371 -0
  359. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/results-event.md +273 -0
  360. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/results-state.md +266 -0
  361. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +435 -0
  362. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +244 -0
  363. package/skills/mobile-android/references/ui/navigation-3/references/android/guide/navigation/type-safe-destinations.md +129 -0
  364. package/skills/mobile-android/references/ui/navigation-event/GUIDE.md +288 -0
  365. package/skills/mobile-android/references/ui/navigation-event/references/android/guide/navigation/navigation-event/dispatcher.md +134 -0
  366. package/skills/mobile-android/references/ui/navigation-event/references/android/guide/navigation/navigation-event/handle-back.md +217 -0
  367. package/skills/mobile-android/references/ui/navigation-event/references/android/guide/navigation/navigation-event/index.md +83 -0
  368. package/skills/mobile-android/references/ui/navigation-event/references/android/guide/navigation/navigation-event/setup.md +32 -0
  369. package/skills/mobile-android/references/ui/styles/GUIDE.md +209 -0
  370. package/skills/mobile-android/references/ui/styles/references/android/develop/ui/compose/designsystems/custom.md +459 -0
  371. package/skills/mobile-android/references/ui/styles/references/android/develop/ui/compose/styles/fundamentals.md +421 -0
  372. package/skills/mobile-android/references/ui/styles/references/android/develop/ui/compose/styles/state-animations.md +461 -0
  373. package/skills/mobile-android/references/ui/styles/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +48 -0
  374. package/skills/mobile-android/references/ui/styles/references/android/develop/ui/compose/styles/theming.md +269 -0
  375. package/skills/mobile-android/references/ui.md +14 -0
  376. package/skills/mobile-architecture/SKILL.md +52 -0
  377. package/skills/mobile-architecture/references/android.md +54 -0
  378. package/skills/{flutter-app-architecture/SKILL.md → mobile-architecture/references/flutter/app-architecture.md} +1 -8
  379. package/skills/{bloc/SKILL.md → mobile-architecture/references/flutter/bloc.md} +1 -8
  380. package/skills/{flutter-change-notifier/SKILL.md → mobile-architecture/references/flutter/change-notifier.md} +1 -8
  381. package/skills/{architecture-feature-first/SKILL.md → mobile-architecture/references/flutter/feature-first.md} +1 -8
  382. package/skills/{flutter-login-usecase/SKILL.md → mobile-architecture/references/flutter/login-use-case.md} +0 -7
  383. package/skills/{flutter-managing-state/SKILL.md → mobile-architecture/references/flutter/managing-state.md} +2 -11
  384. package/skills/{provider/SKILL.md → mobile-architecture/references/flutter/provider.md} +1 -8
  385. package/skills/{flutter-apply-architecture-best-practices/SKILL.md → mobile-architecture/references/flutter/recommended-architecture.md} +2 -11
  386. package/skills/{riverpod/SKILL.md → mobile-architecture/references/flutter/riverpod.md} +1 -8
  387. package/skills/mobile-architecture/references/flutter.md +21 -0
  388. package/skills/mobile-architecture/references/ios.md +58 -0
  389. package/skills/mobile-architecture/references/react-native.md +61 -0
  390. package/skills/mobile-code-review/SKILL.md +70 -0
  391. package/skills/mobile-code-review/references/android.md +51 -0
  392. package/skills/{code-review/SKILL.md → mobile-code-review/references/flutter/pr-review.md} +1 -8
  393. package/skills/{flutter-project-audit/SKILL.md → mobile-code-review/references/flutter/project-audit.md} +0 -7
  394. package/skills/{dart-run-static-analysis/SKILL.md → mobile-code-review/references/flutter/static-analysis.md} +2 -11
  395. package/skills/{flutter-widget-review/SKILL.md → mobile-code-review/references/flutter/widget-review.md} +0 -7
  396. package/skills/mobile-code-review/references/flutter.md +18 -0
  397. package/skills/mobile-code-review/references/ios.md +49 -0
  398. package/skills/mobile-code-review/references/react-native.md +58 -0
  399. package/skills/mobile-debug/SKILL.md +50 -0
  400. package/skills/mobile-debug/references/android/gradle-build.md +63 -0
  401. package/skills/mobile-debug/references/android.md +26 -0
  402. package/skills/mobile-debug/references/flutter/build.md +58 -0
  403. package/skills/{flutter-errors/SKILL.md → mobile-debug/references/flutter/errors.md} +1 -8
  404. package/skills/{flutter-fix-layout-issues/SKILL.md → mobile-debug/references/flutter/layout-issues.md} +2 -11
  405. package/skills/{dart-resolve-package-conflicts/SKILL.md → mobile-debug/references/flutter/package-conflicts.md} +2 -11
  406. package/skills/{dart-fix-runtime-errors/SKILL.md → mobile-debug/references/flutter/runtime-errors.md} +2 -11
  407. package/skills/mobile-debug/references/flutter.md +23 -0
  408. package/skills/mobile-debug/references/ios/cocoapods.md +57 -0
  409. package/skills/mobile-debug/references/ios/xcode-build.md +58 -0
  410. package/skills/mobile-debug/references/ios.md +23 -0
  411. package/skills/mobile-debug/references/react-native.md +43 -0
  412. package/skills/{detect-mobile-stack → mobile-detect-stack}/SKILL.md +1 -1
  413. package/skills/mobile-firebase/SKILL.md +54 -0
  414. package/skills/mobile-firebase/references/android/ai-logic.md +31 -0
  415. package/skills/mobile-firebase/references/android/analytics.md +33 -0
  416. package/skills/mobile-firebase/references/android/app-check.md +36 -0
  417. package/skills/mobile-firebase/references/android/auth.md +44 -0
  418. package/skills/mobile-firebase/references/android/crashlytics.md +31 -0
  419. package/skills/mobile-firebase/references/android/firestore.md +44 -0
  420. package/skills/mobile-firebase/references/android/functions.md +33 -0
  421. package/skills/mobile-firebase/references/android/in-app-messaging.md +28 -0
  422. package/skills/mobile-firebase/references/android/messaging.md +41 -0
  423. package/skills/mobile-firebase/references/android/realtime-database.md +50 -0
  424. package/skills/mobile-firebase/references/android/remote-config.md +43 -0
  425. package/skills/mobile-firebase/references/android/sql-connect.md +31 -0
  426. package/skills/mobile-firebase/references/android/storage.md +39 -0
  427. package/skills/mobile-firebase/references/android.md +30 -0
  428. package/skills/{firebase-ai/SKILL.md → mobile-firebase/references/flutter/ai-logic.md} +2 -8
  429. package/skills/{firebase-analytics/SKILL.md → mobile-firebase/references/flutter/analytics.md} +2 -8
  430. package/skills/{firebase-app-check/SKILL.md → mobile-firebase/references/flutter/app-check.md} +2 -8
  431. package/skills/{firebase-auth/SKILL.md → mobile-firebase/references/flutter/auth.md} +2 -8
  432. package/skills/{firebase-crashlytics/SKILL.md → mobile-firebase/references/flutter/crashlytics.md} +2 -8
  433. package/skills/{firebase-cloud-firestore/SKILL.md → mobile-firebase/references/flutter/firestore.md} +2 -8
  434. package/skills/{firebase-cloud-functions/SKILL.md → mobile-firebase/references/flutter/functions.md} +2 -8
  435. package/skills/{firebase-in-app-messaging/SKILL.md → mobile-firebase/references/flutter/in-app-messaging.md} +2 -8
  436. package/skills/{firebase-messaging/SKILL.md → mobile-firebase/references/flutter/messaging.md} +2 -8
  437. package/skills/{firebase-database/SKILL.md → mobile-firebase/references/flutter/realtime-database.md} +2 -8
  438. package/skills/{firebase-remote-config/SKILL.md → mobile-firebase/references/flutter/remote-config.md} +2 -8
  439. package/skills/{flutterfire-configure/SKILL.md → mobile-firebase/references/flutter/setup-flutterfire.md} +1 -8
  440. package/skills/{firebase-data-connect/SKILL.md → mobile-firebase/references/flutter/sql-connect.md} +2 -8
  441. package/skills/{firebase-storage/SKILL.md → mobile-firebase/references/flutter/storage.md} +2 -8
  442. package/skills/mobile-firebase/references/flutter.md +36 -0
  443. package/skills/mobile-firebase/references/ios/ai-logic.md +30 -0
  444. package/skills/mobile-firebase/references/ios/analytics.md +33 -0
  445. package/skills/mobile-firebase/references/ios/app-check.md +36 -0
  446. package/skills/mobile-firebase/references/ios/auth.md +48 -0
  447. package/skills/mobile-firebase/references/ios/crashlytics.md +34 -0
  448. package/skills/mobile-firebase/references/ios/firestore.md +53 -0
  449. package/skills/mobile-firebase/references/ios/functions.md +35 -0
  450. package/skills/mobile-firebase/references/ios/in-app-messaging.md +26 -0
  451. package/skills/mobile-firebase/references/ios/messaging.md +45 -0
  452. package/skills/mobile-firebase/references/ios/realtime-database.md +49 -0
  453. package/skills/mobile-firebase/references/ios/remote-config.md +44 -0
  454. package/skills/mobile-firebase/references/ios/sql-connect.md +33 -0
  455. package/skills/mobile-firebase/references/ios/storage.md +36 -0
  456. package/skills/mobile-firebase/references/ios.md +28 -0
  457. package/skills/mobile-firebase/references/react-native/ai-logic.md +32 -0
  458. package/skills/mobile-firebase/references/react-native/analytics.md +43 -0
  459. package/skills/mobile-firebase/references/react-native/app-check.md +35 -0
  460. package/skills/mobile-firebase/references/react-native/auth.md +50 -0
  461. package/skills/mobile-firebase/references/react-native/crashlytics.md +36 -0
  462. package/skills/mobile-firebase/references/react-native/firestore.md +45 -0
  463. package/skills/mobile-firebase/references/react-native/functions.md +28 -0
  464. package/skills/mobile-firebase/references/react-native/in-app-messaging.md +27 -0
  465. package/skills/mobile-firebase/references/react-native/messaging.md +46 -0
  466. package/skills/mobile-firebase/references/react-native/realtime-database.md +46 -0
  467. package/skills/mobile-firebase/references/react-native/remote-config.md +32 -0
  468. package/skills/mobile-firebase/references/react-native/sql-connect.md +11 -0
  469. package/skills/mobile-firebase/references/react-native/storage.md +30 -0
  470. package/skills/mobile-firebase/references/react-native.md +29 -0
  471. package/skills/mobile-flutter/SKILL.md +30 -0
  472. package/skills/{flutter-improving-accessibility/SKILL.md → mobile-flutter/references/accessibility-i18n/accessibility.md} +2 -11
  473. package/skills/{flutter-setup-localization/SKILL.md → mobile-flutter/references/accessibility-i18n/localization.md} +2 -11
  474. package/skills/mobile-flutter/references/accessibility-i18n.md +8 -0
  475. package/skills/{dart-3-updates/SKILL.md → mobile-flutter/references/dart/dart-3.md} +1 -8
  476. package/skills/{effective-dart/SKILL.md → mobile-flutter/references/dart/effective-dart.md} +1 -8
  477. package/skills/{dart-use-pattern-matching/SKILL.md → mobile-flutter/references/dart/pattern-matching/GUIDE.md} +2 -18
  478. package/skills/mobile-flutter/references/dart.md +9 -0
  479. package/skills/{flutter-caching-data/SKILL.md → mobile-flutter/references/data/caching.md} +2 -11
  480. package/skills/{flutter-working-with-databases/SKILL.md → mobile-flutter/references/data/databases.md} +2 -11
  481. package/skills/{flutter-use-http-package/SKILL.md → mobile-flutter/references/data/http.md} +2 -11
  482. package/skills/{flutter-implement-json-serialization/SKILL.md → mobile-flutter/references/data/json-serialization.md} +2 -11
  483. package/skills/mobile-flutter/references/data.md +10 -0
  484. package/skills/{flutter-interoperating-with-native-apis/SKILL.md → mobile-flutter/references/native/native-apis.md} +2 -11
  485. package/skills/{flutter-embedding-native-views/SKILL.md → mobile-flutter/references/native/native-views.md} +2 -11
  486. package/skills/{flutter-building-plugins/SKILL.md → mobile-flutter/references/native/plugins.md} +2 -11
  487. package/skills/mobile-flutter/references/native.md +9 -0
  488. package/skills/{flutter-reducing-app-size/SKILL.md → mobile-flutter/references/performance/app-size.md} +2 -11
  489. package/skills/{flutter-handling-concurrency/SKILL.md → mobile-flutter/references/performance/concurrency.md} +2 -11
  490. package/skills/mobile-flutter/references/performance.md +8 -0
  491. package/skills/{flutter-setting-up-on-macos/SKILL.md → mobile-flutter/references/setup/macos.md} +2 -11
  492. package/skills/mobile-flutter/references/setup.md +7 -0
  493. package/skills/{flutter-animating-apps/SKILL.md → mobile-flutter/references/ui/animations.md} +2 -11
  494. package/skills/{flutter-building-forms/SKILL.md → mobile-flutter/references/ui/forms.md} +2 -11
  495. package/skills/{flutter-adding-home-screen-widgets/SKILL.md → mobile-flutter/references/ui/home-screen-widgets.md} +2 -11
  496. package/skills/{flutter-building-layouts/SKILL.md → mobile-flutter/references/ui/layouts.md} +2 -11
  497. package/skills/{flutter-build-responsive-layout/SKILL.md → mobile-flutter/references/ui/responsive-layout.md} +2 -11
  498. package/skills/{flutter-setup-declarative-routing/SKILL.md → mobile-flutter/references/ui/routing.md} +2 -11
  499. package/skills/{flutter-theming-apps/SKILL.md → mobile-flutter/references/ui/theming.md} +2 -11
  500. package/skills/{flutter-add-widget-preview/SKILL.md → mobile-flutter/references/ui/widget-previews.md} +2 -11
  501. package/skills/mobile-flutter/references/ui.md +14 -0
  502. package/skills/mobile-ios/SKILL.md +25 -0
  503. package/skills/mobile-ios/references/data-networking.md +70 -0
  504. package/skills/mobile-ios/references/performance-release.md +37 -0
  505. package/skills/mobile-ios/references/platform-features.md +52 -0
  506. package/skills/mobile-ios/references/ui-navigation.md +64 -0
  507. package/skills/mobile-rn/SKILL.md +26 -0
  508. package/skills/mobile-rn/references/data-networking.md +59 -0
  509. package/skills/mobile-rn/references/performance-release.md +46 -0
  510. package/skills/mobile-rn/references/platform-features.md +40 -0
  511. package/skills/mobile-rn/references/ui-navigation.md +62 -0
  512. package/skills/mobile-security/SKILL.md +82 -0
  513. package/skills/mobile-security/references/android/intent-security.md +523 -0
  514. package/skills/mobile-security/references/android.md +37 -0
  515. package/skills/{flutter-secure-token-store/SKILL.md → mobile-security/references/flutter/secure-token-store.md} +1 -8
  516. package/skills/mobile-security/references/flutter.md +30 -0
  517. package/skills/mobile-security/references/ios.md +27 -0
  518. package/skills/mobile-security/references/react-native.md +29 -0
  519. package/skills/mobile-test/SKILL.md +63 -0
  520. package/skills/mobile-test/references/android/setup/GUIDE.md +183 -0
  521. package/skills/mobile-test/references/android/setup/references/android/develop/ui/compose/testing/common-patterns.md +181 -0
  522. package/skills/mobile-test/references/android/setup/references/android/studio/preview/compose-screenshot-testing.md +255 -0
  523. package/skills/mobile-test/references/android/setup/references/android/training/dependency-injection/hilt-testing.md +447 -0
  524. package/skills/mobile-test/references/android.md +83 -0
  525. package/skills/{dart-collect-coverage/SKILL.md → mobile-test/references/flutter/coverage.md} +2 -11
  526. package/skills/{dart-generate-test-mocks/SKILL.md → mobile-test/references/flutter/generate-mocks.md} +2 -11
  527. package/skills/{flutter-add-integration-test/SKILL.md → mobile-test/references/flutter/integration-tests.md} +2 -11
  528. package/skills/{dart-migrate-to-checks-package/SKILL.md → mobile-test/references/flutter/migrate-to-checks.md} +2 -13
  529. package/skills/{mockito/SKILL.md → mobile-test/references/flutter/mockito.md} +1 -8
  530. package/skills/{mocktail/SKILL.md → mobile-test/references/flutter/mocktail.md} +1 -8
  531. package/skills/{patrol-e2e-testing/SKILL.md → mobile-test/references/flutter/patrol.md} +1 -8
  532. package/skills/{testing/SKILL.md → mobile-test/references/flutter/testing-guidelines.md} +1 -8
  533. package/skills/{dart-add-unit-test/SKILL.md → mobile-test/references/flutter/unit-tests.md} +2 -11
  534. package/skills/{flutter-add-widget-test/SKILL.md → mobile-test/references/flutter/widget-tests.md} +2 -11
  535. package/skills/mobile-test/references/flutter.md +44 -0
  536. package/skills/mobile-test/references/ios.md +79 -0
  537. package/skills/mobile-test/references/react-native.md +62 -0
  538. package/skills/mobile-security-audit/SKILL.md +0 -101
  539. /package/skills/{dart-use-pattern-matching → mobile-flutter/references/dart/pattern-matching}/examples/json_patterns.dart +0 -0
@@ -0,0 +1,162 @@
1
+ ```
2
+ /*
3
+ * Copyright 2024 The Android Open Source Project
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ package androidx.wear.compose.material3.samples
19
+
20
+ import androidx.annotation.Sampled
21
+ import androidx.compose.foundation.layout.Box
22
+ import androidx.compose.foundation.layout.fillMaxSize
23
+ import androidx.compose.foundation.layout.size
24
+ import androidx.compose.material.icons.Icons
25
+ import androidx.compose.material.icons.automirrored.filled.Send
26
+ import androidx.compose.runtime.Composable
27
+ import androidx.compose.runtime.getValue
28
+ import androidx.compose.runtime.mutableStateOf
29
+ import androidx.compose.runtime.remember
30
+ import androidx.compose.runtime.setValue
31
+ import androidx.compose.ui.Alignment
32
+ import androidx.compose.ui.Modifier
33
+ import androidx.wear.compose.material3.ConfirmationDialog
34
+ import androidx.wear.compose.material3.ConfirmationDialogDefaults
35
+ import androidx.wear.compose.material3.FailureConfirmationDialog
36
+ import androidx.wear.compose.material3.FilledTonalButton
37
+ import androidx.wear.compose.material3.Icon
38
+ import androidx.wear.compose.material3.SuccessConfirmationDialog
39
+ import androidx.wear.compose.material3.Text
40
+ import androidx.wear.compose.material3.confirmationDialogCurvedText
41
+ import androidx.wear.compose.material3.samples.icons.FavoriteIcon
42
+
43
+ @Sampled
44
+ @Composable
45
+ fun ConfirmationDialogSample() {
46
+ var showConfirmation by remember { mutableStateOf(false) }
47
+
48
+ Box(Modifier.fillMaxSize()) {
49
+ FilledTonalButton(
50
+ modifier = Modifier.align(Alignment.Center),
51
+ onClick = { showConfirmation = true },
52
+ label = { Text("Show Confirmation") },
53
+ )
54
+ }
55
+
56
+ // Has an icon and a short curved text content, which will be displayed along the bottom edge of
57
+ // the screen.
58
+ val curvedTextStyle = ConfirmationDialogDefaults.curvedTextStyle
59
+ ConfirmationDialog(
60
+ visible = showConfirmation,
61
+ onDismissRequest = { showConfirmation = false },
62
+ curvedText = { confirmationDialogCurvedText("Confirmed", curvedTextStyle) },
63
+ ) {
64
+ FavoriteIcon(ConfirmationDialogDefaults.IconSize)
65
+ }
66
+ }
67
+
68
+ @Sampled
69
+ @Composable
70
+ fun LongTextConfirmationDialogSample() {
71
+ var showConfirmation by remember { mutableStateOf(false) }
72
+
73
+ Box(Modifier.fillMaxSize()) {
74
+ FilledTonalButton(
75
+ modifier = Modifier.align(Alignment.Center),
76
+ onClick = { showConfirmation = true },
77
+ label = { Text("Show Confirmation") },
78
+ )
79
+ }
80
+
81
+ // Has an icon and a text content. Text will be displayed in the center of the screen below the
82
+ // icon.
83
+ ConfirmationDialog(
84
+ visible = showConfirmation,
85
+ onDismissRequest = { showConfirmation = false },
86
+ text = { Text(text = "Your message has been sent") },
87
+ ) {
88
+ Icon(
89
+ imageVector = Icons.AutoMirrored.Filled.Send,
90
+ contentDescription = null,
91
+ modifier = Modifier.size(ConfirmationDialogDefaults.SmallIconSize),
92
+ )
93
+ }
94
+ }
95
+
96
+ @Sampled
97
+ @Composable
98
+ fun FailureConfirmationDialogSample() {
99
+ var showConfirmation by remember { mutableStateOf(false) }
100
+
101
+ Box(Modifier.fillMaxSize()) {
102
+ FilledTonalButton(
103
+ modifier = Modifier.align(Alignment.Center),
104
+ onClick = { showConfirmation = true },
105
+ label = { Text("Show Confirmation") },
106
+ )
107
+ }
108
+
109
+ val text = "Failure"
110
+ val style = ConfirmationDialogDefaults.curvedTextStyle
111
+ FailureConfirmationDialog(
112
+ visible = showConfirmation,
113
+ onDismissRequest = { showConfirmation = false },
114
+ curvedText = { confirmationDialogCurvedText(text, style) },
115
+ )
116
+ }
117
+
118
+ @Sampled
119
+ @Composable
120
+ fun FailureConfirmationDialogWithGenericFailureIconSample() {
121
+ var showConfirmation by remember { mutableStateOf(false) }
122
+
123
+ Box(Modifier.fillMaxSize()) {
124
+ FilledTonalButton(
125
+ modifier = Modifier.align(Alignment.Center),
126
+ onClick = { showConfirmation = true },
127
+ label = { Text("Show Confirmation") },
128
+ )
129
+ }
130
+
131
+ val text = "Failure"
132
+ val style = ConfirmationDialogDefaults.curvedTextStyle
133
+ FailureConfirmationDialog(
134
+ visible = showConfirmation,
135
+ onDismissRequest = { showConfirmation = false },
136
+ curvedText = { confirmationDialogCurvedText(text, style) },
137
+ content = { ConfirmationDialogDefaults.GenericFailureIcon() },
138
+ )
139
+ }
140
+
141
+ @Sampled
142
+ @Composable
143
+ fun SuccessConfirmationDialogSample() {
144
+ var showConfirmation by remember { mutableStateOf(false) }
145
+
146
+ Box(Modifier.fillMaxSize()) {
147
+ FilledTonalButton(
148
+ modifier = Modifier.align(Alignment.Center),
149
+ onClick = { showConfirmation = true },
150
+ label = { Text("Show Confirmation") },
151
+ )
152
+ }
153
+
154
+ val text = "Success"
155
+ val style = ConfirmationDialogDefaults.curvedTextStyle
156
+ SuccessConfirmationDialog(
157
+ visible = showConfirmation,
158
+ onDismissRequest = { showConfirmation = false },
159
+ curvedText = { confirmationDialogCurvedText(text, style) },
160
+ )
161
+ }
162
+ ```
@@ -0,0 +1,162 @@
1
+ ```
2
+ /*
3
+ * Copyright 2024 The Android Open Source Project
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ package androidx.wear.compose.material3.samples
19
+
20
+ import androidx.annotation.Sampled
21
+ import androidx.compose.foundation.layout.Box
22
+ import androidx.compose.foundation.layout.fillMaxSize
23
+ import androidx.compose.foundation.layout.size
24
+ import androidx.compose.material.icons.Icons
25
+ import androidx.compose.material.icons.automirrored.filled.Send
26
+ import androidx.compose.runtime.Composable
27
+ import androidx.compose.runtime.getValue
28
+ import androidx.compose.runtime.mutableStateOf
29
+ import androidx.compose.runtime.remember
30
+ import androidx.compose.runtime.setValue
31
+ import androidx.compose.ui.Alignment
32
+ import androidx.compose.ui.Modifier
33
+ import androidx.wear.compose.material3.ConfirmationDialog
34
+ import androidx.wear.compose.material3.ConfirmationDialogDefaults
35
+ import androidx.wear.compose.material3.FailureConfirmationDialog
36
+ import androidx.wear.compose.material3.FilledTonalButton
37
+ import androidx.wear.compose.material3.Icon
38
+ import androidx.wear.compose.material3.SuccessConfirmationDialog
39
+ import androidx.wear.compose.material3.Text
40
+ import androidx.wear.compose.material3.confirmationDialogCurvedText
41
+ import androidx.wear.compose.material3.samples.icons.FavoriteIcon
42
+
43
+ @Sampled
44
+ @Composable
45
+ fun ConfirmationDialogSample() {
46
+ var showConfirmation by remember { mutableStateOf(false) }
47
+
48
+ Box(Modifier.fillMaxSize()) {
49
+ FilledTonalButton(
50
+ modifier = Modifier.align(Alignment.Center),
51
+ onClick = { showConfirmation = true },
52
+ label = { Text("Show Confirmation") },
53
+ )
54
+ }
55
+
56
+ // Has an icon and a short curved text content, which will be displayed along the bottom edge of
57
+ // the screen.
58
+ val curvedTextStyle = ConfirmationDialogDefaults.curvedTextStyle
59
+ ConfirmationDialog(
60
+ visible = showConfirmation,
61
+ onDismissRequest = { showConfirmation = false },
62
+ curvedText = { confirmationDialogCurvedText("Confirmed", curvedTextStyle) },
63
+ ) {
64
+ FavoriteIcon(ConfirmationDialogDefaults.IconSize)
65
+ }
66
+ }
67
+
68
+ @Sampled
69
+ @Composable
70
+ fun LongTextConfirmationDialogSample() {
71
+ var showConfirmation by remember { mutableStateOf(false) }
72
+
73
+ Box(Modifier.fillMaxSize()) {
74
+ FilledTonalButton(
75
+ modifier = Modifier.align(Alignment.Center),
76
+ onClick = { showConfirmation = true },
77
+ label = { Text("Show Confirmation") },
78
+ )
79
+ }
80
+
81
+ // Has an icon and a text content. Text will be displayed in the center of the screen below the
82
+ // icon.
83
+ ConfirmationDialog(
84
+ visible = showConfirmation,
85
+ onDismissRequest = { showConfirmation = false },
86
+ text = { Text(text = "Your message has been sent") },
87
+ ) {
88
+ Icon(
89
+ imageVector = Icons.AutoMirrored.Filled.Send,
90
+ contentDescription = null,
91
+ modifier = Modifier.size(ConfirmationDialogDefaults.SmallIconSize),
92
+ )
93
+ }
94
+ }
95
+
96
+ @Sampled
97
+ @Composable
98
+ fun FailureConfirmationDialogSample() {
99
+ var showConfirmation by remember { mutableStateOf(false) }
100
+
101
+ Box(Modifier.fillMaxSize()) {
102
+ FilledTonalButton(
103
+ modifier = Modifier.align(Alignment.Center),
104
+ onClick = { showConfirmation = true },
105
+ label = { Text("Show Confirmation") },
106
+ )
107
+ }
108
+
109
+ val text = "Failure"
110
+ val style = ConfirmationDialogDefaults.curvedTextStyle
111
+ FailureConfirmationDialog(
112
+ visible = showConfirmation,
113
+ onDismissRequest = { showConfirmation = false },
114
+ curvedText = { confirmationDialogCurvedText(text, style) },
115
+ )
116
+ }
117
+
118
+ @Sampled
119
+ @Composable
120
+ fun FailureConfirmationDialogWithGenericFailureIconSample() {
121
+ var showConfirmation by remember { mutableStateOf(false) }
122
+
123
+ Box(Modifier.fillMaxSize()) {
124
+ FilledTonalButton(
125
+ modifier = Modifier.align(Alignment.Center),
126
+ onClick = { showConfirmation = true },
127
+ label = { Text("Show Confirmation") },
128
+ )
129
+ }
130
+
131
+ val text = "Failure"
132
+ val style = ConfirmationDialogDefaults.curvedTextStyle
133
+ FailureConfirmationDialog(
134
+ visible = showConfirmation,
135
+ onDismissRequest = { showConfirmation = false },
136
+ curvedText = { confirmationDialogCurvedText(text, style) },
137
+ content = { ConfirmationDialogDefaults.GenericFailureIcon() },
138
+ )
139
+ }
140
+
141
+ @Sampled
142
+ @Composable
143
+ fun SuccessConfirmationDialogSample() {
144
+ var showConfirmation by remember { mutableStateOf(false) }
145
+
146
+ Box(Modifier.fillMaxSize()) {
147
+ FilledTonalButton(
148
+ modifier = Modifier.align(Alignment.Center),
149
+ onClick = { showConfirmation = true },
150
+ label = { Text("Show Confirmation") },
151
+ )
152
+ }
153
+
154
+ val text = "Success"
155
+ val style = ConfirmationDialogDefaults.curvedTextStyle
156
+ SuccessConfirmationDialog(
157
+ visible = showConfirmation,
158
+ onDismissRequest = { showConfirmation = false },
159
+ curvedText = { confirmationDialogCurvedText(text, style) },
160
+ )
161
+ }
162
+ ```
@@ -0,0 +1,78 @@
1
+ ```
2
+ /*
3
+ * Copyright 2024 The Android Open Source Project
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ package androidx.wear.compose.material3.samples
19
+
20
+ import androidx.annotation.Sampled
21
+ import androidx.compose.foundation.layout.size
22
+ import androidx.compose.material.icons.Icons
23
+ import androidx.compose.material.icons.filled.Warning
24
+ import androidx.compose.runtime.Composable
25
+ import androidx.compose.ui.Modifier
26
+ import androidx.compose.ui.graphics.StrokeCap.Companion.Round
27
+ import androidx.compose.ui.text.style.TextOverflow
28
+ import androidx.compose.ui.unit.dp
29
+ import androidx.wear.compose.foundation.CurvedDirection
30
+ import androidx.wear.compose.foundation.CurvedLayout
31
+ import androidx.wear.compose.foundation.CurvedModifier
32
+ import androidx.wear.compose.foundation.angularSizeDp
33
+ import androidx.wear.compose.foundation.background
34
+ import androidx.wear.compose.foundation.curvedBox
35
+ import androidx.wear.compose.foundation.curvedComposable
36
+ import androidx.wear.compose.foundation.curvedRow
37
+ import androidx.wear.compose.material3.ButtonDefaults
38
+ import androidx.wear.compose.material3.CurvedTextDefaults
39
+ import androidx.wear.compose.material3.Icon
40
+ import androidx.wear.compose.material3.MaterialTheme
41
+ import androidx.wear.compose.material3.curvedText
42
+
43
+ @Sampled
44
+ @Composable
45
+ fun CurvedTextTop() {
46
+ val backgroundColor = MaterialTheme.colorScheme.onPrimary
47
+ val customColor = MaterialTheme.colorScheme.tertiaryDim
48
+ CurvedLayout {
49
+ curvedRow(CurvedModifier.background(backgroundColor, Round)) {
50
+ curvedText("Calling", color = customColor)
51
+ curvedBox(CurvedModifier.angularSizeDp(5.dp)) {}
52
+ curvedText("Camilia Garcia")
53
+ }
54
+ }
55
+ }
56
+
57
+ @Sampled
58
+ @Composable
59
+ fun CurvedTextBottom() {
60
+ val backgroundColor = MaterialTheme.colorScheme.onPrimary
61
+ CurvedLayout(anchor = 90f, angularDirection = CurvedDirection.Angular.Reversed) {
62
+ curvedRow(CurvedModifier.background(backgroundColor, Round)) {
63
+ curvedComposable {
64
+ Icon(
65
+ Icons.Filled.Warning,
66
+ contentDescription = "Warning",
67
+ modifier = Modifier.size(ButtonDefaults.IconSize),
68
+ )
69
+ }
70
+ curvedText(
71
+ "Network lost",
72
+ maxSweepAngle = CurvedTextDefaults.StaticContentMaxSweepAngle,
73
+ overflow = TextOverflow.Ellipsis,
74
+ )
75
+ }
76
+ }
77
+ }
78
+ ```
@@ -0,0 +1,78 @@
1
+ ```
2
+ /*
3
+ * Copyright 2024 The Android Open Source Project
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ package androidx.wear.compose.material3.samples
19
+
20
+ import androidx.annotation.Sampled
21
+ import androidx.compose.foundation.layout.size
22
+ import androidx.compose.material.icons.Icons
23
+ import androidx.compose.material.icons.filled.Warning
24
+ import androidx.compose.runtime.Composable
25
+ import androidx.compose.ui.Modifier
26
+ import androidx.compose.ui.graphics.StrokeCap.Companion.Round
27
+ import androidx.compose.ui.text.style.TextOverflow
28
+ import androidx.compose.ui.unit.dp
29
+ import androidx.wear.compose.foundation.CurvedDirection
30
+ import androidx.wear.compose.foundation.CurvedLayout
31
+ import androidx.wear.compose.foundation.CurvedModifier
32
+ import androidx.wear.compose.foundation.angularSizeDp
33
+ import androidx.wear.compose.foundation.background
34
+ import androidx.wear.compose.foundation.curvedBox
35
+ import androidx.wear.compose.foundation.curvedComposable
36
+ import androidx.wear.compose.foundation.curvedRow
37
+ import androidx.wear.compose.material3.ButtonDefaults
38
+ import androidx.wear.compose.material3.CurvedTextDefaults
39
+ import androidx.wear.compose.material3.Icon
40
+ import androidx.wear.compose.material3.MaterialTheme
41
+ import androidx.wear.compose.material3.curvedText
42
+
43
+ @Sampled
44
+ @Composable
45
+ fun CurvedTextTop() {
46
+ val backgroundColor = MaterialTheme.colorScheme.onPrimary
47
+ val customColor = MaterialTheme.colorScheme.tertiaryDim
48
+ CurvedLayout {
49
+ curvedRow(CurvedModifier.background(backgroundColor, Round)) {
50
+ curvedText("Calling", color = customColor)
51
+ curvedBox(CurvedModifier.angularSizeDp(5.dp)) {}
52
+ curvedText("Camilia Garcia")
53
+ }
54
+ }
55
+ }
56
+
57
+ @Sampled
58
+ @Composable
59
+ fun CurvedTextBottom() {
60
+ val backgroundColor = MaterialTheme.colorScheme.onPrimary
61
+ CurvedLayout(anchor = 90f, angularDirection = CurvedDirection.Angular.Reversed) {
62
+ curvedRow(CurvedModifier.background(backgroundColor, Round)) {
63
+ curvedComposable {
64
+ Icon(
65
+ Icons.Filled.Warning,
66
+ contentDescription = "Warning",
67
+ modifier = Modifier.size(ButtonDefaults.IconSize),
68
+ )
69
+ }
70
+ curvedText(
71
+ "Network lost",
72
+ maxSweepAngle = CurvedTextDefaults.StaticContentMaxSweepAngle,
73
+ overflow = TextOverflow.Ellipsis,
74
+ )
75
+ }
76
+ }
77
+ }
78
+ ```
@@ -0,0 +1,131 @@
1
+ ```
2
+ /*
3
+ * Copyright 2024 The Android Open Source Project
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ package androidx.wear.compose.material3.samples
19
+
20
+ import androidx.annotation.Sampled
21
+ import androidx.compose.foundation.layout.Box
22
+ import androidx.compose.foundation.layout.fillMaxSize
23
+ import androidx.compose.material.icons.Icons
24
+ import androidx.compose.material.icons.filled.Edit
25
+ import androidx.compose.runtime.Composable
26
+ import androidx.compose.runtime.getValue
27
+ import androidx.compose.runtime.mutableStateOf
28
+ import androidx.compose.runtime.remember
29
+ import androidx.compose.runtime.setValue
30
+ import androidx.compose.ui.Alignment
31
+ import androidx.compose.ui.Modifier
32
+ import androidx.compose.ui.platform.LocalConfiguration
33
+ import androidx.wear.compose.material3.Button
34
+ import androidx.wear.compose.material3.DatePicker
35
+ import androidx.wear.compose.material3.DatePickerType
36
+ import androidx.wear.compose.material3.Icon
37
+ import androidx.wear.compose.material3.Text
38
+ import java.time.LocalDate
39
+ import java.time.format.DateTimeFormatter
40
+ import java.time.format.FormatStyle
41
+
42
+ @Sampled
43
+ @Composable
44
+ fun DatePickerSample() {
45
+ var showDatePicker by remember { mutableStateOf(true) }
46
+ var datePickerDate by remember { mutableStateOf(LocalDate.now()) }
47
+ val formatter =
48
+ DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
49
+ .withLocale(LocalConfiguration.current.locales[0])
50
+ if (showDatePicker) {
51
+ DatePicker(
52
+ initialDate = datePickerDate, // Initialize with last picked date on reopen
53
+ onDatePicked = {
54
+ datePickerDate = it
55
+ showDatePicker = false
56
+ },
57
+ )
58
+ } else {
59
+ Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
60
+ Button(
61
+ onClick = { showDatePicker = true },
62
+ label = { Text("Selected Date") },
63
+ secondaryLabel = { Text(datePickerDate.format(formatter)) },
64
+ icon = { Icon(imageVector = Icons.Filled.Edit, contentDescription = "Edit") },
65
+ )
66
+ }
67
+ }
68
+ }
69
+
70
+ @Sampled
71
+ @Composable
72
+ fun DatePickerYearMonthDaySample() {
73
+ var showDatePicker by remember { mutableStateOf(true) }
74
+ var datePickerDate by remember { mutableStateOf(LocalDate.now()) }
75
+
76
+ val formatter =
77
+ DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
78
+ .withLocale(LocalConfiguration.current.locales[0])
79
+
80
+ if (showDatePicker) {
81
+ DatePicker(
82
+ initialDate = datePickerDate, // Initialize with last picked date on reopen
83
+ onDatePicked = {
84
+ datePickerDate = it
85
+ showDatePicker = false
86
+ },
87
+ datePickerType = DatePickerType.YearMonthDay,
88
+ )
89
+ } else {
90
+ Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
91
+ Button(
92
+ onClick = { showDatePicker = true },
93
+ label = { Text("Selected Date") },
94
+ secondaryLabel = { Text(datePickerDate.format(formatter)) },
95
+ icon = { Icon(imageVector = Icons.Filled.Edit, contentDescription = "Edit") },
96
+ )
97
+ }
98
+ }
99
+ }
100
+
101
+ @Sampled
102
+ @Composable
103
+ fun DatePickerFutureOnlySample() {
104
+ val currentDate = LocalDate.now()
105
+ var showDatePicker by remember { mutableStateOf(true) }
106
+ var datePickerDate by remember { mutableStateOf(LocalDate.now()) }
107
+ val formatter =
108
+ DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
109
+ .withLocale(LocalConfiguration.current.locales[0])
110
+ if (showDatePicker) {
111
+ DatePicker(
112
+ initialDate = datePickerDate, // Initialize with last picked date on reopen
113
+ onDatePicked = {
114
+ datePickerDate = it
115
+ showDatePicker = false
116
+ },
117
+ datePickerType = DatePickerType.YearMonthDay,
118
+ minValidDate = currentDate,
119
+ )
120
+ } else {
121
+ Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
122
+ Button(
123
+ onClick = { showDatePicker = true },
124
+ label = { Text("Selected Date") },
125
+ secondaryLabel = { Text(datePickerDate.format(formatter)) },
126
+ icon = { Icon(imageVector = Icons.Filled.Edit, contentDescription = "Edit") },
127
+ )
128
+ }
129
+ }
130
+ }
131
+ ```