@nativescript/core 9.0.0-next-11-05-2025-19118881386 → 9.0.0-next-11-12-2025-19288121507

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 (212) hide show
  1. package/application/application-common.d.ts +29 -10
  2. package/application/application-common.js +58 -5
  3. package/application/application-common.js.map +1 -1
  4. package/application/application-interfaces.d.ts +10 -0
  5. package/application/application-shims.d.ts +27 -0
  6. package/application/application-shims.js +27 -0
  7. package/application/application-shims.js.map +1 -1
  8. package/application/application.android.d.ts +3 -0
  9. package/application/application.android.js +348 -349
  10. package/application/application.android.js.map +1 -1
  11. package/application/application.ios.d.ts +3 -0
  12. package/application/application.ios.js +30 -19
  13. package/application/application.ios.js.map +1 -1
  14. package/config/config.interface.d.ts +21 -0
  15. package/connectivity/index.android.js +22 -22
  16. package/connectivity/index.android.js.map +1 -1
  17. package/core-types/index.d.ts +10 -1
  18. package/core-types/index.js +10 -1
  19. package/core-types/index.js.map +1 -1
  20. package/core-types/validators.js +12 -6
  21. package/core-types/validators.js.map +1 -1
  22. package/data/observable/index.d.ts +2 -1
  23. package/data/observable/index.js +31 -19
  24. package/data/observable/index.js.map +1 -1
  25. package/fps-meter/fps-native.ios.js +1 -1
  26. package/fps-meter/fps-native.ios.js.map +1 -1
  27. package/http/http-request/index.ios.js +1 -1
  28. package/http/http-request/index.ios.js.map +1 -1
  29. package/image-source/index.d.ts +2 -2
  30. package/package.json +1 -1
  31. package/platform/screen/index.d.ts +5 -0
  32. package/platforms/android/widgets-release.aar +0 -0
  33. package/timer/index.ios.js +1 -1
  34. package/timer/index.ios.js.map +1 -1
  35. package/ui/action-bar/index.android.js +18 -18
  36. package/ui/action-bar/index.android.js.map +1 -1
  37. package/ui/action-bar/index.ios.js +2 -4
  38. package/ui/action-bar/index.ios.js.map +1 -1
  39. package/ui/animation/index.ios.js +2 -3
  40. package/ui/animation/index.ios.js.map +1 -1
  41. package/ui/button/index.android.js +20 -20
  42. package/ui/button/index.android.js.map +1 -1
  43. package/ui/button/index.ios.d.ts +2 -1
  44. package/ui/button/index.ios.js +28 -10
  45. package/ui/button/index.ios.js.map +1 -1
  46. package/ui/core/control-state-change/index.ios.js +1 -1
  47. package/ui/core/control-state-change/index.ios.js.map +1 -1
  48. package/ui/core/view/index.android.d.ts +2 -0
  49. package/ui/core/view/index.android.js +221 -194
  50. package/ui/core/view/index.android.js.map +1 -1
  51. package/ui/core/view/index.d.ts +26 -3
  52. package/ui/core/view/index.ios.d.ts +3 -2
  53. package/ui/core/view/index.ios.js +25 -11
  54. package/ui/core/view/index.ios.js.map +1 -1
  55. package/ui/core/view/view-common.d.ts +10 -8
  56. package/ui/core/view/view-common.js +7 -0
  57. package/ui/core/view/view-common.js.map +1 -1
  58. package/ui/core/view/view-helper/index.d.ts +5 -0
  59. package/ui/core/view/view-helper/index.ios.d.ts +5 -4
  60. package/ui/core/view/view-helper/index.ios.js +20 -23
  61. package/ui/core/view/view-helper/index.ios.js.map +1 -1
  62. package/ui/core/view/view-helper/view-helper-common.js +7 -0
  63. package/ui/core/view/view-helper/view-helper-common.js.map +1 -1
  64. package/ui/date-picker/index.android.js +38 -38
  65. package/ui/date-picker/index.android.js.map +1 -1
  66. package/ui/date-picker/index.ios.js +1 -1
  67. package/ui/date-picker/index.ios.js.map +1 -1
  68. package/ui/editable-text-base/index.android.js +34 -34
  69. package/ui/editable-text-base/index.android.js.map +1 -1
  70. package/ui/frame/fragment.transitions.android.d.ts +2 -1
  71. package/ui/frame/fragment.transitions.android.js +106 -104
  72. package/ui/frame/fragment.transitions.android.js.map +1 -1
  73. package/ui/frame/fragment.transitions.d.ts +3 -2
  74. package/ui/frame/index.android.js +2 -2
  75. package/ui/frame/index.android.js.map +1 -1
  76. package/ui/frame/index.ios.d.ts +2 -1
  77. package/ui/frame/index.ios.js +83 -43
  78. package/ui/frame/index.ios.js.map +1 -1
  79. package/ui/gestures/index.android.js +129 -130
  80. package/ui/gestures/index.android.js.map +1 -1
  81. package/ui/gestures/index.ios.js +3 -5
  82. package/ui/gestures/index.ios.js.map +1 -1
  83. package/ui/gestures/touch-manager.js +32 -32
  84. package/ui/gestures/touch-manager.js.map +1 -1
  85. package/ui/image/index.android.js +19 -19
  86. package/ui/image/index.android.js.map +1 -1
  87. package/ui/image-cache/index.android.js +12 -14
  88. package/ui/image-cache/index.android.js.map +1 -1
  89. package/ui/image-cache/index.ios.js +6 -6
  90. package/ui/image-cache/index.ios.js.map +1 -1
  91. package/ui/index.d.ts +2 -1
  92. package/ui/index.js +1 -0
  93. package/ui/index.js.map +1 -1
  94. package/ui/label/index.android.js +4 -1
  95. package/ui/label/index.android.js.map +1 -1
  96. package/ui/label/index.ios.d.ts +2 -1
  97. package/ui/label/index.ios.js +12 -2
  98. package/ui/label/index.ios.js.map +1 -1
  99. package/ui/layouts/flexbox-layout/index.ios.js +3 -6
  100. package/ui/layouts/flexbox-layout/index.ios.js.map +1 -1
  101. package/ui/layouts/stack-layout/index.ios.js +6 -0
  102. package/ui/layouts/stack-layout/index.ios.js.map +1 -1
  103. package/ui/list-picker/index.android.js +35 -35
  104. package/ui/list-picker/index.android.js.map +1 -1
  105. package/ui/list-picker/index.ios.js +2 -2
  106. package/ui/list-picker/index.ios.js.map +1 -1
  107. package/ui/list-view/index.android.d.ts +26 -1
  108. package/ui/list-view/index.android.js +761 -143
  109. package/ui/list-view/index.android.js.map +1 -1
  110. package/ui/list-view/index.d.ts +127 -0
  111. package/ui/list-view/index.ios.d.ts +34 -2
  112. package/ui/list-view/index.ios.js +557 -21
  113. package/ui/list-view/index.ios.js.map +1 -1
  114. package/ui/list-view/list-view-common.d.ts +22 -1
  115. package/ui/list-view/list-view-common.js +85 -0
  116. package/ui/list-view/list-view-common.js.map +1 -1
  117. package/ui/page/index.ios.js +25 -64
  118. package/ui/page/index.ios.js.map +1 -1
  119. package/ui/scroll-view/index.d.ts +1 -1
  120. package/ui/scroll-view/index.ios.d.ts +2 -0
  121. package/ui/scroll-view/index.ios.js +31 -12
  122. package/ui/scroll-view/index.ios.js.map +1 -1
  123. package/ui/scroll-view/scroll-view-common.d.ts +3 -8
  124. package/ui/scroll-view/scroll-view-common.js +4 -4
  125. package/ui/scroll-view/scroll-view-common.js.map +1 -1
  126. package/ui/search-bar/index.android.js +48 -52
  127. package/ui/search-bar/index.android.js.map +1 -1
  128. package/ui/search-bar/index.ios.js +3 -6
  129. package/ui/search-bar/index.ios.js.map +1 -1
  130. package/ui/segmented-bar/index.android.js +56 -58
  131. package/ui/segmented-bar/index.android.js.map +1 -1
  132. package/ui/segmented-bar/index.ios.js +1 -1
  133. package/ui/segmented-bar/index.ios.js.map +1 -1
  134. package/ui/slider/index.android.js +23 -25
  135. package/ui/slider/index.android.js.map +1 -1
  136. package/ui/slider/index.ios.js +2 -2
  137. package/ui/slider/index.ios.js.map +1 -1
  138. package/ui/split-view/index.android.d.ts +4 -0
  139. package/ui/split-view/index.android.js +4 -0
  140. package/ui/split-view/index.android.js.map +1 -0
  141. package/ui/split-view/index.d.ts +11 -0
  142. package/ui/split-view/index.ios.d.ts +39 -0
  143. package/ui/split-view/index.ios.js +368 -0
  144. package/ui/split-view/index.ios.js.map +1 -0
  145. package/ui/split-view/split-view-common.d.ts +51 -0
  146. package/ui/split-view/split-view-common.js +111 -0
  147. package/ui/split-view/split-view-common.js.map +1 -0
  148. package/ui/styling/style/index.d.ts +2 -0
  149. package/ui/styling/style/index.js.map +1 -1
  150. package/ui/styling/style-properties.d.ts +1 -0
  151. package/ui/styling/style-properties.js +7 -0
  152. package/ui/styling/style-properties.js.map +1 -1
  153. package/ui/switch/index.android.js +18 -18
  154. package/ui/switch/index.android.js.map +1 -1
  155. package/ui/switch/index.ios.d.ts +1 -0
  156. package/ui/switch/index.ios.js +62 -12
  157. package/ui/switch/index.ios.js.map +1 -1
  158. package/ui/tab-view/index.android.js +185 -187
  159. package/ui/tab-view/index.android.js.map +1 -1
  160. package/ui/tab-view/index.d.ts +17 -1
  161. package/ui/tab-view/index.ios.d.ts +13 -5
  162. package/ui/tab-view/index.ios.js +253 -49
  163. package/ui/tab-view/index.ios.js.map +1 -1
  164. package/ui/tab-view/tab-view-common.d.ts +14 -0
  165. package/ui/tab-view/tab-view-common.js +15 -0
  166. package/ui/tab-view/tab-view-common.js.map +1 -1
  167. package/ui/text-base/index.android.d.ts +2 -1
  168. package/ui/text-base/index.android.js +133 -101
  169. package/ui/text-base/index.android.js.map +1 -1
  170. package/ui/text-base/index.d.ts +5 -0
  171. package/ui/text-base/index.ios.js +12 -18
  172. package/ui/text-base/index.ios.js.map +1 -1
  173. package/ui/text-base/text-base-common.d.ts +2 -1
  174. package/ui/text-base/text-base-common.js +1 -0
  175. package/ui/text-base/text-base-common.js.map +1 -1
  176. package/ui/text-field/index.ios.d.ts +2 -1
  177. package/ui/text-field/index.ios.js +9 -5
  178. package/ui/text-field/index.ios.js.map +1 -1
  179. package/ui/text-view/index.ios.d.ts +2 -1
  180. package/ui/text-view/index.ios.js +12 -7
  181. package/ui/text-view/index.ios.js.map +1 -1
  182. package/ui/time-picker/index.android.js +21 -21
  183. package/ui/time-picker/index.android.js.map +1 -1
  184. package/ui/time-picker/index.ios.js +1 -1
  185. package/ui/time-picker/index.ios.js.map +1 -1
  186. package/ui/transition/fade-transition.ios.js +5 -6
  187. package/ui/transition/fade-transition.ios.js.map +1 -1
  188. package/ui/transition/modal-transition.ios.js +19 -26
  189. package/ui/transition/modal-transition.ios.js.map +1 -1
  190. package/ui/transition/page-transition.android.js +3 -12
  191. package/ui/transition/page-transition.android.js.map +1 -1
  192. package/ui/transition/page-transition.ios.js +19 -25
  193. package/ui/transition/page-transition.ios.js.map +1 -1
  194. package/ui/transition/slide-transition.ios.js +5 -6
  195. package/ui/transition/slide-transition.ios.js.map +1 -1
  196. package/ui/web-view/index.android.js +58 -62
  197. package/ui/web-view/index.android.js.map +1 -1
  198. package/ui/web-view/index.ios.js +18 -18
  199. package/ui/web-view/index.ios.js.map +1 -1
  200. package/utils/common.d.ts +3 -1
  201. package/utils/common.js +9 -3
  202. package/utils/common.js.map +1 -1
  203. package/utils/index.d.ts +6 -0
  204. package/utils/layout-helper/index.android.d.ts +1 -0
  205. package/utils/layout-helper/index.android.js +9 -0
  206. package/utils/layout-helper/index.android.js.map +1 -1
  207. package/utils/layout-helper/index.d.ts +5 -0
  208. package/utils/layout-helper/index.ios.d.ts +1 -0
  209. package/utils/layout-helper/index.ios.js +4 -0
  210. package/utils/layout-helper/index.ios.js.map +1 -1
  211. package/utils/native-helper.ios.js +20 -20
  212. package/utils/native-helper.ios.js.map +1 -1
