react-native-acoustic-connect 19.0.11 → 19.0.34

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 (380) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/ConnectConfig.example.json +1 -1
  3. package/README.md +426 -3
  4. package/android/build.gradle +119 -3
  5. package/android/config.gradle +123 -13
  6. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  7. package/android/src/main/assets/EOCoreAdvancedConfig.json +1 -1
  8. package/android/src/main/assets/TealeafAdvancedConfig.json +1 -1
  9. package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +457 -37
  10. package/app.plugin.js +2 -2
  11. package/ios/AcousticConnectRNConfig.json +2 -2
  12. package/ios/ConnectRNParsing.swift +229 -0
  13. package/ios/HybridAcousticConnectRN.swift +290 -30
  14. package/lib/commonjs/TLTRN.js +116 -3
  15. package/lib/commonjs/TLTRN.js.map +1 -1
  16. package/lib/commonjs/components/Connect.js +145 -27
  17. package/lib/commonjs/components/Connect.js.map +1 -1
  18. package/lib/commonjs/index.js +3 -0
  19. package/lib/commonjs/index.js.map +1 -1
  20. package/lib/module/TLTRN.js +116 -3
  21. package/lib/module/TLTRN.js.map +1 -1
  22. package/lib/module/components/Connect.js +146 -28
  23. package/lib/module/components/Connect.js.map +1 -1
  24. package/lib/module/index.js +5 -0
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/typescript/src/TLTRN.d.ts +85 -1
  27. package/lib/typescript/src/TLTRN.d.ts.map +1 -1
  28. package/lib/typescript/src/components/Connect.d.ts.map +1 -1
  29. package/lib/typescript/src/index.d.ts +1 -0
  30. package/lib/typescript/src/index.d.ts.map +1 -1
  31. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts +190 -10
  32. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
  33. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +5 -9
  34. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +1 -1
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +2 -1
  36. package/nitrogen/generated/ios/AcousticConnectRN-Swift-Cxx-Umbrella.hpp +1 -0
  37. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +2 -1
  38. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +1 -1
  39. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +2 -25
  40. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +2 -1
  41. package/package.json +6 -8
  42. package/plugin/build/withConnectAndroidConfig.d.ts +2 -2
  43. package/plugin/build/withConnectAndroidConfig.js +2 -2
  44. package/plugin/build/withConnectIosSigning.d.ts +1 -1
  45. package/plugin/build/withConnectIosSigning.js +1 -1
  46. package/plugin/src/withConnectAndroidConfig.ts +2 -2
  47. package/plugin/src/withConnectIosSigning.ts +1 -1
  48. package/scripts/gradleParser.js +1 -1
  49. package/src/TLTRN.ts +125 -4
  50. package/src/components/Connect.tsx +150 -27
  51. package/src/index.ts +5 -0
  52. package/src/specs/react-native-acoustic-connect.nitro.ts +192 -10
  53. package/Examples/SampleUI/.bundle/config +0 -2
  54. package/Examples/SampleUI/.detoxrc.js +0 -83
  55. package/Examples/SampleUI/.eslintrc.js +0 -4
  56. package/Examples/SampleUI/.prettierrc.js +0 -7
  57. package/Examples/SampleUI/.watchmanconfig +0 -1
  58. package/Examples/SampleUI/App.js +0 -1
  59. package/Examples/SampleUI/Gemfile +0 -10
  60. package/Examples/SampleUI/Gemfile.lock +0 -121
  61. package/Examples/SampleUI/README.md +0 -79
  62. package/Examples/SampleUI/__tests__/App.test.tsx +0 -17
  63. package/Examples/SampleUI/android/app/build.gradle +0 -129
  64. package/Examples/SampleUI/android/app/debug.keystore +0 -0
  65. package/Examples/SampleUI/android/app/proguard-rules.pro +0 -10
  66. package/Examples/SampleUI/android/app/src/debug/AndroidManifest.xml +0 -9
  67. package/Examples/SampleUI/android/app/src/main/AndroidManifest.xml +0 -31
  68. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -30
  69. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainApplication.kt +0 -53
  70. package/Examples/SampleUI/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  71. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  72. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  73. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  74. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  75. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  76. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  77. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  78. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  79. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  80. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  81. package/Examples/SampleUI/android/app/src/main/res/values/strings.xml +0 -3
  82. package/Examples/SampleUI/android/app/src/main/res/values/styles.xml +0 -9
  83. package/Examples/SampleUI/android/build.gradle +0 -21
  84. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  85. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  86. package/Examples/SampleUI/android/gradle.properties +0 -39
  87. package/Examples/SampleUI/android/gradlew +0 -252
  88. package/Examples/SampleUI/android/gradlew.bat +0 -94
  89. package/Examples/SampleUI/android/settings.gradle +0 -21
  90. package/Examples/SampleUI/app.json +0 -51
  91. package/Examples/SampleUI/assets/fonts/Abel-Regular.ttf +0 -0
  92. package/Examples/SampleUI/assets/fonts/NotoSans-Regular.ttf +0 -0
  93. package/Examples/SampleUI/assets/images/android-icon.png +0 -0
  94. package/Examples/SampleUI/assets/images/artist-1.jpg +0 -0
  95. package/Examples/SampleUI/assets/images/artist-2.jpg +0 -0
  96. package/Examples/SampleUI/assets/images/avatar.png +0 -0
  97. package/Examples/SampleUI/assets/images/beach.jpg +0 -0
  98. package/Examples/SampleUI/assets/images/bridge.jpg +0 -0
  99. package/Examples/SampleUI/assets/images/chameleon.jpg +0 -0
  100. package/Examples/SampleUI/assets/images/city.jpg +0 -0
  101. package/Examples/SampleUI/assets/images/email-icon.png +0 -0
  102. package/Examples/SampleUI/assets/images/favorite.png +0 -0
  103. package/Examples/SampleUI/assets/images/forest.jpg +0 -0
  104. package/Examples/SampleUI/assets/images/paper-icon.png +0 -0
  105. package/Examples/SampleUI/assets/images/players-2.jpg +0 -0
  106. package/Examples/SampleUI/assets/images/players.jpg +0 -0
  107. package/Examples/SampleUI/assets/images/restaurant-1.jpg +0 -0
  108. package/Examples/SampleUI/assets/images/restaurant-2.jpg +0 -0
  109. package/Examples/SampleUI/assets/images/song-1.jpg +0 -0
  110. package/Examples/SampleUI/assets/images/song-2.jpg +0 -0
  111. package/Examples/SampleUI/assets/images/splash.png +0 -0
  112. package/Examples/SampleUI/assets/images/strawberries.jpg +0 -0
  113. package/Examples/SampleUI/assets/images/wrecked-ship.jpg +0 -0
  114. package/Examples/SampleUI/assets/styles/fonts.css +0 -47
  115. package/Examples/SampleUI/babel.config.js +0 -22
  116. package/Examples/SampleUI/index.js +0 -9
  117. package/Examples/SampleUI/ios/.xcode.env +0 -11
  118. package/Examples/SampleUI/ios/Podfile +0 -71
  119. package/Examples/SampleUI/ios/Podfile.lock +0 -2276
  120. package/Examples/SampleUI/ios/SampleUI/AppDelegate.h +0 -7
  121. package/Examples/SampleUI/ios/SampleUI/AppDelegate.mm +0 -31
  122. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  123. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/Contents.json +0 -6
  124. package/Examples/SampleUI/ios/SampleUI/Info.plist +0 -52
  125. package/Examples/SampleUI/ios/SampleUI/LaunchScreen.storyboard +0 -47
  126. package/Examples/SampleUI/ios/SampleUI/PrivacyInfo.xcprivacy +0 -48
  127. package/Examples/SampleUI/ios/SampleUI/main.m +0 -10
  128. package/Examples/SampleUI/ios/SampleUI.xcodeproj/project.pbxproj +0 -785
  129. package/Examples/SampleUI/ios/SampleUI.xcodeproj/xcshareddata/xcschemes/SampleUI.xcscheme +0 -105
  130. package/Examples/SampleUI/ios/SampleUI.xcworkspace/contents.xcworkspacedata +0 -10
  131. package/Examples/SampleUI/ios/SampleUITests/Info.plist +0 -24
  132. package/Examples/SampleUI/ios/SampleUITests/SampleUITests.m +0 -66
  133. package/Examples/SampleUI/jest.config.js +0 -3
  134. package/Examples/SampleUI/metro.config.js +0 -54
  135. package/Examples/SampleUI/package.json +0 -65
  136. package/Examples/SampleUI/scripts/integration-test-android.sh +0 -292
  137. package/Examples/SampleUI/src/DrawerItems.tsx +0 -322
  138. package/Examples/SampleUI/src/ExampleList.tsx +0 -175
  139. package/Examples/SampleUI/src/Examples/ActivityIndicatorExample.tsx +0 -73
  140. package/Examples/SampleUI/src/Examples/AnimatedFABExample/AnimatedFABExample.tsx +0 -220
  141. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFAB.tsx +0 -70
  142. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFABControls.tsx +0 -146
  143. package/Examples/SampleUI/src/Examples/AnimatedFABExample/index.ts +0 -1
  144. package/Examples/SampleUI/src/Examples/AppbarExample.tsx +0 -263
  145. package/Examples/SampleUI/src/Examples/AvatarExample.tsx +0 -76
  146. package/Examples/SampleUI/src/Examples/BadgeExample.tsx +0 -97
  147. package/Examples/SampleUI/src/Examples/BannerExample.tsx +0 -152
  148. package/Examples/SampleUI/src/Examples/BottomNavigationBarExample.tsx +0 -94
  149. package/Examples/SampleUI/src/Examples/BottomNavigationExample.tsx +0 -205
  150. package/Examples/SampleUI/src/Examples/ButtonExample.tsx +0 -405
  151. package/Examples/SampleUI/src/Examples/CardExample.tsx +0 -245
  152. package/Examples/SampleUI/src/Examples/CheckboxExample.tsx +0 -87
  153. package/Examples/SampleUI/src/Examples/CheckboxItemExample.tsx +0 -72
  154. package/Examples/SampleUI/src/Examples/ChipExample.tsx +0 -432
  155. package/Examples/SampleUI/src/Examples/DataTableExample.tsx +0 -128
  156. package/Examples/SampleUI/src/Examples/DialogExample.tsx +0 -217
  157. package/Examples/SampleUI/src/Examples/Dialogs/DialogTextComponent.tsx +0 -31
  158. package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +0 -307
  159. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithCustomColors.tsx +0 -57
  160. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithDismissableBackButton.tsx +0 -38
  161. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithIcon.tsx +0 -42
  162. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLoadingIndicator.tsx +0 -48
  163. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLongText.tsx +0 -81
  164. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithRadioBtns.tsx +0 -111
  165. package/Examples/SampleUI/src/Examples/Dialogs/UndismissableDialog.tsx +0 -30
  166. package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +0 -44
  167. package/Examples/SampleUI/src/Examples/DividerExample.tsx +0 -30
  168. package/Examples/SampleUI/src/Examples/FABExample.tsx +0 -226
  169. package/Examples/SampleUI/src/Examples/IconButtonExample.tsx +0 -230
  170. package/Examples/SampleUI/src/Examples/IconExample.tsx +0 -50
  171. package/Examples/SampleUI/src/Examples/ListAccordionExample.tsx +0 -65
  172. package/Examples/SampleUI/src/Examples/ListAccordionGroupExample.tsx +0 -80
  173. package/Examples/SampleUI/src/Examples/ListItemExample.tsx +0 -310
  174. package/Examples/SampleUI/src/Examples/ListSectionExample.tsx +0 -159
  175. package/Examples/SampleUI/src/Examples/MaterialBottomTabNavigatorExample.tsx +0 -87
  176. package/Examples/SampleUI/src/Examples/MenuExample.tsx +0 -211
  177. package/Examples/SampleUI/src/Examples/ProgressBarExample.tsx +0 -142
  178. package/Examples/SampleUI/src/Examples/RadioButtonExample.tsx +0 -104
  179. package/Examples/SampleUI/src/Examples/RadioButtonGroupExample.tsx +0 -67
  180. package/Examples/SampleUI/src/Examples/RadioButtonItemExample.tsx +0 -77
  181. package/Examples/SampleUI/src/Examples/SearchbarExample.tsx +0 -249
  182. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonCustomColorCheck.tsx +0 -93
  183. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDefault.tsx +0 -49
  184. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDisabled.tsx +0 -47
  185. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselect.tsx +0 -50
  186. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectIcons.tsx +0 -49
  187. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectRealCase.tsx +0 -114
  188. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIcons.tsx +0 -40
  189. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIconsWithCheck.tsx +0 -43
  190. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonRealCase.tsx +0 -97
  191. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithDensity.tsx +0 -47
  192. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithSelectedCheck.tsx +0 -52
  193. package/Examples/SampleUI/src/Examples/SegmentedButtons/index.ts +0 -9
  194. package/Examples/SampleUI/src/Examples/SegmentedButtonsExample.tsx +0 -57
  195. package/Examples/SampleUI/src/Examples/SnackbarExample.tsx +0 -141
  196. package/Examples/SampleUI/src/Examples/SurfaceExample.tsx +0 -130
  197. package/Examples/SampleUI/src/Examples/SwitchExample.tsx +0 -105
  198. package/Examples/SampleUI/src/Examples/TeamDetails.tsx +0 -291
  199. package/Examples/SampleUI/src/Examples/TeamsList.tsx +0 -57
  200. package/Examples/SampleUI/src/Examples/TextExample.tsx +0 -132
  201. package/Examples/SampleUI/src/Examples/TextInputExample.tsx +0 -914
  202. package/Examples/SampleUI/src/Examples/ThemeExample.tsx +0 -41
  203. package/Examples/SampleUI/src/Examples/ThemingWithReactNavigation.tsx +0 -75
  204. package/Examples/SampleUI/src/Examples/ToggleButtonExample.tsx +0 -128
  205. package/Examples/SampleUI/src/Examples/TooltipExample.tsx +0 -191
  206. package/Examples/SampleUI/src/Examples/TouchableRippleExample.tsx +0 -37
  207. package/Examples/SampleUI/src/RootNavigator.tsx +0 -95
  208. package/Examples/SampleUI/src/ScreenWrapper.tsx +0 -67
  209. package/Examples/SampleUI/src/components/ActivityIndicator.tsx +0 -254
  210. package/Examples/SampleUI/src/components/Appbar/Appbar.tsx +0 -364
  211. package/Examples/SampleUI/src/components/Appbar/AppbarAction.tsx +0 -132
  212. package/Examples/SampleUI/src/components/Appbar/AppbarBackAction.tsx +0 -77
  213. package/Examples/SampleUI/src/components/Appbar/AppbarBackIcon.tsx +0 -52
  214. package/Examples/SampleUI/src/components/Appbar/AppbarContent.tsx +0 -249
  215. package/Examples/SampleUI/src/components/Appbar/AppbarHeader.tsx +0 -174
  216. package/Examples/SampleUI/src/components/Appbar/index.ts +0 -22
  217. package/Examples/SampleUI/src/components/Appbar/utils.ts +0 -188
  218. package/Examples/SampleUI/src/components/Avatar/Avatar.tsx +0 -8
  219. package/Examples/SampleUI/src/components/Avatar/AvatarIcon.tsx +0 -87
  220. package/Examples/SampleUI/src/components/Avatar/AvatarImage.tsx +0 -128
  221. package/Examples/SampleUI/src/components/Avatar/AvatarText.tsx +0 -127
  222. package/Examples/SampleUI/src/components/Badge.tsx +0 -138
  223. package/Examples/SampleUI/src/components/Banner.tsx +0 -302
  224. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigation.tsx +0 -643
  225. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationBar.tsx +0 -1039
  226. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationRouteScreen.tsx +0 -31
  227. package/Examples/SampleUI/src/components/BottomNavigation/utils.ts +0 -70
  228. package/Examples/SampleUI/src/components/Button/Button.tsx +0 -503
  229. package/Examples/SampleUI/src/components/Button/utils.tsx +0 -272
  230. package/Examples/SampleUI/src/components/Card/Card.tsx +0 -373
  231. package/Examples/SampleUI/src/components/Card/CardActions.tsx +0 -74
  232. package/Examples/SampleUI/src/components/Card/CardContent.tsx +0 -99
  233. package/Examples/SampleUI/src/components/Card/CardCover.tsx +0 -96
  234. package/Examples/SampleUI/src/components/Card/CardTitle.tsx +0 -236
  235. package/Examples/SampleUI/src/components/Card/utils.tsx +0 -110
  236. package/Examples/SampleUI/src/components/Checkbox/Checkbox.tsx +0 -78
  237. package/Examples/SampleUI/src/components/Checkbox/CheckboxAndroid.tsx +0 -180
  238. package/Examples/SampleUI/src/components/Checkbox/CheckboxIOS.tsx +0 -104
  239. package/Examples/SampleUI/src/components/Checkbox/CheckboxItem.tsx +0 -236
  240. package/Examples/SampleUI/src/components/Checkbox/index.ts +0 -19
  241. package/Examples/SampleUI/src/components/Checkbox/utils.ts +0 -183
  242. package/Examples/SampleUI/src/components/Chip/Chip.tsx +0 -513
  243. package/Examples/SampleUI/src/components/Chip/helpers.tsx +0 -322
  244. package/Examples/SampleUI/src/components/CrossFadeIcon.tsx +0 -140
  245. package/Examples/SampleUI/src/components/DataTable/DataTable.tsx +0 -138
  246. package/Examples/SampleUI/src/components/DataTable/DataTableCell.tsx +0 -132
  247. package/Examples/SampleUI/src/components/DataTable/DataTableHeader.tsx +0 -82
  248. package/Examples/SampleUI/src/components/DataTable/DataTablePagination.tsx +0 -407
  249. package/Examples/SampleUI/src/components/DataTable/DataTableRow.tsx +0 -107
  250. package/Examples/SampleUI/src/components/DataTable/DataTableTitle.tsx +0 -208
  251. package/Examples/SampleUI/src/components/Dialog/Dialog.tsx +0 -191
  252. package/Examples/SampleUI/src/components/Dialog/DialogActions.tsx +0 -94
  253. package/Examples/SampleUI/src/components/Dialog/DialogContent.tsx +0 -54
  254. package/Examples/SampleUI/src/components/Dialog/DialogIcon.tsx +0 -100
  255. package/Examples/SampleUI/src/components/Dialog/DialogScrollArea.tsx +0 -88
  256. package/Examples/SampleUI/src/components/Dialog/DialogTitle.tsx +0 -94
  257. package/Examples/SampleUI/src/components/Divider.tsx +0 -102
  258. package/Examples/SampleUI/src/components/Drawer/Drawer.tsx +0 -8
  259. package/Examples/SampleUI/src/components/Drawer/DrawerCollapsedItem.tsx +0 -282
  260. package/Examples/SampleUI/src/components/Drawer/DrawerItem.tsx +0 -209
  261. package/Examples/SampleUI/src/components/Drawer/DrawerSection.tsx +0 -138
  262. package/Examples/SampleUI/src/components/FAB/AnimatedFAB.tsx +0 -619
  263. package/Examples/SampleUI/src/components/FAB/FAB.tsx +0 -371
  264. package/Examples/SampleUI/src/components/FAB/FABGroup.tsx +0 -532
  265. package/Examples/SampleUI/src/components/FAB/index.ts +0 -13
  266. package/Examples/SampleUI/src/components/FAB/utils.ts +0 -474
  267. package/Examples/SampleUI/src/components/HelperText/HelperText.tsx +0 -168
  268. package/Examples/SampleUI/src/components/HelperText/utils.ts +0 -30
  269. package/Examples/SampleUI/src/components/Icon.tsx +0 -170
  270. package/Examples/SampleUI/src/components/IconButton/IconButton.tsx +0 -234
  271. package/Examples/SampleUI/src/components/IconButton/utils.ts +0 -190
  272. package/Examples/SampleUI/src/components/List/List.tsx +0 -20
  273. package/Examples/SampleUI/src/components/List/ListAccordion.tsx +0 -391
  274. package/Examples/SampleUI/src/components/List/ListAccordionGroup.tsx +0 -88
  275. package/Examples/SampleUI/src/components/List/ListIcon.tsx +0 -79
  276. package/Examples/SampleUI/src/components/List/ListImage.tsx +0 -89
  277. package/Examples/SampleUI/src/components/List/ListItem.tsx +0 -313
  278. package/Examples/SampleUI/src/components/List/ListSection.tsx +0 -87
  279. package/Examples/SampleUI/src/components/List/ListSubheader.tsx +0 -79
  280. package/Examples/SampleUI/src/components/List/utils.ts +0 -113
  281. package/Examples/SampleUI/src/components/MaterialCommunityIcon.tsx +0 -121
  282. package/Examples/SampleUI/src/components/Menu/Menu.tsx +0 -711
  283. package/Examples/SampleUI/src/components/Menu/MenuItem.tsx +0 -257
  284. package/Examples/SampleUI/src/components/Menu/utils.ts +0 -110
  285. package/Examples/SampleUI/src/components/Modal.tsx +0 -245
  286. package/Examples/SampleUI/src/components/Portal/Portal.tsx +0 -69
  287. package/Examples/SampleUI/src/components/Portal/PortalConsumer.tsx +0 -44
  288. package/Examples/SampleUI/src/components/Portal/PortalHost.tsx +0 -143
  289. package/Examples/SampleUI/src/components/Portal/PortalManager.tsx +0 -54
  290. package/Examples/SampleUI/src/components/ProgressBar.tsx +0 -292
  291. package/Examples/SampleUI/src/components/RadioButton/RadioButton.tsx +0 -86
  292. package/Examples/SampleUI/src/components/RadioButton/RadioButtonAndroid.tsx +0 -202
  293. package/Examples/SampleUI/src/components/RadioButton/RadioButtonGroup.tsx +0 -67
  294. package/Examples/SampleUI/src/components/RadioButton/RadioButtonIOS.tsx +0 -130
  295. package/Examples/SampleUI/src/components/RadioButton/RadioButtonItem.tsx +0 -268
  296. package/Examples/SampleUI/src/components/RadioButton/index.ts +0 -22
  297. package/Examples/SampleUI/src/components/RadioButton/utils.ts +0 -37
  298. package/Examples/SampleUI/src/components/Searchbar.tsx +0 -459
  299. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtonItem.tsx +0 -271
  300. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtons.tsx +0 -197
  301. package/Examples/SampleUI/src/components/SegmentedButtons/utils.ts +0 -179
  302. package/Examples/SampleUI/src/components/Snackbar.tsx +0 -430
  303. package/Examples/SampleUI/src/components/Surface.tsx +0 -376
  304. package/Examples/SampleUI/src/components/Switch/Switch.tsx +0 -108
  305. package/Examples/SampleUI/src/components/Switch/utils.ts +0 -113
  306. package/Examples/SampleUI/src/components/TextInput/Addons/Outline.tsx +0 -64
  307. package/Examples/SampleUI/src/components/TextInput/Addons/Underline.tsx +0 -78
  308. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAdornment.tsx +0 -208
  309. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAffix.tsx +0 -212
  310. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputIcon.tsx +0 -195
  311. package/Examples/SampleUI/src/components/TextInput/Adornment/enums.tsx +0 -12
  312. package/Examples/SampleUI/src/components/TextInput/Adornment/types.tsx +0 -11
  313. package/Examples/SampleUI/src/components/TextInput/Adornment/utils.ts +0 -48
  314. package/Examples/SampleUI/src/components/TextInput/Label/InputLabel.tsx +0 -217
  315. package/Examples/SampleUI/src/components/TextInput/Label/LabelBackground.tsx +0 -100
  316. package/Examples/SampleUI/src/components/TextInput/TextInput.tsx +0 -572
  317. package/Examples/SampleUI/src/components/TextInput/TextInputFlat.tsx +0 -475
  318. package/Examples/SampleUI/src/components/TextInput/TextInputOutlined.tsx +0 -450
  319. package/Examples/SampleUI/src/components/TextInput/constants.tsx +0 -48
  320. package/Examples/SampleUI/src/components/TextInput/helpers.tsx +0 -612
  321. package/Examples/SampleUI/src/components/TextInput/types.tsx +0 -155
  322. package/Examples/SampleUI/src/components/ToggleButton/ToggleButton.tsx +0 -187
  323. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonGroup.tsx +0 -72
  324. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonRow.tsx +0 -107
  325. package/Examples/SampleUI/src/components/ToggleButton/index.ts +0 -16
  326. package/Examples/SampleUI/src/components/ToggleButton/utils.ts +0 -26
  327. package/Examples/SampleUI/src/components/Tooltip/Tooltip.tsx +0 -249
  328. package/Examples/SampleUI/src/components/Tooltip/utils.ts +0 -129
  329. package/Examples/SampleUI/src/components/TouchableRipple/Pressable.tsx +0 -41
  330. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.native.tsx +0 -145
  331. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.tsx +0 -317
  332. package/Examples/SampleUI/src/components/TouchableRipple/utils.ts +0 -66
  333. package/Examples/SampleUI/src/components/Typography/AnimatedText.tsx +0 -107
  334. package/Examples/SampleUI/src/components/Typography/Text.tsx +0 -184
  335. package/Examples/SampleUI/src/components/Typography/types.tsx +0 -5
  336. package/Examples/SampleUI/src/components/Typography/v2/Caption.tsx +0 -50
  337. package/Examples/SampleUI/src/components/Typography/v2/Headline.tsx +0 -52
  338. package/Examples/SampleUI/src/components/Typography/v2/Paragraph.tsx +0 -49
  339. package/Examples/SampleUI/src/components/Typography/v2/StyledText.tsx +0 -56
  340. package/Examples/SampleUI/src/components/Typography/v2/Subheading.tsx +0 -50
  341. package/Examples/SampleUI/src/components/Typography/v2/Text.tsx +0 -62
  342. package/Examples/SampleUI/src/components/Typography/v2/Title.tsx +0 -49
  343. package/Examples/SampleUI/src/components/Typography/v2/index.ts +0 -5
  344. package/Examples/SampleUI/src/core/PaperProvider.tsx +0 -122
  345. package/Examples/SampleUI/src/core/SafeAreaProviderCompat.tsx +0 -65
  346. package/Examples/SampleUI/src/core/settings.tsx +0 -23
  347. package/Examples/SampleUI/src/core/theming.tsx +0 -170
  348. package/Examples/SampleUI/src/index.native.tsx +0 -285
  349. package/Examples/SampleUI/src/index.tsx +0 -226
  350. package/Examples/SampleUI/src/react-navigation/index.tsx +0 -19
  351. package/Examples/SampleUI/src/react-navigation/navigators/createMaterialBottomTabNavigator.tsx +0 -72
  352. package/Examples/SampleUI/src/react-navigation/types.tsx +0 -126
  353. package/Examples/SampleUI/src/react-navigation/views/MaterialBottomTabView.tsx +0 -140
  354. package/Examples/SampleUI/src/styles/__tests__/fonts.test.js +0 -290
  355. package/Examples/SampleUI/src/styles/fonts.tsx +0 -143
  356. package/Examples/SampleUI/src/styles/overlay.tsx +0 -70
  357. package/Examples/SampleUI/src/styles/shadow.tsx +0 -109
  358. package/Examples/SampleUI/src/styles/themes/index.ts +0 -4
  359. package/Examples/SampleUI/src/styles/themes/v2/DarkTheme.tsx +0 -30
  360. package/Examples/SampleUI/src/styles/themes/v2/LightTheme.tsx +0 -30
  361. package/Examples/SampleUI/src/styles/themes/v2/colors.tsx +0 -277
  362. package/Examples/SampleUI/src/styles/themes/v3/DarkTheme.tsx +0 -66
  363. package/Examples/SampleUI/src/styles/themes/v3/LightTheme.tsx +0 -69
  364. package/Examples/SampleUI/src/styles/themes/v3/tokens.tsx +0 -230
  365. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.native.tsx +0 -3
  366. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.tsx +0 -11
  367. package/Examples/SampleUI/src/utils/addEventListener.tsx +0 -56
  368. package/Examples/SampleUI/src/utils/forwardRef.tsx +0 -23
  369. package/Examples/SampleUI/src/utils/getContrastingColor.tsx +0 -15
  370. package/Examples/SampleUI/src/utils/hasTouchHandler.tsx +0 -23
  371. package/Examples/SampleUI/src/utils/roundLayoutSize.ts +0 -2
  372. package/Examples/SampleUI/src/utils/splitStyles.ts +0 -60
  373. package/Examples/SampleUI/src/utils/useAnimatedValue.tsx +0 -9
  374. package/Examples/SampleUI/src/utils/useAnimatedValueArray.tsx +0 -13
  375. package/Examples/SampleUI/src/utils/useIsKeyboardShown.tsx +0 -55
  376. package/Examples/SampleUI/src/utils/useLayout.tsx +0 -29
  377. package/Examples/SampleUI/src/utils/useLazyRef.tsx +0 -11
  378. package/Examples/SampleUI/tsconfig.json +0 -3
  379. package/Examples/SampleUI/utils/index.ts +0 -1426
  380. package/cli/__tests__/doctor.test.mjs +0 -88