@@ -1,3 +1,4 @@
1
+ import { CoreTypes } from '../core-types';
1
2
  import { profile } from '../profiling';
2
3
  import { SDK_VERSION } from '../utils/constants';
3
4
  import { android as androidUtils } from '../utils';
@@ -14,218 +15,203 @@ function initNativeScriptLifecycleCallbacks() {
14
15
  if (NativeScriptLifecycleCallbacks_) {
15
16
  return NativeScriptLifecycleCallbacks_;
16
17
  }
17
- var NativeScriptLifecycleCallbacksImpl = /** @class */ (function (_super) {
18
- __extends(NativeScriptLifecycleCallbacksImpl, _super);
19
- function NativeScriptLifecycleCallbacksImpl() {
20
- var _this = _super !== null && _super.apply(this, arguments) || this;
21
- _this.activitiesCount = 0;
22
- return _this;
23
- }
24
- NativeScriptLifecycleCallbacksImpl.prototype.onActivityCreated = function (activity, savedInstanceState) {
25
- // console.log('NativeScriptLifecycleCallbacks onActivityCreated');
26
- this.setThemeOnLaunch(activity);
27
- if (!Application.android.startActivity) {
28
- Application.android.setStartActivity(activity);
18
+ var NativeScriptLifecycleCallbacksImpl = (function (_super) {
19
+ __extends(NativeScriptLifecycleCallbacksImpl, _super);
20
+ function NativeScriptLifecycleCallbacksImpl() {
21
+ var _this = _super !== null && _super.apply(this, arguments) || this;
22
+ _this.activitiesCount = 0;
23
+ return _this;
29
24
  }
30
- if (!this.nativescriptActivity && 'isNativeScriptActivity' in activity) {
31
- this.nativescriptActivity = activity;
32
- }
33
- this.notifyActivityCreated(activity, savedInstanceState);
34
- if (Application.hasListeners(Application.displayedEvent)) {
35
- this.subscribeForGlobalLayout(activity);
36
- }
37
- };
38
- NativeScriptLifecycleCallbacksImpl.prototype.onActivityDestroyed = function (activity) {
39
- // console.log('NativeScriptLifecycleCallbacks onActivityDestroyed');
40
- if (activity === Application.android.foregroundActivity) {
41
- Application.android.setForegroundActivity(undefined);
42
- }
43
- if (activity === this.nativescriptActivity) {
44
- this.nativescriptActivity = undefined;
45
- }
46
- if (activity === Application.android.startActivity) {
47
- Application.android.setStartActivity(undefined);
48
- // Fallback for start activity when it is destroyed but we have a known nativescript activity
49
- if (this.nativescriptActivity) {
50
- Application.android.setStartActivity(this.nativescriptActivity);
25
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivityCreated = function (activity, savedInstanceState) {
26
+ this.setThemeOnLaunch(activity);
27
+ if (!Application.android.startActivity) {
28
+ Application.android.setStartActivity(activity);
51
29
  }
52
- }
53
- Application.android.notify({
54
- eventName: Application.android.activityDestroyedEvent,
55
- object: Application.android,
56
- activity: activity,
57
- });
58
- // TODO: This is a temporary workaround to force the V8's Garbage Collector, which will force the related Java Object to be collected.
59
- gc();
60
- };
61
- NativeScriptLifecycleCallbacksImpl.prototype.onActivityPaused = function (activity) {
62
- // console.log('NativeScriptLifecycleCallbacks onActivityPaused');
63
- if ('isNativeScriptActivity' in activity) {
64
- Application.setSuspended(true, {
65
- // todo: deprecate event.android in favor of event.activity
66
- android: activity,
30
+ if (!this.nativescriptActivity && "isNativeScriptActivity" in activity) {
31
+ this.nativescriptActivity = activity;
32
+ }
33
+ this.notifyActivityCreated(activity, savedInstanceState);
34
+ if (Application.hasListeners(Application.displayedEvent)) {
35
+ this.subscribeForGlobalLayout(activity);
36
+ }
37
+ };
38
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivityDestroyed = function (activity) {
39
+ if (activity === Application.android.foregroundActivity) {
40
+ Application.android.setForegroundActivity(undefined);
41
+ }
42
+ if (activity === this.nativescriptActivity) {
43
+ this.nativescriptActivity = undefined;
44
+ }
45
+ if (activity === Application.android.startActivity) {
46
+ Application.android.setStartActivity(undefined);
47
+ if (this.nativescriptActivity) {
48
+ Application.android.setStartActivity(this.nativescriptActivity);
49
+ }
50
+ }
51
+ Application.android.notify({
52
+ eventName: Application.android.activityDestroyedEvent,
53
+ object: Application.android,
67
54
  activity: activity,
68
55
  });
69
- }
70
- Application.android.notify({
71
- eventName: Application.android.activityPausedEvent,
72
- object: Application.android,
73
- activity: activity,
74
- });
75
- };
76
- NativeScriptLifecycleCallbacksImpl.prototype.onActivityResumed = function (activity) {
77
- // console.log('NativeScriptLifecycleCallbacks onActivityResumed');
78
- Application.android.setForegroundActivity(activity);
79
- // NOTE: setSuspended(false) is called in frame/index.android.ts inside onPostResume
80
- // This is done to ensure proper timing for the event to be raised
81
- Application.android.notify({
82
- eventName: Application.android.activityResumedEvent,
83
- object: Application.android,
84
- activity: activity,
85
- });
86
- };
87
- NativeScriptLifecycleCallbacksImpl.prototype.onActivitySaveInstanceState = function (activity, bundle) {
88
- // console.log('NativeScriptLifecycleCallbacks onActivitySaveInstanceState');
89
- Application.android.notify({
90
- eventName: Application.android.saveActivityStateEvent,
91
- object: Application.android,
92
- activity: activity,
93
- bundle: bundle,
94
- });
95
- };
96
- NativeScriptLifecycleCallbacksImpl.prototype.onActivityStarted = function (activity) {
97
- // console.log('NativeScriptLifecycleCallbacks onActivityStarted');
98
- this.activitiesCount++;
99
- if (this.activitiesCount === 1) {
100
- Application.android.setInBackground(false, {
101
- // todo: deprecate event.android in favor of event.activity
102
- android: activity,
56
+ gc();
57
+ };
58
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivityPaused = function (activity) {
59
+ if ("isNativeScriptActivity" in activity) {
60
+ Application.setSuspended(true, {
61
+ android: activity,
62
+ activity: activity,
63
+ });
64
+ }
65
+ Application.android.notify({
66
+ eventName: Application.android.activityPausedEvent,
67
+ object: Application.android,
103
68
  activity: activity,
104
69
  });
105
- }
106
- Application.android.notify({
107
- eventName: Application.android.activityStartedEvent,
108
- object: Application.android,
109
- activity: activity,
110
- });
111
- };
112
- NativeScriptLifecycleCallbacksImpl.prototype.onActivityStopped = function (activity) {
113
- // console.log('NativeScriptLifecycleCallbacks onActivityStopped');
114
- this.activitiesCount--;
115
- if (this.activitiesCount === 0) {
116
- Application.android.setInBackground(true, {
117
- // todo: deprecate event.android in favor of event.activity
118
- android: activity,
70
+ };
71
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivityResumed = function (activity) {
72
+ Application.android.setForegroundActivity(activity);
73
+ Application.android.notify({
74
+ eventName: Application.android.activityResumedEvent,
75
+ object: Application.android,
119
76
  activity: activity,
120
77
  });
121
- }
122
- Application.android.notify({
123
- eventName: Application.android.activityStoppedEvent,
124
- object: Application.android,
125
- activity: activity,
126
- });
127
- };
128
- NativeScriptLifecycleCallbacksImpl.prototype.setThemeOnLaunch = function (activity) {
129
- // Set app theme after launch screen was used during startup
130
- var activityInfo = activity.getPackageManager().getActivityInfo(activity.getComponentName(), android.content.pm.PackageManager.GET_META_DATA);
131
- if (activityInfo.metaData) {
132
- var setThemeOnLaunch = activityInfo.metaData.getInt('SET_THEME_ON_LAUNCH', -1);
133
- if (setThemeOnLaunch !== -1) {
134
- activity.setTheme(setThemeOnLaunch);
78
+ };
79
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivitySaveInstanceState = function (activity, bundle) {
80
+ Application.android.notify({
81
+ eventName: Application.android.saveActivityStateEvent,
82
+ object: Application.android,
83
+ activity: activity,
84
+ bundle: bundle,
85
+ });
86
+ };
87
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivityStarted = function (activity) {
88
+ this.activitiesCount++;
89
+ if (this.activitiesCount === 1) {
90
+ Application.android.setInBackground(false, {
91
+ android: activity,
92
+ activity: activity,
93
+ });
135
94
  }
136
- }
137
- };
138
- NativeScriptLifecycleCallbacksImpl.prototype.notifyActivityCreated = function (activity, bundle) {
139
- Application.android.notify({
140
- eventName: Application.android.activityCreatedEvent,
141
- object: Application.android,
142
- activity: activity,
143
- bundle: bundle,
144
- });
145
- };
146
- NativeScriptLifecycleCallbacksImpl.prototype.subscribeForGlobalLayout = function (activity) {
147
- var rootView = activity.getWindow().getDecorView().getRootView();
148
- // store the listener not to trigger GC collection before collecting the method
149
- global.onGlobalLayoutListener = new android.view.ViewTreeObserver.OnGlobalLayoutListener({
150
- onGlobalLayout: function () {
151
- Application.android.notify({
152
- eventName: Application.displayedEvent,
153
- object: Application,
154
- android: Application.android,
95
+ Application.android.notify({
96
+ eventName: Application.android.activityStartedEvent,
97
+ object: Application.android,
98
+ activity: activity,
99
+ });
100
+ };
101
+ NativeScriptLifecycleCallbacksImpl.prototype.onActivityStopped = function (activity) {
102
+ this.activitiesCount--;
103
+ if (this.activitiesCount === 0) {
104
+ Application.android.setInBackground(true, {
105
+ android: activity,
155
106
  activity: activity,
156
107
  });
157
- var viewTreeObserver = rootView.getViewTreeObserver();
158
- viewTreeObserver.removeOnGlobalLayoutListener(global.onGlobalLayoutListener);
159
- },
160
- });
161
- rootView.getViewTreeObserver().addOnGlobalLayoutListener(global.onGlobalLayoutListener);
162
- };
163
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
164
- __decorate([
165
- profile,
166
- __metadata("design:type", Function),
167
- __metadata("design:paramtypes", [typeof (_c = typeof androidx !== "undefined" && (_a = androidx.appcompat) !== void 0 && (_b = _a.app) !== void 0 && _b.AppCompatActivity) === "function" ? _c : Object, typeof (_e = typeof android !== "undefined" && (_d = android.os) !== void 0 && _d.Bundle) === "function" ? _e : Object]),
168
- __metadata("design:returntype", void 0)
169
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityCreated", null);
170
- __decorate([
171
- profile,
172
- __metadata("design:type", Function),
173
- __metadata("design:paramtypes", [typeof (_h = typeof androidx !== "undefined" && (_f = androidx.appcompat) !== void 0 && (_g = _f.app) !== void 0 && _g.AppCompatActivity) === "function" ? _h : Object]),
174
- __metadata("design:returntype", void 0)
175
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityDestroyed", null);
176
- __decorate([
177
- profile,
178
- __metadata("design:type", Function),
179
- __metadata("design:paramtypes", [typeof (_l = typeof androidx !== "undefined" && (_j = androidx.appcompat) !== void 0 && (_k = _j.app) !== void 0 && _k.AppCompatActivity) === "function" ? _l : Object]),
180
- __metadata("design:returntype", void 0)
181
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityPaused", null);
182
- __decorate([
183
- profile,
184
- __metadata("design:type", Function),
185
- __metadata("design:paramtypes", [typeof (_p = typeof androidx !== "undefined" && (_m = androidx.appcompat) !== void 0 && (_o = _m.app) !== void 0 && _o.AppCompatActivity) === "function" ? _p : Object]),
186
- __metadata("design:returntype", void 0)
187
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityResumed", null);
188
- __decorate([
189
- profile,
190
- __metadata("design:type", Function),
191
- __metadata("design:paramtypes", [typeof (_s = typeof androidx !== "undefined" && (_q = androidx.appcompat) !== void 0 && (_r = _q.app) !== void 0 && _r.AppCompatActivity) === "function" ? _s : Object, typeof (_u = typeof android !== "undefined" && (_t = android.os) !== void 0 && _t.Bundle) === "function" ? _u : Object]),
192
- __metadata("design:returntype", void 0)
193
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivitySaveInstanceState", null);
194
- __decorate([
195
- profile,
196
- __metadata("design:type", Function),
197
- __metadata("design:paramtypes", [typeof (_x = typeof androidx !== "undefined" && (_v = androidx.appcompat) !== void 0 && (_w = _v.app) !== void 0 && _w.AppCompatActivity) === "function" ? _x : Object]),
198
- __metadata("design:returntype", void 0)
199
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityStarted", null);
200
- __decorate([
201
- profile,
202
- __metadata("design:type", Function),
203
- __metadata("design:paramtypes", [typeof (_0 = typeof androidx !== "undefined" && (_y = androidx.appcompat) !== void 0 && (_z = _y.app) !== void 0 && _z.AppCompatActivity) === "function" ? _0 : Object]),
204
- __metadata("design:returntype", void 0)
205
- ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityStopped", null);
206
- __decorate([
207
- profile,
208
- __metadata("design:type", Function),
209
- __metadata("design:paramtypes", [typeof (_3 = typeof androidx !== "undefined" && (_1 = androidx.appcompat) !== void 0 && (_2 = _1.app) !== void 0 && _2.AppCompatActivity) === "function" ? _3 : Object]),
210
- __metadata("design:returntype", void 0)
211
- ], NativeScriptLifecycleCallbacksImpl.prototype, "setThemeOnLaunch", null);
212
- __decorate([
213
- profile,
214
- __metadata("design:type", Function),
215
- __metadata("design:paramtypes", [typeof (_6 = typeof androidx !== "undefined" && (_4 = androidx.appcompat) !== void 0 && (_5 = _4.app) !== void 0 && _5.AppCompatActivity) === "function" ? _6 : Object, typeof (_8 = typeof android !== "undefined" && (_7 = android.os) !== void 0 && _7.Bundle) === "function" ? _8 : Object]),
216
- __metadata("design:returntype", void 0)
217
- ], NativeScriptLifecycleCallbacksImpl.prototype, "notifyActivityCreated", null);
218
- __decorate([
219
- profile,
220
- __metadata("design:type", Function),
221
- __metadata("design:paramtypes", [typeof (_11 = typeof androidx !== "undefined" && (_9 = androidx.appcompat) !== void 0 && (_10 = _9.app) !== void 0 && _10.AppCompatActivity) === "function" ? _11 : Object]),
222
- __metadata("design:returntype", void 0)
223
- ], NativeScriptLifecycleCallbacksImpl.prototype, "subscribeForGlobalLayout", null);
224
- NativeScriptLifecycleCallbacksImpl = __decorate([
225
- JavaProxy('org.nativescript.NativeScriptLifecycleCallbacks')
226
- ], NativeScriptLifecycleCallbacksImpl);
227
- return NativeScriptLifecycleCallbacksImpl;
228
- }(android.app.Application.ActivityLifecycleCallbacks));
108
+ }
109
+ Application.android.notify({
110
+ eventName: Application.android.activityStoppedEvent,
111
+ object: Application.android,
112
+ activity: activity,
113
+ });
114
+ // This is done to ensure proper timing for the event to be raised
115
+ };
116
+ NativeScriptLifecycleCallbacksImpl.prototype.setThemeOnLaunch = function (activity) {
117
+ var activityInfo = activity.getPackageManager().getActivityInfo(activity.getComponentName(), android.content.pm.PackageManager.GET_META_DATA);
118
+ if (activityInfo.metaData) {
119
+ var setThemeOnLaunch = activityInfo.metaData.getInt("SET_THEME_ON_LAUNCH", -1);
120
+ if (setThemeOnLaunch !== -1) {
121
+ activity.setTheme(setThemeOnLaunch);
122
+ }
123
+ }
124
+ };
125
+ NativeScriptLifecycleCallbacksImpl.prototype.notifyActivityCreated = function (activity, bundle) {
126
+ Application.android.notify({
127
+ eventName: Application.android.activityCreatedEvent,
128
+ object: Application.android,
129
+ activity: activity,
130
+ bundle: bundle,
131
+ });
132
+ };
133
+ NativeScriptLifecycleCallbacksImpl.prototype.subscribeForGlobalLayout = function (activity) {
134
+ var rootView = activity.getWindow().getDecorView().getRootView();
135
+ global.onGlobalLayoutListener = new android.view.ViewTreeObserver.OnGlobalLayoutListener({
136
+ onGlobalLayout: function () {
137
+ Application.android.notify({
138
+ eventName: Application.displayedEvent,
139
+ object: Application,
140
+ android: Application.android,
141
+ activity: activity,
142
+ });
143
+ var viewTreeObserver = rootView.getViewTreeObserver();
144
+ viewTreeObserver.removeOnGlobalLayoutListener(global.onGlobalLayoutListener);
145
+ },
146
+ });
147
+ rootView.getViewTreeObserver().addOnGlobalLayoutListener(global.onGlobalLayoutListener);
148
+ };
149
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
150
+ __decorate([
151
+ profile,
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", [typeof (_c = typeof androidx !== "undefined" && (_a = androidx.appcompat) !== void 0 && (_b = _a.app) !== void 0 && _b.AppCompatActivity) === "function" ? _c : Object, typeof (_e = typeof android !== "undefined" && (_d = android.os) !== void 0 && _d.Bundle) === "function" ? _e : Object]),
154
+ __metadata("design:returntype", void 0)
155
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityCreated", null);
156
+ __decorate([
157
+ profile,
158
+ __metadata("design:type", Function),
159
+ __metadata("design:paramtypes", [typeof (_h = typeof androidx !== "undefined" && (_f = androidx.appcompat) !== void 0 && (_g = _f.app) !== void 0 && _g.AppCompatActivity) === "function" ? _h : Object]),
160
+ __metadata("design:returntype", void 0)
161
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityDestroyed", null);
162
+ __decorate([
163
+ profile,
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [typeof (_l = typeof androidx !== "undefined" && (_j = androidx.appcompat) !== void 0 && (_k = _j.app) !== void 0 && _k.AppCompatActivity) === "function" ? _l : Object]),
166
+ __metadata("design:returntype", void 0)
167
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityPaused", null);
168
+ __decorate([
169
+ profile,
170
+ __metadata("design:type", Function),
171
+ __metadata("design:paramtypes", [typeof (_p = typeof androidx !== "undefined" && (_m = androidx.appcompat) !== void 0 && (_o = _m.app) !== void 0 && _o.AppCompatActivity) === "function" ? _p : Object]),
172
+ __metadata("design:returntype", void 0)
173
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityResumed", null);
174
+ __decorate([
175
+ profile,
176
+ __metadata("design:type", Function),
177
+ __metadata("design:paramtypes", [typeof (_s = typeof androidx !== "undefined" && (_q = androidx.appcompat) !== void 0 && (_r = _q.app) !== void 0 && _r.AppCompatActivity) === "function" ? _s : Object, typeof (_u = typeof android !== "undefined" && (_t = android.os) !== void 0 && _t.Bundle) === "function" ? _u : Object]),
178
+ __metadata("design:returntype", void 0)
179
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivitySaveInstanceState", null);
180
+ __decorate([
181
+ profile,
182
+ __metadata("design:type", Function),
183
+ __metadata("design:paramtypes", [typeof (_x = typeof androidx !== "undefined" && (_v = androidx.appcompat) !== void 0 && (_w = _v.app) !== void 0 && _w.AppCompatActivity) === "function" ? _x : Object]),
184
+ __metadata("design:returntype", void 0)
185
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityStarted", null);
186
+ __decorate([
187
+ profile,
188
+ __metadata("design:type", Function),
189
+ __metadata("design:paramtypes", [typeof (_0 = typeof androidx !== "undefined" && (_y = androidx.appcompat) !== void 0 && (_z = _y.app) !== void 0 && _z.AppCompatActivity) === "function" ? _0 : Object]),
190
+ __metadata("design:returntype", void 0)
191
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "onActivityStopped", null);
192
+ __decorate([
193
+ profile,
194
+ __metadata("design:type", Function),
195
+ __metadata("design:paramtypes", [typeof (_3 = typeof androidx !== "undefined" && (_1 = androidx.appcompat) !== void 0 && (_2 = _1.app) !== void 0 && _2.AppCompatActivity) === "function" ? _3 : Object]),
196
+ __metadata("design:returntype", void 0)
197
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "setThemeOnLaunch", null);
198
+ __decorate([
199
+ profile,
200
+ __metadata("design:type", Function),
201
+ __metadata("design:paramtypes", [typeof (_6 = typeof androidx !== "undefined" && (_4 = androidx.appcompat) !== void 0 && (_5 = _4.app) !== void 0 && _5.AppCompatActivity) === "function" ? _6 : Object, typeof (_8 = typeof android !== "undefined" && (_7 = android.os) !== void 0 && _7.Bundle) === "function" ? _8 : Object]),
202
+ __metadata("design:returntype", void 0)
203
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "notifyActivityCreated", null);
204
+ __decorate([
205
+ profile,
206
+ __metadata("design:type", Function),
207
+ __metadata("design:paramtypes", [typeof (_11 = typeof androidx !== "undefined" && (_9 = androidx.appcompat) !== void 0 && (_10 = _9.app) !== void 0 && _10.AppCompatActivity) === "function" ? _11 : Object]),
208
+ __metadata("design:returntype", void 0)
209
+ ], NativeScriptLifecycleCallbacksImpl.prototype, "subscribeForGlobalLayout", null);
210
+ NativeScriptLifecycleCallbacksImpl = __decorate([
211
+ JavaProxy("org.nativescript.NativeScriptLifecycleCallbacks")
212
+ ], NativeScriptLifecycleCallbacksImpl);
213
+ return NativeScriptLifecycleCallbacksImpl;
214
+ }(android.app.Application.ActivityLifecycleCallbacks));
229
215
  NativeScriptLifecycleCallbacks_ = NativeScriptLifecycleCallbacksImpl;
230
216
  return NativeScriptLifecycleCallbacks_;
231
217
  }
@@ -234,68 +220,67 @@ function initNativeScriptComponentCallbacks() {
234
220
  if (NativeScriptComponentCallbacks_) {
235
221
  return NativeScriptComponentCallbacks_;
236
222
  }
237
- var NativeScriptComponentCallbacksImpl = /** @class */ (function (_super) {
238
- __extends(NativeScriptComponentCallbacksImpl, _super);
239
- function NativeScriptComponentCallbacksImpl() {
240
- return _super !== null && _super.apply(this, arguments) || this;
241
- }
242
- NativeScriptComponentCallbacksImpl.prototype.onLowMemory = function () {
243
- gc();
244
- java.lang.System.gc();
245
- Application.notify({
246
- eventName: Application.lowMemoryEvent,
247
- object: Application,
248
- android: this,
249
- });
250
- };
251
- NativeScriptComponentCallbacksImpl.prototype.onTrimMemory = function (level) {
252
- // TODO: This is skipped for now, test carefully for OutOfMemory exceptions
253
- };
254
- NativeScriptComponentCallbacksImpl.prototype.onConfigurationChanged = function (newConfiguration) {
255
- Application.android.onConfigurationChanged(newConfiguration);
256
- };
257
- var _a, _b, _c;
258
- __decorate([
259
- profile,
260
- __metadata("design:type", Function),
261
- __metadata("design:paramtypes", []),
262
- __metadata("design:returntype", void 0)
263
- ], NativeScriptComponentCallbacksImpl.prototype, "onLowMemory", null);
264
- __decorate([
265
- profile,
266
- __metadata("design:type", Function),
267
- __metadata("design:paramtypes", [Number]),
268
- __metadata("design:returntype", void 0)
269
- ], NativeScriptComponentCallbacksImpl.prototype, "onTrimMemory", null);
270
- __decorate([
271
- profile,
272
- __metadata("design:type", Function),
273
- __metadata("design:paramtypes", [typeof (_c = typeof android !== "undefined" && (_a = android.content) !== void 0 && (_b = _a.res) !== void 0 && _b.Configuration) === "function" ? _c : Object]),
274
- __metadata("design:returntype", void 0)
275
- ], NativeScriptComponentCallbacksImpl.prototype, "onConfigurationChanged", null);
276
- NativeScriptComponentCallbacksImpl = __decorate([
277
- JavaProxy('org.nativescript.NativeScriptComponentCallbacks')
278
- ], NativeScriptComponentCallbacksImpl);
279
- return NativeScriptComponentCallbacksImpl;
280
- }(android.content.ComponentCallbacks2));
223
+ var NativeScriptComponentCallbacksImpl = (function (_super) {
224
+ __extends(NativeScriptComponentCallbacksImpl, _super);
225
+ function NativeScriptComponentCallbacksImpl() {
226
+ return _super !== null && _super.apply(this, arguments) || this;
227
+ }
228
+ NativeScriptComponentCallbacksImpl.prototype.onLowMemory = function () {
229
+ gc();
230
+ java.lang.System.gc();
231
+ Application.notify({
232
+ eventName: Application.lowMemoryEvent,
233
+ object: Application,
234
+ android: this,
235
+ });
236
+ };
237
+ NativeScriptComponentCallbacksImpl.prototype.onTrimMemory = function (level) {
238
+ };
239
+ NativeScriptComponentCallbacksImpl.prototype.onConfigurationChanged = function (newConfiguration) {
240
+ Application.android.onConfigurationChanged(newConfiguration);
241
+ };
242
+ var _a, _b, _c;
243
+ __decorate([
244
+ profile,
245
+ __metadata("design:type", Function),
246
+ __metadata("design:paramtypes", []),
247
+ __metadata("design:returntype", void 0)
248
+ ], NativeScriptComponentCallbacksImpl.prototype, "onLowMemory", null);
249
+ __decorate([
250
+ profile,
251
+ __metadata("design:type", Function),
252
+ __metadata("design:paramtypes", [Number]),
253
+ __metadata("design:returntype", void 0)
254
+ ], NativeScriptComponentCallbacksImpl.prototype, "onTrimMemory", null);
255
+ __decorate([
256
+ profile,
257
+ __metadata("design:type", Function),
258
+ __metadata("design:paramtypes", [typeof (_c = typeof android !== "undefined" && (_a = android.content) !== void 0 && (_b = _a.res) !== void 0 && _b.Configuration) === "function" ? _c : Object]),
259
+ __metadata("design:returntype", void 0)
260
+ ], NativeScriptComponentCallbacksImpl.prototype, "onConfigurationChanged", null);
261
+ NativeScriptComponentCallbacksImpl = __decorate([
262
+ JavaProxy("org.nativescript.NativeScriptComponentCallbacks")
263
+ ], NativeScriptComponentCallbacksImpl);
264
+ return NativeScriptComponentCallbacksImpl;
265
+ }(android.content.ComponentCallbacks2));
281
266
  NativeScriptComponentCallbacks_ = NativeScriptComponentCallbacksImpl;
282
267
  return NativeScriptComponentCallbacks_;
283
268
  }
284
269
  const BroadcastReceiver = lazy(() => {
285
- var BroadcastReceiverImpl = /** @class */ (function (_super) {
286
- __extends(BroadcastReceiverImpl, _super);
287
- function BroadcastReceiverImpl(onReceiveCallback) {
288
- var _this = _super.call(this) || this;
289
- _this._onReceiveCallback = onReceiveCallback;
290
- return global.__native(_this);
291
- }
292
- BroadcastReceiverImpl.prototype.onReceive = function (context, intent) {
293
- if (this._onReceiveCallback) {
294
- this._onReceiveCallback(context, intent);
270
+ var BroadcastReceiverImpl = (function (_super) {
271
+ __extends(BroadcastReceiverImpl, _super);
272
+ function BroadcastReceiverImpl(onReceiveCallback) {
273
+ var _this = _super.call(this) || this;
274
+ _this._onReceiveCallback = onReceiveCallback;
275
+ return global.__native(_this);
295
276
  }
296
- };
297
- return BroadcastReceiverImpl;
298
- }(android.content.BroadcastReceiver));
277
+ BroadcastReceiverImpl.prototype.onReceive = function (context, intent) {
278
+ if (this._onReceiveCallback) {
279
+ this._onReceiveCallback(context, intent);
280
+ }
281
+ };
282
+ return BroadcastReceiverImpl;
283
+ }(android.content.BroadcastReceiver));
299
284
  return BroadcastReceiverImpl;
300
285
  });
301
286
  export class AndroidApplication extends ApplicationCommon {
@@ -342,6 +327,7 @@ export class AndroidApplication extends ApplicationCommon {
342
327
  onConfigurationChanged(configuration) {
343
328
  this.setOrientation(this.getOrientationValue(configuration));
344
329
  this.setSystemAppearance(this.getSystemAppearanceValue(configuration));
330
+ this.setLayoutDirection(this.getLayoutDirectionValue(configuration));
345
331
  }
346
332
  getNativeApplication() {
347
333
  let nativeApp = this.nativeApp;
@@ -499,6 +485,20 @@ export class AndroidApplication extends ApplicationCommon {
499
485
  return 'light';
500
486
  }
501
487
  }
488
+ getLayoutDirection() {
489
+ const resources = this.context.getResources();
490
+ const configuration = resources.getConfiguration();
491
+ return this.getLayoutDirectionValue(configuration);
492
+ }
493
+ getLayoutDirectionValue(configuration) {
494
+ const layoutDirection = configuration.getLayoutDirection();
495
+ switch (layoutDirection) {
496
+ case android.view.View.LAYOUT_DIRECTION_LTR:
497
+ return CoreTypes.LayoutDirection.ltr;
498
+ case android.view.View.LAYOUT_DIRECTION_RTL:
499
+ return CoreTypes.LayoutDirection.rtl;
500
+ }
501
+ }
502
502
  getOrientation() {
503
503
  const resources = this.context.getResources();
504
504
  const configuration = resources.getConfiguration();
@@ -857,117 +857,116 @@ function ensureNativeClasses() {
857
857
  ]);
858
858
  clickableRolesMap = new Set([AccessibilityRole.Button, AccessibilityRole.ImageButton]);
859
859
  const ignoreRoleTypesForTrace = new Set([AccessibilityRole.Header, AccessibilityRole.Link, AccessibilityRole.None, AccessibilityRole.Summary]);
860
- var TNSAccessibilityDelegateImpl = /** @class */ (function (_super) {
861
- __extends(TNSAccessibilityDelegateImpl, _super);
862
- function TNSAccessibilityDelegateImpl() {
863
- var _this = _super.call(this) || this;
864
- return global.__native(_this);
865
- }
866
- TNSAccessibilityDelegateImpl.prototype.getTnsView = function (androidView) {
867
- var _a;
868
- var view = (_a = androidViewToTNSView.get(androidView)) === null || _a === void 0 ? void 0 : _a.get();
869
- if (!view) {
870
- androidViewToTNSView.delete(androidView);
871
- return null;
872
- }
873
- return view;
874
- };
875
- TNSAccessibilityDelegateImpl.prototype.onInitializeAccessibilityNodeInfo = function (host, info) {
876
- _super.prototype.onInitializeAccessibilityNodeInfo.call(this, host, info);
877
- var view = this.getTnsView(host);
878
- if (!view) {
879
- if (Trace.isEnabled()) {
880
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(host, " ").concat(info, " no tns-view"), Trace.categories.Accessibility);
881
- }
882
- return;
883
- }
884
- // Set resource id that can be used with test frameworks without polluting the content description.
885
- var id = host.getTag(androidUtils.resources.getId(":id/nativescript_accessibility_id"));
886
- if (id != null) {
887
- info.setViewIdResourceName(id);
860
+ var TNSAccessibilityDelegateImpl = (function (_super) {
861
+ __extends(TNSAccessibilityDelegateImpl, _super);
862
+ function TNSAccessibilityDelegateImpl() {
863
+ var _this = _super.call(this) || this;
864
+ return global.__native(_this);
888
865
  }
889
- var accessibilityRole = view.accessibilityRole;
890
- if (accessibilityRole) {
891
- var androidClassName = RoleTypeMap.get(accessibilityRole);
892
- if (androidClassName) {
893
- var oldClassName = info.getClassName() || (SDK_VERSION >= 28 && host.getAccessibilityClassName()) || null;
894
- info.setClassName(androidClassName);
895
- if (Trace.isEnabled()) {
896
- Trace.write("".concat(view, ".accessibilityRole = \"").concat(accessibilityRole, "\" is mapped to \"").concat(androidClassName, "\" (was ").concat(oldClassName, "). ").concat(info.getClassName()), Trace.categories.Accessibility);
897
- }
866
+ TNSAccessibilityDelegateImpl.prototype.getTnsView = function (androidView) {
867
+ var _a;
868
+ var view = (_a = androidViewToTNSView.get(androidView)) === null || _a === void 0 ? void 0 : _a.get();
869
+ if (!view) {
870
+ androidViewToTNSView.delete(androidView);
871
+ return null;
898
872
  }
899
- else if (!ignoreRoleTypesForTrace.has(accessibilityRole)) {
873
+ return view;
874
+ };
875
+ TNSAccessibilityDelegateImpl.prototype.onInitializeAccessibilityNodeInfo = function (host, info) {
876
+ _super.prototype.onInitializeAccessibilityNodeInfo.call(this, host, info);
877
+ var view = this.getTnsView(host);
878
+ if (!view) {
900
879
  if (Trace.isEnabled()) {
901
- Trace.write("".concat(view, ".accessibilityRole = \"").concat(accessibilityRole, "\" is unknown"), Trace.categories.Accessibility);
880
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(host, " ").concat(info, " no tns-view"), Trace.categories.Accessibility);
902
881
  }
882
+ return;
903
883
  }
904
- if (clickableRolesMap.has(accessibilityRole)) {
905
- if (Trace.isEnabled()) {
906
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set clickable role=").concat(accessibilityRole), Trace.categories.Accessibility);
907
- }
908
- info.setClickable(true);
884
+ var id = host.getTag(androidUtils.resources.getId(":id/nativescript_accessibility_id"));
885
+ if (id != null) {
886
+ info.setViewIdResourceName(id);
909
887
  }
910
- if (SDK_VERSION >= 28) {
911
- if (accessibilityRole === AccessibilityRole.Header) {
888
+ var accessibilityRole = view.accessibilityRole;
889
+ if (accessibilityRole) {
890
+ var androidClassName = RoleTypeMap.get(accessibilityRole);
891
+ if (androidClassName) {
892
+ var oldClassName = info.getClassName() || (SDK_VERSION >= 28 && host.getAccessibilityClassName()) || null;
893
+ info.setClassName(androidClassName);
912
894
  if (Trace.isEnabled()) {
913
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set heading role=").concat(accessibilityRole), Trace.categories.Accessibility);
895
+ Trace.write("".concat(view, ".accessibilityRole = \"").concat(accessibilityRole, "\" is mapped to \"").concat(androidClassName, "\" (was ").concat(oldClassName, "). ").concat(info.getClassName()), Trace.categories.Accessibility);
914
896
  }
915
- info.setHeading(true);
916
897
  }
917
- else if (host.isAccessibilityHeading()) {
898
+ else if (!ignoreRoleTypesForTrace.has(accessibilityRole)) {
918
899
  if (Trace.isEnabled()) {
919
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set heading from host"), Trace.categories.Accessibility);
900
+ Trace.write("".concat(view, ".accessibilityRole = \"").concat(accessibilityRole, "\" is unknown"), Trace.categories.Accessibility);
920
901
  }
921
- info.setHeading(true);
922
902
  }
923
- else {
903
+ if (clickableRolesMap.has(accessibilityRole)) {
924
904
  if (Trace.isEnabled()) {
925
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set not heading"), Trace.categories.Accessibility);
905
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set clickable role=").concat(accessibilityRole), Trace.categories.Accessibility);
926
906
  }
927
- info.setHeading(false);
907
+ info.setClickable(true);
928
908
  }
929
- }
930
- switch (accessibilityRole) {
931
- case AccessibilityRole.Switch:
932
- case AccessibilityRole.RadioButton:
933
- case AccessibilityRole.Checkbox: {
934
- if (Trace.isEnabled()) {
935
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set checkable and check=").concat(view.accessibilityState === AccessibilityState.Checked), Trace.categories.Accessibility);
909
+ if (SDK_VERSION >= 28) {
910
+ if (accessibilityRole === AccessibilityRole.Header) {
911
+ if (Trace.isEnabled()) {
912
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set heading role=").concat(accessibilityRole), Trace.categories.Accessibility);
913
+ }
914
+ info.setHeading(true);
915
+ }
916
+ else if (host.isAccessibilityHeading()) {
917
+ if (Trace.isEnabled()) {
918
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set heading from host"), Trace.categories.Accessibility);
919
+ }
920
+ info.setHeading(true);
921
+ }
922
+ else {
923
+ if (Trace.isEnabled()) {
924
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set not heading"), Trace.categories.Accessibility);
925
+ }
926
+ info.setHeading(false);
936
927
  }
937
- info.setCheckable(true);
938
- info.setChecked(view.accessibilityState === AccessibilityState.Checked);
939
- break;
940
928
  }
941
- default: {
942
- if (Trace.isEnabled()) {
943
- Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set enabled=").concat(view.accessibilityState !== AccessibilityState.Disabled, " and selected=").concat(view.accessibilityState === AccessibilityState.Selected), Trace.categories.Accessibility);
929
+ switch (accessibilityRole) {
930
+ case AccessibilityRole.Switch:
931
+ case AccessibilityRole.RadioButton:
932
+ case AccessibilityRole.Checkbox: {
933
+ if (Trace.isEnabled()) {
934
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set checkable and check=").concat(view.accessibilityState === AccessibilityState.Checked), Trace.categories.Accessibility);
935
+ }
936
+ info.setCheckable(true);
937
+ info.setChecked(view.accessibilityState === AccessibilityState.Checked);
938
+ break;
939
+ }
940
+ default: {
941
+ if (Trace.isEnabled()) {
942
+ Trace.write("onInitializeAccessibilityNodeInfo ".concat(view, " - set enabled=").concat(view.accessibilityState !== AccessibilityState.Disabled, " and selected=").concat(view.accessibilityState === AccessibilityState.Selected), Trace.categories.Accessibility);
943
+ }
944
+ info.setEnabled(view.accessibilityState !== AccessibilityState.Disabled);
945
+ info.setSelected(view.accessibilityState === AccessibilityState.Selected);
946
+ break;
944
947
  }
945
- info.setEnabled(view.accessibilityState !== AccessibilityState.Disabled);
946
- info.setSelected(view.accessibilityState === AccessibilityState.Selected);
947
- break;
948
948
  }
949
949
  }
950
- }
951
- if (view.accessible) {
952
- info.setFocusable(true);
953
- }
954
- };
955
- TNSAccessibilityDelegateImpl.prototype.sendAccessibilityEvent = function (host, eventType) {
956
- _super.prototype.sendAccessibilityEvent.call(this, host, eventType);
957
- var view = this.getTnsView(host);
958
- if (!view) {
959
- console.log("skip - ".concat(host, " - ").concat(accessibilityEventTypeMap.get(eventType)));
960
- return;
961
- }
962
- try {
963
- accessibilityEventHelper(view, eventType);
964
- }
965
- catch (err) {
966
- console.error(err);
967
- }
968
- };
969
- return TNSAccessibilityDelegateImpl;
970
- }(AccessibilityDelegate));
950
+ if (view.accessible) {
951
+ info.setFocusable(true);
952
+ }
953
+ };
954
+ TNSAccessibilityDelegateImpl.prototype.sendAccessibilityEvent = function (host, eventType) {
955
+ _super.prototype.sendAccessibilityEvent.call(this, host, eventType);
956
+ var view = this.getTnsView(host);
957
+ if (!view) {
958
+ console.log("skip - ".concat(host, " - ").concat(accessibilityEventTypeMap.get(eventType)));
959
+ return;
960
+ }
961
+ try {
962
+ accessibilityEventHelper(view, eventType);
963
+ }
964
+ catch (err) {
965
+ console.error(err);
966
+ }
967
+ };
968
+ return TNSAccessibilityDelegateImpl;
969
+ }(AccessibilityDelegate));
971
970
  TNSAccessibilityDelegate = new TNSAccessibilityDelegateImpl();
972
971
  accessibilityEventMap = new Map([
973
972
  /**