@@ -1,105 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Scheme
3
- LastUpgradeVersion = "1210"
4
- version = "1.3">
5
- <BuildAction
6
- parallelizeBuildables = "YES"
7
- buildImplicitDependencies = "YES">
8
- <BuildActionEntries>
9
- <BuildActionEntry
10
- buildForTesting = "YES"
11
- buildForRunning = "YES"
12
- buildForProfiling = "YES"
13
- buildForArchiving = "YES"
14
- buildForAnalyzing = "YES">
15
- <BuildableReference
16
- BuildableIdentifier = "primary"
17
- BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
18
- BuildableName = "SampleUI.app"
19
- BlueprintName = "SampleUI"
20
- ReferencedContainer = "container:SampleUI.xcodeproj">
21
- </BuildableReference>
22
- </BuildActionEntry>
23
- </BuildActionEntries>
24
- </BuildAction>
25
- <TestAction
26
- buildConfiguration = "Debug"
27
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
- shouldUseLaunchSchemeArgsEnv = "YES">
30
- <Testables>
31
- <TestableReference
32
- skipped = "NO">
33
- <BuildableReference
34
- BuildableIdentifier = "primary"
35
- BlueprintIdentifier = "00E356ED1AD99517003FC87E"
36
- BuildableName = "SampleUITests.xctest"
37
- BlueprintName = "SampleUITests"
38
- ReferencedContainer = "container:SampleUI.xcodeproj">
39
- </BuildableReference>
40
- </TestableReference>
41
- </Testables>
42
- </TestAction>
43
- <LaunchAction
44
- buildConfiguration = "Debug"
45
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
46
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
47
- launchStyle = "0"
48
- useCustomWorkingDirectory = "NO"
49
- ignoresPersistentStateOnLaunch = "NO"
50
- debugDocumentVersioning = "YES"
51
- debugServiceExtension = "internal"
52
- allowLocationSimulation = "YES">
53
- <BuildableProductRunnable
54
- runnableDebuggingMode = "0">
55
- <BuildableReference
56
- BuildableIdentifier = "primary"
57
- BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
58
- BuildableName = "SampleUI.app"
59
- BlueprintName = "SampleUI"
60
- ReferencedContainer = "container:SampleUI.xcodeproj">
61
- </BuildableReference>
62
- </BuildableProductRunnable>
63
- <EnvironmentVariables>
64
- <EnvironmentVariable
65
- key = "EODebug"
66
- value = "1"
67
- isEnabled = "YES">
68
- </EnvironmentVariable>
69
- <EnvironmentVariable
70
- key = "TLF_DEBUG"
71
- value = "1"
72
- isEnabled = "YES">
73
- </EnvironmentVariable>
74
- <EnvironmentVariable
75
- key = "CONNECT_DEBUG"
76
- value = "1"
77
- isEnabled = "YES">
78
- </EnvironmentVariable>
79
- </EnvironmentVariables>
80
- </LaunchAction>
81
- <ProfileAction
82
- buildConfiguration = "Release"
83
- shouldUseLaunchSchemeArgsEnv = "YES"
84
- savedToolIdentifier = ""
85
- useCustomWorkingDirectory = "NO"
86
- debugDocumentVersioning = "YES">
87
- <BuildableProductRunnable
88
- runnableDebuggingMode = "0">
89
- <BuildableReference
90
- BuildableIdentifier = "primary"
91
- BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
92
- BuildableName = "SampleUI.app"
93
- BlueprintName = "SampleUI"
94
- ReferencedContainer = "container:SampleUI.xcodeproj">
95
- </BuildableReference>
96
- </BuildableProductRunnable>
97
- </ProfileAction>
98
- <AnalyzeAction
99
- buildConfiguration = "Debug">
100
- </AnalyzeAction>
101
- <ArchiveAction
102
- buildConfiguration = "Release"
103
- revealArchiveInOrganizer = "YES">
104
- </ArchiveAction>
105
- </Scheme>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "group:SampleUI.xcodeproj">
6
- </FileRef>
7
- <FileRef
8
- location = "group:Pods/Pods.xcodeproj">
9
- </FileRef>
10
- </Workspace>
@@ -1,24 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>CFBundleDevelopmentRegion</key>
6
- <string>en</string>
7
- <key>CFBundleExecutable</key>
8
- <string>$(EXECUTABLE_NAME)</string>
9
- <key>CFBundleIdentifier</key>
10
- <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11
- <key>CFBundleInfoDictionaryVersion</key>
12
- <string>6.0</string>
13
- <key>CFBundleName</key>
14
- <string>$(PRODUCT_NAME)</string>
15
- <key>CFBundlePackageType</key>
16
- <string>BNDL</string>
17
- <key>CFBundleShortVersionString</key>
18
- <string>1.0</string>
19
- <key>CFBundleSignature</key>
20
- <string>????</string>
21
- <key>CFBundleVersion</key>
22
- <string>1</string>
23
- </dict>
24
- </plist>
@@ -1,66 +0,0 @@
1
- #import <UIKit/UIKit.h>
2
- #import <XCTest/XCTest.h>
3
-
4
- #import <React/RCTLog.h>
5
- #import <React/RCTRootView.h>
6
-
7
- #define TIMEOUT_SECONDS 600
8
- #define TEXT_TO_LOOK_FOR @"Welcome to React"
9
-
10
- @interface SampleUITests : XCTestCase
11
-
12
- @end
13
-
14
- @implementation SampleUITests
15
-
16
- - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test
17
- {
18
- if (test(view)) {
19
- return YES;
20
- }
21
- for (UIView *subview in [view subviews]) {
22
- if ([self findSubviewInView:subview matching:test]) {
23
- return YES;
24
- }
25
- }
26
- return NO;
27
- }
28
-
29
- - (void)testRendersWelcomeScreen
30
- {
31
- UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
32
- NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
33
- BOOL foundElement = NO;
34
-
35
- __block NSString *redboxError = nil;
36
- #ifdef DEBUG
37
- RCTSetLogFunction(
38
- ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
39
- if (level >= RCTLogLevelError) {
40
- redboxError = message;
41
- }
42
- });
43
- #endif
44
-
45
- while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
46
- [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
47
- [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
48
-
49
- foundElement = [self findSubviewInView:vc.view
50
- matching:^BOOL(UIView *view) {
51
- if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
52
- return YES;
53
- }
54
- return NO;
55
- }];
56
- }
57
-
58
- #ifdef DEBUG
59
- RCTSetLogFunction(RCTDefaultLogFunction);
60
- #endif
61
-
62
- XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
63
- XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
64
- }
65
-
66
- @end
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- preset: 'react-native',
3
- };
@@ -1,54 +0,0 @@
1
- /* eslint-disable import/no-commonjs */
2
- const { getDefaultConfig } = require('@expo/metro-config');
3
- const escape = require('escape-string-regexp');
4
- const blacklist = require('metro-config/src/defaults/exclusionList');
5
- const path = require('path');
6
- const root = path.resolve(__dirname, '..');
7
- const defaultConfig = getDefaultConfig(__dirname);
8
-
9
- const modules = [
10
- '@expo/vector-icons',
11
- 'expo-constants',
12
- '@react-navigation/native',
13
- '@react-native/assets-registry',
14
- 'react',
15
- 'react-native',
16
- 'react-native-safe-area-context',
17
- 'react-native-vector-icons',
18
- '@expo/vector-icons',
19
- // 'react-native-acoustic-connect',
20
- ];
21
-
22
- module.exports = {
23
- ...defaultConfig,
24
-
25
- projectRoot: __dirname,
26
- watchFolders: [root],
27
-
28
- // We need to make sure that only one version is loaded for peerDependencies
29
- // So we blacklist them at the root, and alias them to the versions in example's node_modules
30
- resolver: {
31
- ...defaultConfig.resolver,
32
- blacklistRE: blacklist(
33
- modules.map(
34
- (m) =>
35
- new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`)
36
- )
37
- ),
38
-
39
- extraNodeModules: modules.reduce((acc, name) => {
40
- acc[name] = path.join(__dirname, 'node_modules', name);
41
- return acc;
42
- }, {}),
43
- },
44
-
45
- transformer: {
46
- ...defaultConfig.transformer,
47
- getTransformOptions: async () => ({
48
- transform: {
49
- experimentalImportSupport: false,
50
- inlineRequires: true,
51
- },
52
- }),
53
- },
54
- };
@@ -1,65 +0,0 @@
1
- {
2
- "name": "SampleUI",
3
- "version": "0.0.1",
4
- "private": true,
5
- "scripts": {
6
- "android": "react-native run-android",
7
- "ios": "cd ios && pod install && cd .. && react-native run-ios",
8
- "lint": "eslint .",
9
- "start": "react-native start",
10
- "test": "jest",
11
- "updateYalc": "yalc update react-native-acoustic-connect && cd ios && pod install && cd ..",
12
- "test:integration:android": "bash scripts/integration-test-android.sh"
13
- },
14
- "dependencies": {
15
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
16
- "@expo/vector-icons": "~14.0.4",
17
- "@pchmn/expo-material3-theme": "^1.3.2",
18
- "@react-native-async-storage/async-storage": "1.23.1",
19
- "@react-native-masked-view/masked-view": "^0.3.2",
20
- "@react-navigation/bottom-tabs": "^7.3.10",
21
- "@react-navigation/drawer": "^7.3.9",
22
- "@react-navigation/native": "^7.1.6",
23
- "@react-navigation/stack": "^7.2.10",
24
- "expo": "~52.0.0",
25
- "expo-font": "~13.0.4",
26
- "expo-status-bar": "~2.0.1",
27
- "react": "18.3.1",
28
- "react-native": "0.76.9",
29
- "react-native-acoustic-connect": "file:.yalc/react-native-acoustic-connect",
30
- "react-native-gesture-handler": "~2.20.2",
31
- "react-native-get-random-values": "^1.11.0",
32
- "react-native-nitro-modules": "^0.35.4",
33
- "react-native-paper": "^5.13.5",
34
- "react-native-reanimated": "~3.16.1",
35
- "react-native-safe-area-context": "4.12.0",
36
- "react-native-screens": "~4.4.0",
37
- "react-native-vector-icons": "^10.2.0"
38
- },
39
- "devDependencies": {
40
- "@babel/core": "^7.25.2",
41
- "@babel/preset-env": "^7.25.3",
42
- "@babel/runtime": "^7.25.0",
43
- "@react-native-community/cli": "15.0.1",
44
- "@react-native-community/cli-platform-android": "15.0.1",
45
- "@react-native-community/cli-platform-ios": "15.0.1",
46
- "@react-native/babel-preset": "0.76.9",
47
- "@react-native/eslint-config": "0.76.9",
48
- "@react-native/metro-config": "0.76.9",
49
- "@react-native/typescript-config": "0.76.9",
50
- "@types/react": "^18.2.6",
51
- "@types/react-test-renderer": "^18.0.0",
52
- "babel-jest": "^29.6.3",
53
- "babel-plugin-module-resolver": "^5.0.2",
54
- "detox": "^20.40.2",
55
- "eslint": "^8.19.0",
56
- "jest": "^29.6.3",
57
- "prettier": "2.8.8",
58
- "react-devtools": "^6.1.2",
59
- "react-test-renderer": "^18.2.0",
60
- "typescript": "^5.3.3"
61
- },
62
- "engines": {
63
- "node": ">=18"
64
- }
65
- }
@@ -1,292 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
-
4
- APP_ID="com.sampleui" # <-- Update if your appId is different
5
- APK_PATH="android/app/build/outputs/apk/debug/app-debug.apk"
6
-
7
- # Function to find and tap element by text
8
- find_and_tap_by_text() {
9
- local text="$1"
10
- local max_attempts="${2:-3}"
11
- local attempt=1
12
-
13
- echo "Looking for element with text: '$text'"
14
-
15
- while [ $attempt -le $max_attempts ]; do
16
- # Dump UI hierarchy
17
- adb shell uiautomator dump /sdcard/window_dump.xml
18
-
19
- # Extract coordinates for the text
20
- local coords=$(adb shell "cat /sdcard/window_dump.xml | grep -A 5 -B 5 '$text' | grep 'bounds=' | head -1 | sed 's/.*bounds=\"\[\([0-9]*\),\([0-9]*\)\]\[\([0-9]*\),\([0-9]*\)\].*/\1 \2 \3 \4/'")
21
-
22
- if [ -n "$coords" ]; then
23
- # Parse coordinates
24
- local x1=$(echo $coords | awk '{print $1}')
25
- local y1=$(echo $coords | awk '{print $2}')
26
- local x2=$(echo $coords | awk '{print $3}')
27
- local y2=$(echo $coords | awk '{print $4}')
28
-
29
- # Calculate center point
30
- local center_x=$(( (x1 + x2) / 2 ))
31
- local center_y=$(( (y1 + y2) / 2 ))
32
-
33
- echo "Found '$text' at coordinates: ($center_x, $center_y)"
34
- adb shell input tap $center_x $center_y
35
- return 0
36
- else
37
- echo "Attempt $attempt: Element '$text' not found, retrying..."
38
- sleep 2
39
- attempt=$((attempt + 1))
40
- fi
41
- done
42
-
43
- echo "ERROR: Could not find element with text '$text' after $max_attempts attempts"
44
- return 1
45
- }
46
-
47
- # Function to find and tap one of multiple possible button texts
48
- find_and_tap_button() {
49
- local button_texts=("$@")
50
-
51
- for text in "${button_texts[@]}"; do
52
- if find_and_tap_by_text "$text" 1; then
53
- echo "Successfully tapped button: '$text'"
54
- return 0
55
- fi
56
- done
57
-
58
- echo "ERROR: Could not find any of the button texts: ${button_texts[*]}"
59
- return 1
60
- }
61
-
62
- # Function to scroll and find element
63
- scroll_and_find_element() {
64
- local text="$1"
65
- local max_scrolls="${2:-5}"
66
- local scroll_count=0
67
-
68
- while [ $scroll_count -lt $max_scrolls ]; do
69
- if find_and_tap_by_text "$text" 1; then
70
- return 0
71
- fi
72
-
73
- echo "Scrolling to find '$text'..."
74
- adb shell input swipe 500 800 500 200 # Scroll down
75
- sleep 2
76
- scroll_count=$((scroll_count + 1))
77
- done
78
-
79
- echo "ERROR: Could not find '$text' after scrolling $max_scrolls times"
80
- return 1
81
- }
82
-
83
- # Function to debug current screen content
84
- debug_screen_content() {
85
- echo "=== DEBUG: Current screen content ==="
86
- adb shell uiautomator dump /sdcard/window_dump.xml
87
- adb shell "cat /sdcard/window_dump.xml | grep -E 'text=|content-desc=' | head -20"
88
- echo "=== END DEBUG ==="
89
- }
90
-
91
- # 1. Start emulator if not running
92
- if ! adb devices | grep -w emulator >/dev/null; then
93
- echo "No emulator running. Attempting to start the first available AVD..."
94
- EMULATOR_NAME=$(emulator -list-avds | head -n 1)
95
- if [ -z "$EMULATOR_NAME" ]; then
96
- echo "No Android emulators found. Please create one via AVD Manager."
97
- exit 1
98
- fi
99
- nohup emulator -avd "$EMULATOR_NAME" -no-snapshot-save -no-window > /dev/null 2>&1 &
100
- echo "Waiting for emulator to boot..."
101
- adb wait-for-device
102
- sleep 30 # Give extra time for boot
103
- fi
104
-
105
- # 2. Build the app
106
- cd android
107
- ./gradlew assembleDebug
108
- cd ..
109
-
110
- # 3. Install the APK
111
- adb install -r "$APK_PATH"
112
-
113
- # 4. Launch the app
114
- adb shell monkey -p "$APP_ID" -c android.intent.category.LAUNCHER 1
115
-
116
- # Wait for the app to start
117
- sleep 10
118
-
119
- # 5. Verify the app process is running
120
- if adb shell pidof "$APP_ID" | grep -q '[0-9]'; then
121
- echo "App launched successfully!"
122
- else
123
- echo "App did not launch."
124
- exit 1
125
- fi
126
-
127
- # 6. Test Dialog functionality
128
- echo "Testing Dialog functionality..."
129
-
130
- # Wait for app to fully load
131
- sleep 5
132
-
133
- # Navigate to Dialog example
134
- echo "Navigating to Dialog example..."
135
- if ! scroll_and_find_element "Dialog"; then
136
- echo "ERROR: Could not find Dialog example"
137
- exit 1
138
- fi
139
-
140
- # Wait for Dialog screen to load and verify we're on the right screen
141
- echo "Waiting for Dialog screen to load..."
142
- sleep 5
143
-
144
- # Debug current screen
145
- debug_screen_content
146
-
147
- # Verify we're on the Dialog screen by checking for the header
148
- echo "Verifying we're on the Dialog screen..."
149
- if ! find_and_tap_by_text "Dialog" 1; then
150
- echo "ERROR: Not on Dialog screen - Dialog header not found"
151
- exit 1
152
- fi
153
-
154
- # Wait a bit more for the screen to fully load
155
- sleep 2
156
-
157
- # Debug screen again to see what's available
158
- echo "Final screen content before testing dialogs:"
159
- debug_screen_content
160
-
161
- # Test each dialog button
162
- echo "Testing dialog buttons..."
163
-
164
- # Test "Long text" dialog
165
- echo "Testing 'Long text' dialog..."
166
- if find_and_tap_by_text "Long text"; then
167
- echo "Tapped 'Long text' button, waiting for dialog to appear..."
168
- sleep 3 # Wait longer for dialog to appear
169
-
170
- # Debug screen after tapping
171
- debug_screen_content
172
-
173
- if find_and_tap_button "Ok" "OK"; then
174
- echo "✓ Long text dialog test passed"
175
- else
176
- echo "✗ Failed to close Long text dialog"
177
- exit 1
178
- fi
179
- else
180
- echo "✗ Failed to open Long text dialog"
181
- exit 1
182
- fi
183
- sleep 1
184
-
185
- # Test "Radio buttons" dialog
186
- echo "Testing 'Radio buttons' dialog..."
187
- if find_and_tap_by_text "Radio buttons"; then
188
- echo "Tapped 'Radio buttons' button, waiting for dialog to appear..."
189
- sleep 3 # Wait longer for dialog to appear
190
-
191
- if find_and_tap_button "Ok" "OK" "Cancel"; then
192
- echo "✓ Radio buttons dialog test passed"
193
- else
194
- echo "✗ Failed to close Radio buttons dialog"
195
- exit 1
196
- fi
197
- else
198
- echo "✗ Failed to open Radio buttons dialog"
199
- exit 1
200
- fi
201
- sleep 1
202
-
203
- # Test "Progress indicator" dialog
204
- echo "Testing 'Progress indicator' dialog..."
205
- if find_and_tap_by_text "Progress indicator"; then
206
- sleep 3 # Progress dialogs usually auto-dismiss
207
- echo "✓ Progress indicator dialog test passed"
208
- else
209
- echo "✗ Failed to open Progress indicator dialog"
210
- exit 1
211
- fi
212
- sleep 1
213
-
214
- # Test "Undismissable Dialog"
215
- echo "Testing 'Undismissable Dialog'..."
216
- if find_and_tap_by_text "Undismissable Dialog"; then
217
- sleep 3 # Wait longer for dialog to appear
218
- if find_and_tap_button "Agree" "OK" "Ok"; then
219
- echo "✓ Undismissable Dialog test passed"
220
- else
221
- echo "✗ Failed to close Undismissable Dialog"
222
- exit 1
223
- fi
224
- else
225
- echo "✗ Failed to open Undismissable Dialog"
226
- exit 1
227
- fi
228
- sleep 1
229
-
230
- # Test "Custom colors" dialog
231
- echo "Testing 'Custom colors' dialog..."
232
- if find_and_tap_by_text "Custom colors"; then
233
- sleep 3 # Wait longer for dialog to appear
234
- if find_and_tap_button "Ok" "OK"; then
235
- echo "✓ Custom colors dialog test passed"
236
- else
237
- echo "✗ Failed to close Custom colors dialog"
238
- exit 1
239
- fi
240
- else
241
- echo "✗ Failed to open Custom colors dialog"
242
- exit 1
243
- fi
244
- sleep 1
245
-
246
- # Test "Dialog Tracking Test" (most important for Acoustic Connect)
247
- echo "Testing 'Dialog Tracking Test'..."
248
- if find_and_tap_by_text "Dialog Tracking Test"; then
249
- sleep 3 # Wait longer for dialog to appear
250
- if find_and_tap_button "Close" "OK" "Ok"; then
251
- echo "✓ Dialog Tracking Test passed"
252
- else
253
- echo "✗ Failed to close Dialog Tracking Test"
254
- exit 1
255
- fi
256
- else
257
- echo "✗ Failed to open Dialog Tracking Test"
258
- exit 1
259
- fi
260
- sleep 1
261
-
262
- # Test "With icon" dialog (if available in MD3)
263
- echo "Testing 'With icon' dialog..."
264
- if find_and_tap_by_text "With icon"; then
265
- sleep 3 # Wait longer for dialog to appear
266
- if find_and_tap_button "Agree" "Disagree" "OK" "Ok"; then
267
- echo "✓ With icon dialog test passed"
268
- else
269
- echo "✗ Failed to close With icon dialog"
270
- exit 1
271
- fi
272
- else
273
- echo "⚠ With icon dialog not available (V3 theme not enabled)"
274
- fi
275
- sleep 1
276
-
277
- # Test "Dismissable back button" dialog (Android specific)
278
- echo "Testing 'Dismissable back button' dialog..."
279
- if find_and_tap_by_text "Dismissable back button"; then
280
- sleep 3 # Wait longer for dialog to appear
281
- # Try to dismiss with back button
282
- adb shell input keyevent 4 # KEYCODE_BACK
283
- sleep 1
284
- echo "✓ Dismissable back button dialog test passed"
285
- else
286
- echo "⚠ Dismissable back button dialog not available (iOS)"
287
- fi
288
- sleep 1
289
-
290
- echo "All dialog tests completed successfully!"
291
- echo "Integration test passed!"
292
- exit 0