@iternio/react-native-auto-play 0.0.9 → 0.0.11

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 (113) hide show
  1. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlay.kt +10 -9
  2. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplate.kt +6 -3
  3. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplate.kt +7 -5
  4. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplate.kt +6 -3
  5. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplate.kt +6 -3
  6. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplate.kt +6 -3
  7. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/MapTemplate.kt +10 -6
  8. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/Parser.kt +3 -0
  9. package/ios/hybrid/HybridAutoPlay.swift +48 -16
  10. package/ios/hybrid/HybridGridTemplate.swift +17 -10
  11. package/ios/hybrid/HybridInformationTemplate.swift +18 -10
  12. package/ios/hybrid/HybridListTemplate.swift +18 -10
  13. package/ios/hybrid/HybridMapTemplate.swift +26 -11
  14. package/ios/hybrid/HybridMessageTemplate.swift +4 -7
  15. package/ios/hybrid/HybridSearchTemplate.swift +20 -10
  16. package/ios/scenes/AutoPlayInterfaceController.swift +11 -14
  17. package/ios/scenes/AutoPlayScene.swift +1 -1
  18. package/ios/scenes/HeadUnitSceneDelegate.swift +5 -4
  19. package/ios/templates/AutoPlayTemplate.swift +3 -2
  20. package/ios/templates/GridTemplate.swift +1 -2
  21. package/ios/templates/InformationTemplate.swift +1 -2
  22. package/ios/templates/ListTemplate.swift +3 -2
  23. package/ios/templates/MapTemplate.swift +39 -33
  24. package/ios/templates/SearchTemplate.swift +11 -7
  25. package/ios/templates/TemplateStore.swift +8 -8
  26. package/ios/utils/RootModule.swift +13 -40
  27. package/lib/specs/AutoPlay.nitro.d.ts +1 -1
  28. package/lib/specs/GridTemplate.nitro.d.ts +1 -1
  29. package/lib/specs/InformationTemplate.nitro.d.ts +1 -1
  30. package/lib/specs/ListTemplate.nitro.d.ts +1 -1
  31. package/lib/specs/MapTemplate.nitro.d.ts +1 -1
  32. package/lib/specs/SearchTemplate.nitro.d.ts +1 -1
  33. package/lib/templates/GridTemplate.d.ts +1 -1
  34. package/lib/templates/GridTemplate.js +1 -1
  35. package/lib/templates/InformationTemplate.d.ts +1 -1
  36. package/lib/templates/InformationTemplate.js +1 -1
  37. package/lib/templates/ListTemplate.d.ts +1 -1
  38. package/lib/templates/ListTemplate.js +1 -1
  39. package/lib/templates/MapTemplate.d.ts +2 -2
  40. package/lib/templates/MapTemplate.js +6 -2
  41. package/lib/templates/SearchTemplate.d.ts +1 -1
  42. package/lib/templates/SearchTemplate.js +1 -1
  43. package/lib/templates/Template.d.ts +1 -1
  44. package/lib/templates/Template.js +1 -1
  45. package/lib/types/Maneuver.d.ts +5 -2
  46. package/lib/utils/NitroManeuver.d.ts +4 -1
  47. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.cpp +14 -3
  48. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.hpp +1 -1
  49. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +16 -3
  50. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.hpp +1 -1
  51. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +16 -3
  52. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.hpp +1 -1
  53. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +16 -3
  54. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.hpp +1 -1
  55. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +21 -4
  56. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +2 -2
  57. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +16 -3
  58. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.hpp +1 -1
  59. package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +57 -0
  60. package/nitrogen/generated/android/c++/JNitroManeuver.cpp +6 -2
  61. package/nitrogen/generated/android/c++/JNitroManeuver.hpp +19 -2
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +1 -1
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +2 -1
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +2 -1
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +2 -1
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +2 -1
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +2 -1
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroLoadingManeuver.kt +38 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver.kt +15 -2
  70. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +28 -19
  71. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Umbrella.hpp +3 -0
  72. package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.hpp +3 -1
  73. package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.hpp +4 -1
  74. package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.hpp +4 -1
  75. package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.hpp +4 -1
  76. package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.hpp +8 -2
  77. package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.hpp +4 -1
  78. package/nitrogen/generated/ios/swift/HybridAutoPlaySpec.swift +1 -1
  79. package/nitrogen/generated/ios/swift/HybridAutoPlaySpec_cxx.swift +12 -4
  80. package/nitrogen/generated/ios/swift/HybridGridTemplateSpec.swift +2 -1
  81. package/nitrogen/generated/ios/swift/HybridGridTemplateSpec_cxx.swift +13 -4
  82. package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec.swift +2 -1
  83. package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec_cxx.swift +13 -4
  84. package/nitrogen/generated/ios/swift/HybridListTemplateSpec.swift +2 -1
  85. package/nitrogen/generated/ios/swift/HybridListTemplateSpec_cxx.swift +13 -4
  86. package/nitrogen/generated/ios/swift/HybridMapTemplateSpec.swift +2 -1
  87. package/nitrogen/generated/ios/swift/HybridMapTemplateSpec_cxx.swift +17 -5
  88. package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec.swift +2 -1
  89. package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec_cxx.swift +13 -4
  90. package/nitrogen/generated/ios/swift/NitroLoadingManeuver.swift +35 -0
  91. package/nitrogen/generated/ios/swift/NitroManeuver.swift +2 -1
  92. package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.hpp +1 -1
  93. package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.hpp +2 -1
  94. package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.hpp +2 -1
  95. package/nitrogen/generated/shared/c++/HybridListTemplateSpec.hpp +2 -1
  96. package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.hpp +6 -2
  97. package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.hpp +2 -1
  98. package/nitrogen/generated/shared/c++/NitroLoadingManeuver.hpp +75 -0
  99. package/package.json +1 -1
  100. package/src/specs/AutoPlay.nitro.ts +1 -1
  101. package/src/specs/GridTemplate.nitro.ts +1 -1
  102. package/src/specs/InformationTemplate.nitro.ts +1 -1
  103. package/src/specs/ListTemplate.nitro.ts +1 -1
  104. package/src/specs/MapTemplate.nitro.ts +1 -1
  105. package/src/specs/SearchTemplate.nitro.ts +4 -1
  106. package/src/templates/GridTemplate.ts +1 -1
  107. package/src/templates/InformationTemplate.ts +1 -1
  108. package/src/templates/ListTemplate.ts +1 -1
  109. package/src/templates/MapTemplate.ts +7 -2
  110. package/src/templates/SearchTemplate.ts +1 -1
  111. package/src/templates/Template.ts +1 -1
  112. package/src/types/Maneuver.ts +8 -1
  113. package/src/utils/NitroManeuver.ts +8 -1
@@ -212,9 +212,9 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
212
212
  }
213
213
  }();
214
214
  }
215
- void JHybridAutoPlaySpec::setTemplateHeaderActions(const std::string& templateId, const std::optional<std::vector<NitroAction>>& headerActions) {
216
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroAction>> /* headerActions */)>("setTemplateHeaderActions");
217
- method(_javaPart, jni::make_jstring(templateId), headerActions.has_value() ? [&]() {
215
+ std::shared_ptr<Promise<void>> JHybridAutoPlaySpec::setTemplateHeaderActions(const std::string& templateId, const std::optional<std::vector<NitroAction>>& headerActions) {
216
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroAction>> /* headerActions */)>("setTemplateHeaderActions");
217
+ auto __result = method(_javaPart, jni::make_jstring(templateId), headerActions.has_value() ? [&]() {
218
218
  size_t __size = headerActions.value().size();
219
219
  jni::local_ref<jni::JArrayClass<JNitroAction>> __array = jni::JArrayClass<JNitroAction>::newArray(__size);
220
220
  for (size_t __i = 0; __i < __size; __i++) {
@@ -224,6 +224,17 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
224
224
  }
225
225
  return __array;
226
226
  }() : nullptr);
227
+ return [&]() {
228
+ auto __promise = Promise<void>::create();
229
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
230
+ __promise->resolve();
231
+ });
232
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
233
+ jni::JniException __jniError(__throwable);
234
+ __promise->reject(std::make_exception_ptr(__jniError));
235
+ });
236
+ return __promise;
237
+ }();
227
238
  }
228
239
  bool JHybridAutoPlaySpec::isConnected() {
229
240
  static const auto method = javaClassStatic()->getMethod<jboolean()>("isConnected");
@@ -62,7 +62,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
62
62
  std::shared_ptr<Promise<void>> popToRootTemplate(std::optional<bool> animate) override;
63
63
  std::shared_ptr<Promise<void>> popToTemplate(const std::string& templateId, std::optional<bool> animate) override;
64
64
  std::function<void()> addSafeAreaInsetsListener(const std::string& moduleName, const std::function<void(const SafeAreaInsets& /* insets */)>& callback) override;
65
- void setTemplateHeaderActions(const std::string& templateId, const std::optional<std::vector<NitroAction>>& headerActions) override;
65
+ std::shared_ptr<Promise<void>> setTemplateHeaderActions(const std::string& templateId, const std::optional<std::vector<NitroAction>>& headerActions) override;
66
66
  bool isConnected() override;
67
67
 
68
68
  private:
@@ -38,6 +38,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroMapBut
38
38
  // Forward declaration of `NitroMapButtonType` to properly resolve imports.
39
39
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroMapButtonType; }
40
40
 
41
+ #include <NitroModules/Promise.hpp>
42
+ #include <NitroModules/JPromise.hpp>
41
43
  #include "GridTemplateConfig.hpp"
42
44
  #include "JGridTemplateConfig.hpp"
43
45
  #include <string>
@@ -115,9 +117,9 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
115
117
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JGridTemplateConfig> /* config */)>("createGridTemplate");
116
118
  method(_javaPart, JGridTemplateConfig::fromCpp(config));
117
119
  }
118
- void JHybridGridTemplateSpec::updateGridTemplateButtons(const std::string& templateId, const std::vector<NitroGridButton>& buttons) {
119
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroGridButton>> /* buttons */)>("updateGridTemplateButtons");
120
- method(_javaPart, jni::make_jstring(templateId), [&]() {
120
+ std::shared_ptr<Promise<void>> JHybridGridTemplateSpec::updateGridTemplateButtons(const std::string& templateId, const std::vector<NitroGridButton>& buttons) {
121
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroGridButton>> /* buttons */)>("updateGridTemplateButtons");
122
+ auto __result = method(_javaPart, jni::make_jstring(templateId), [&]() {
121
123
  size_t __size = buttons.size();
122
124
  jni::local_ref<jni::JArrayClass<JNitroGridButton>> __array = jni::JArrayClass<JNitroGridButton>::newArray(__size);
123
125
  for (size_t __i = 0; __i < __size; __i++) {
@@ -127,6 +129,17 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
127
129
  }
128
130
  return __array;
129
131
  }());
132
+ return [&]() {
133
+ auto __promise = Promise<void>::create();
134
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
135
+ __promise->resolve();
136
+ });
137
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
138
+ jni::JniException __jniError(__throwable);
139
+ __promise->reject(std::make_exception_ptr(__jniError));
140
+ });
141
+ return __promise;
142
+ }();
130
143
  }
131
144
 
132
145
  } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -55,7 +55,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
55
55
  public:
56
56
  // Methods
57
57
  void createGridTemplate(const GridTemplateConfig& config) override;
58
- void updateGridTemplateButtons(const std::string& templateId, const std::vector<NitroGridButton>& buttons) override;
58
+ std::shared_ptr<Promise<void>> updateGridTemplateButtons(const std::string& templateId, const std::vector<NitroGridButton>& buttons) override;
59
59
 
60
60
  private:
61
61
  friend HybridBase;
@@ -42,6 +42,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroMapBut
42
42
  // Forward declaration of `NitroMapButtonType` to properly resolve imports.
43
43
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroMapButtonType; }
44
44
 
45
+ #include <NitroModules/Promise.hpp>
46
+ #include <NitroModules/JPromise.hpp>
45
47
  #include "InformationTemplateConfig.hpp"
46
48
  #include "JInformationTemplateConfig.hpp"
47
49
  #include <string>
@@ -123,9 +125,20 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
123
125
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JInformationTemplateConfig> /* config */)>("createInformationTemplate");
124
126
  method(_javaPart, JInformationTemplateConfig::fromCpp(config));
125
127
  }
126
- void JHybridInformationTemplateSpec::updateInformationTemplateSections(const std::string& templateId, const NitroSection& section) {
127
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<JNitroSection> /* section */)>("updateInformationTemplateSections");
128
- method(_javaPart, jni::make_jstring(templateId), JNitroSection::fromCpp(section));
128
+ std::shared_ptr<Promise<void>> JHybridInformationTemplateSpec::updateInformationTemplateSections(const std::string& templateId, const NitroSection& section) {
129
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<JNitroSection> /* section */)>("updateInformationTemplateSections");
130
+ auto __result = method(_javaPart, jni::make_jstring(templateId), JNitroSection::fromCpp(section));
131
+ return [&]() {
132
+ auto __promise = Promise<void>::create();
133
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
134
+ __promise->resolve();
135
+ });
136
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
137
+ jni::JniException __jniError(__throwable);
138
+ __promise->reject(std::make_exception_ptr(__jniError));
139
+ });
140
+ return __promise;
141
+ }();
129
142
  }
130
143
 
131
144
  } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -55,7 +55,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
55
55
  public:
56
56
  // Methods
57
57
  void createInformationTemplate(const InformationTemplateConfig& config) override;
58
- void updateInformationTemplateSections(const std::string& templateId, const NitroSection& section) override;
58
+ std::shared_ptr<Promise<void>> updateInformationTemplateSections(const std::string& templateId, const NitroSection& section) override;
59
59
 
60
60
  private:
61
61
  friend HybridBase;
@@ -42,6 +42,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroMapBut
42
42
  // Forward declaration of `NitroMapButtonType` to properly resolve imports.
43
43
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroMapButtonType; }
44
44
 
45
+ #include <NitroModules/Promise.hpp>
46
+ #include <NitroModules/JPromise.hpp>
45
47
  #include "ListTemplateConfig.hpp"
46
48
  #include "JListTemplateConfig.hpp"
47
49
  #include <string>
@@ -123,9 +125,9 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
123
125
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JListTemplateConfig> /* config */)>("createListTemplate");
124
126
  method(_javaPart, JListTemplateConfig::fromCpp(config));
125
127
  }
126
- void JHybridListTemplateSpec::updateListTemplateSections(const std::string& templateId, const std::optional<std::vector<NitroSection>>& sections) {
127
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroSection>> /* sections */)>("updateListTemplateSections");
128
- method(_javaPart, jni::make_jstring(templateId), sections.has_value() ? [&]() {
128
+ std::shared_ptr<Promise<void>> JHybridListTemplateSpec::updateListTemplateSections(const std::string& templateId, const std::optional<std::vector<NitroSection>>& sections) {
129
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroSection>> /* sections */)>("updateListTemplateSections");
130
+ auto __result = method(_javaPart, jni::make_jstring(templateId), sections.has_value() ? [&]() {
129
131
  size_t __size = sections.value().size();
130
132
  jni::local_ref<jni::JArrayClass<JNitroSection>> __array = jni::JArrayClass<JNitroSection>::newArray(__size);
131
133
  for (size_t __i = 0; __i < __size; __i++) {
@@ -135,6 +137,17 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
135
137
  }
136
138
  return __array;
137
139
  }() : nullptr);
140
+ return [&]() {
141
+ auto __promise = Promise<void>::create();
142
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
143
+ __promise->resolve();
144
+ });
145
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
146
+ jni::JniException __jniError(__throwable);
147
+ __promise->reject(std::make_exception_ptr(__jniError));
148
+ });
149
+ return __promise;
150
+ }();
138
151
  }
139
152
 
140
153
  } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -55,7 +55,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
55
55
  public:
56
56
  // Methods
57
57
  void createListTemplate(const ListTemplateConfig& config) override;
58
- void updateListTemplateSections(const std::string& templateId, const std::optional<std::vector<NitroSection>>& sections) override;
58
+ std::shared_ptr<Promise<void>> updateListTemplateSections(const std::string& templateId, const std::optional<std::vector<NitroSection>>& sections) override;
59
59
 
60
60
  private:
61
61
  friend HybridBase;
@@ -65,6 +65,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct TripPreview
65
65
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroRoutingManeuver; }
66
66
  // Forward declaration of `NitroMessageManeuver` to properly resolve imports.
67
67
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroMessageManeuver; }
68
+ // Forward declaration of `NitroLoadingManeuver` to properly resolve imports.
69
+ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroLoadingManeuver; }
68
70
  // Forward declaration of `NitroAttributedString` to properly resolve imports.
69
71
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroAttributedString; }
70
72
  // Forward declaration of `NitroAttributedStringImage` to properly resolve imports.
@@ -97,6 +99,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct TripConfig;
97
99
  #include <string>
98
100
  #include <functional>
99
101
  #include "JFunc_void_std__string.hpp"
102
+ #include <NitroModules/Promise.hpp>
103
+ #include <NitroModules/JPromise.hpp>
100
104
  #include "MapTemplateConfig.hpp"
101
105
  #include "JMapTemplateConfig.hpp"
102
106
  #include <optional>
@@ -165,6 +169,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct TripConfig;
165
169
  #include "JFunc_void_std__string_std__string.hpp"
166
170
  #include "NitroRoutingManeuver.hpp"
167
171
  #include "NitroMessageManeuver.hpp"
172
+ #include "NitroLoadingManeuver.hpp"
168
173
  #include "JNitroManeuver.hpp"
169
174
  #include "JNitroRoutingManeuver.hpp"
170
175
  #include "NitroAttributedString.hpp"
@@ -193,6 +198,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct TripConfig;
193
198
  #include "ManeuverType.hpp"
194
199
  #include "JManeuverType.hpp"
195
200
  #include "JNitroMessageManeuver.hpp"
201
+ #include "JNitroLoadingManeuver.hpp"
196
202
  #include "TripConfig.hpp"
197
203
  #include "JTripConfig.hpp"
198
204
 
@@ -271,9 +277,9 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
271
277
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */)>("hideTripSelector");
272
278
  method(_javaPart, jni::make_jstring(templateId));
273
279
  }
274
- void JHybridMapTemplateSpec::setTemplateMapButtons(const std::string& templateId, const std::optional<std::vector<NitroMapButton>>& buttons) {
275
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroMapButton>> /* buttons */)>("setTemplateMapButtons");
276
- method(_javaPart, jni::make_jstring(templateId), buttons.has_value() ? [&]() {
280
+ std::shared_ptr<Promise<void>> JHybridMapTemplateSpec::setTemplateMapButtons(const std::string& templateId, const std::optional<std::vector<NitroMapButton>>& buttons) {
281
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<jni::JArrayClass<JNitroMapButton>> /* buttons */)>("setTemplateMapButtons");
282
+ auto __result = method(_javaPart, jni::make_jstring(templateId), buttons.has_value() ? [&]() {
277
283
  size_t __size = buttons.value().size();
278
284
  jni::local_ref<jni::JArrayClass<JNitroMapButton>> __array = jni::JArrayClass<JNitroMapButton>::newArray(__size);
279
285
  for (size_t __i = 0; __i < __size; __i++) {
@@ -283,6 +289,17 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
283
289
  }
284
290
  return __array;
285
291
  }() : nullptr);
292
+ return [&]() {
293
+ auto __promise = Promise<void>::create();
294
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
295
+ __promise->resolve();
296
+ });
297
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
298
+ jni::JniException __jniError(__throwable);
299
+ __promise->reject(std::make_exception_ptr(__jniError));
300
+ });
301
+ return __promise;
302
+ }();
286
303
  }
287
304
  void JHybridMapTemplateSpec::updateVisibleTravelEstimate(const std::string& templateId, VisibleTravelEstimate visibleTravelEstimate) {
288
305
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<JVisibleTravelEstimate> /* visibleTravelEstimate */)>("updateVisibleTravelEstimate");
@@ -301,7 +318,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
301
318
  return __array;
302
319
  }());
303
320
  }
304
- void JHybridMapTemplateSpec::updateManeuvers(const std::string& templateId, const std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver>& maneuvers) {
321
+ void JHybridMapTemplateSpec::updateManeuvers(const std::string& templateId, const std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver, NitroLoadingManeuver>& maneuvers) {
305
322
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<JNitroManeuver> /* maneuvers */)>("updateManeuvers");
306
323
  method(_javaPart, jni::make_jstring(templateId), JNitroManeuver::fromCpp(maneuvers));
307
324
  }
@@ -60,10 +60,10 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
60
60
  void dismissNavigationAlert(const std::string& templateId, double navigationAlertId) override;
61
61
  TripSelectorCallback showTripSelector(const std::string& templateId, const std::vector<TripsConfig>& trips, const std::optional<std::string>& selectedTripId, const TripPreviewTextConfiguration& textConfig, const std::function<void(const std::string& /* tripId */, const std::string& /* routeId */)>& onTripSelected, const std::function<void(const std::string& /* tripId */, const std::string& /* routeId */)>& onTripStarted, const std::function<void()>& onBackPressed, const std::vector<NitroMapButton>& mapButtons) override;
62
62
  void hideTripSelector(const std::string& templateId) override;
63
- void setTemplateMapButtons(const std::string& templateId, const std::optional<std::vector<NitroMapButton>>& buttons) override;
63
+ std::shared_ptr<Promise<void>> setTemplateMapButtons(const std::string& templateId, const std::optional<std::vector<NitroMapButton>>& buttons) override;
64
64
  void updateVisibleTravelEstimate(const std::string& templateId, VisibleTravelEstimate visibleTravelEstimate) override;
65
65
  void updateTravelEstimates(const std::string& templateId, const std::vector<TripPoint>& steps) override;
66
- void updateManeuvers(const std::string& templateId, const std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver>& maneuvers) override;
66
+ void updateManeuvers(const std::string& templateId, const std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver, NitroLoadingManeuver>& maneuvers) override;
67
67
  void startNavigation(const std::string& templateId, const TripConfig& trip) override;
68
68
  void stopNavigation(const std::string& templateId) override;
69
69
 
@@ -36,6 +36,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroRow; }
36
36
  // Forward declaration of `NitroSectionType` to properly resolve imports.
37
37
  namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroSectionType; }
38
38
 
39
+ #include <NitroModules/Promise.hpp>
40
+ #include <NitroModules/JPromise.hpp>
39
41
  #include "SearchTemplateConfig.hpp"
40
42
  #include "JSearchTemplateConfig.hpp"
41
43
  #include <string>
@@ -110,9 +112,20 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
110
112
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JSearchTemplateConfig> /* config */)>("createSearchTemplate");
111
113
  method(_javaPart, JSearchTemplateConfig::fromCpp(config));
112
114
  }
113
- void JHybridSearchTemplateSpec::updateSearchResults(const std::string& templateId, const NitroSection& results) {
114
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<JNitroSection> /* results */)>("updateSearchResults");
115
- method(_javaPart, jni::make_jstring(templateId), JNitroSection::fromCpp(results));
115
+ std::shared_ptr<Promise<void>> JHybridSearchTemplateSpec::updateSearchResults(const std::string& templateId, const NitroSection& results) {
116
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* templateId */, jni::alias_ref<JNitroSection> /* results */)>("updateSearchResults");
117
+ auto __result = method(_javaPart, jni::make_jstring(templateId), JNitroSection::fromCpp(results));
118
+ return [&]() {
119
+ auto __promise = Promise<void>::create();
120
+ __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
121
+ __promise->resolve();
122
+ });
123
+ __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
124
+ jni::JniException __jniError(__throwable);
125
+ __promise->reject(std::make_exception_ptr(__jniError));
126
+ });
127
+ return __promise;
128
+ }();
116
129
  }
117
130
 
118
131
  } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -55,7 +55,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
55
55
  public:
56
56
  // Methods
57
57
  void createSearchTemplate(const SearchTemplateConfig& config) override;
58
- void updateSearchResults(const std::string& templateId, const NitroSection& results) override;
58
+ std::shared_ptr<Promise<void>> updateSearchResults(const std::string& templateId, const NitroSection& results) override;
59
59
 
60
60
  private:
61
61
  friend HybridBase;
@@ -0,0 +1,57 @@
1
+ ///
2
+ /// JNitroLoadingManeuver.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroLoadingManeuver.hpp"
12
+
13
+
14
+
15
+ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "NitroLoadingManeuver" and the the Kotlin data class "NitroLoadingManeuver".
21
+ */
22
+ struct JNitroLoadingManeuver final: public jni::JavaClass<JNitroLoadingManeuver> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/NitroLoadingManeuver;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroLoadingManeuver by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ NitroLoadingManeuver toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldIsLoading = clazz->getField<jboolean>("isLoading");
35
+ jboolean isLoading = this->getFieldValue(fieldIsLoading);
36
+ return NitroLoadingManeuver(
37
+ static_cast<bool>(isLoading)
38
+ );
39
+ }
40
+
41
+ public:
42
+ /**
43
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
44
+ */
45
+ [[maybe_unused]]
46
+ static jni::local_ref<JNitroLoadingManeuver::javaobject> fromCpp(const NitroLoadingManeuver& value) {
47
+ using JSignature = JNitroLoadingManeuver(jboolean);
48
+ static const auto clazz = javaClassStatic();
49
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
50
+ return create(
51
+ clazz,
52
+ value.isLoading
53
+ );
54
+ }
55
+ };
56
+
57
+ } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -9,9 +9,9 @@
9
9
 
10
10
  namespace margelo::nitro::swe::iternio::reactnativeautoplay {
11
11
  /**
12
- * Converts JNitroManeuver to std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver>
12
+ * Converts JNitroManeuver to std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver, NitroLoadingManeuver>
13
13
  */
14
- std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver> JNitroManeuver::toCpp() const {
14
+ std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver, NitroLoadingManeuver> JNitroManeuver::toCpp() const {
15
15
  if (isInstanceOf(JNitroManeuver_impl::First::javaClassStatic())) {
16
16
  // It's a `std::vector<NitroRoutingManeuver>`
17
17
  auto jniValue = static_cast<const JNitroManeuver_impl::First*>(this)->getValue();
@@ -29,6 +29,10 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
29
29
  // It's a `NitroMessageManeuver`
30
30
  auto jniValue = static_cast<const JNitroManeuver_impl::Second*>(this)->getValue();
31
31
  return jniValue->toCpp();
32
+ } else if (isInstanceOf(JNitroManeuver_impl::Third::javaClassStatic())) {
33
+ // It's a `NitroLoadingManeuver`
34
+ auto jniValue = static_cast<const JNitroManeuver_impl::Third*>(this)->getValue();
35
+ return jniValue->toCpp();
32
36
  }
33
37
  throw std::invalid_argument("Variant is unknown Kotlin instance!");
34
38
  }
@@ -13,6 +13,7 @@
13
13
  #include "NitroRoutingManeuver.hpp"
14
14
  #include <vector>
15
15
  #include "NitroMessageManeuver.hpp"
16
+ #include "NitroLoadingManeuver.hpp"
16
17
  #include <variant>
17
18
  #include "JNitroRoutingManeuver.hpp"
18
19
  #include "NitroAttributedString.hpp"
@@ -61,6 +62,7 @@
61
62
  #include "ManeuverType.hpp"
62
63
  #include "JManeuverType.hpp"
63
64
  #include "JNitroMessageManeuver.hpp"
65
+ #include "JNitroLoadingManeuver.hpp"
64
66
 
65
67
  namespace margelo::nitro::swe::iternio::reactnativeautoplay {
66
68
 
@@ -81,8 +83,12 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
81
83
  static const auto method = javaClassStatic()->getStaticMethod<JNitroManeuver(jni::alias_ref<JNitroMessageManeuver>)>("create");
82
84
  return method(javaClassStatic(), value);
83
85
  }
86
+ static jni::local_ref<JNitroManeuver> create_2(jni::alias_ref<JNitroLoadingManeuver> value) {
87
+ static const auto method = javaClassStatic()->getStaticMethod<JNitroManeuver(jni::alias_ref<JNitroLoadingManeuver>)>("create");
88
+ return method(javaClassStatic(), value);
89
+ }
84
90
 
85
- static jni::local_ref<JNitroManeuver> fromCpp(const std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver>& variant) {
91
+ static jni::local_ref<JNitroManeuver> fromCpp(const std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver, NitroLoadingManeuver>& variant) {
86
92
  switch (variant.index()) {
87
93
  case 0: return create_0([&]() {
88
94
  size_t __size = std::get<0>(variant).size();
@@ -95,11 +101,12 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
95
101
  return __array;
96
102
  }());
97
103
  case 1: return create_1(JNitroMessageManeuver::fromCpp(std::get<1>(variant)));
104
+ case 2: return create_2(JNitroLoadingManeuver::fromCpp(std::get<2>(variant)));
98
105
  default: throw std::invalid_argument("Variant holds unknown index! (" + std::to_string(variant.index()) + ")");
99
106
  }
100
107
  }
101
108
 
102
- [[nodiscard]] std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver> toCpp() const;
109
+ [[nodiscard]] std::variant<std::vector<NitroRoutingManeuver>, NitroMessageManeuver, NitroLoadingManeuver> toCpp() const;
103
110
  };
104
111
 
105
112
  namespace JNitroManeuver_impl {
@@ -122,5 +129,15 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
122
129
  return getFieldValue(field);
123
130
  }
124
131
  };
132
+
133
+ class Third: public jni::JavaClass<Third, JNitroManeuver> {
134
+ public:
135
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver$Third;";
136
+
137
+ [[nodiscard]] jni::local_ref<JNitroLoadingManeuver> getValue() const {
138
+ static const auto field = javaClassStatic()->getField<JNitroLoadingManeuver>("value");
139
+ return getFieldValue(field);
140
+ }
141
+ };
125
142
  } // namespace JNitroManeuver_impl
126
143
  } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -95,7 +95,7 @@ abstract class HybridAutoPlaySpec: HybridObject() {
95
95
 
96
96
  @DoNotStrip
97
97
  @Keep
98
- abstract fun setTemplateHeaderActions(templateId: String, headerActions: Array<NitroAction>?): Unit
98
+ abstract fun setTemplateHeaderActions(templateId: String, headerActions: Array<NitroAction>?): Promise<Unit>
99
99
 
100
100
  @DoNotStrip
101
101
  @Keep
@@ -10,6 +10,7 @@ package com.margelo.nitro.swe.iternio.reactnativeautoplay
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.Promise
13
14
  import com.margelo.nitro.core.HybridObject
14
15
 
15
16
  /**
@@ -51,7 +52,7 @@ abstract class HybridGridTemplateSpec: HybridObject() {
51
52
 
52
53
  @DoNotStrip
53
54
  @Keep
54
- abstract fun updateGridTemplateButtons(templateId: String, buttons: Array<NitroGridButton>): Unit
55
+ abstract fun updateGridTemplateButtons(templateId: String, buttons: Array<NitroGridButton>): Promise<Unit>
55
56
 
56
57
  private external fun initHybrid(): HybridData
57
58
 
@@ -10,6 +10,7 @@ package com.margelo.nitro.swe.iternio.reactnativeautoplay
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.Promise
13
14
  import com.margelo.nitro.core.HybridObject
14
15
 
15
16
  /**
@@ -51,7 +52,7 @@ abstract class HybridInformationTemplateSpec: HybridObject() {
51
52
 
52
53
  @DoNotStrip
53
54
  @Keep
54
- abstract fun updateInformationTemplateSections(templateId: String, section: NitroSection): Unit
55
+ abstract fun updateInformationTemplateSections(templateId: String, section: NitroSection): Promise<Unit>
55
56
 
56
57
  private external fun initHybrid(): HybridData
57
58
 
@@ -10,6 +10,7 @@ package com.margelo.nitro.swe.iternio.reactnativeautoplay
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.Promise
13
14
  import com.margelo.nitro.core.HybridObject
14
15
 
15
16
  /**
@@ -51,7 +52,7 @@ abstract class HybridListTemplateSpec: HybridObject() {
51
52
 
52
53
  @DoNotStrip
53
54
  @Keep
54
- abstract fun updateListTemplateSections(templateId: String, sections: Array<NitroSection>?): Unit
55
+ abstract fun updateListTemplateSections(templateId: String, sections: Array<NitroSection>?): Promise<Unit>
55
56
 
56
57
  private external fun initHybrid(): HybridData
57
58
 
@@ -10,6 +10,7 @@ package com.margelo.nitro.swe.iternio.reactnativeautoplay
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.Promise
13
14
  import com.margelo.nitro.core.HybridObject
14
15
 
15
16
  /**
@@ -76,7 +77,7 @@ abstract class HybridMapTemplateSpec: HybridObject() {
76
77
 
77
78
  @DoNotStrip
78
79
  @Keep
79
- abstract fun setTemplateMapButtons(templateId: String, buttons: Array<NitroMapButton>?): Unit
80
+ abstract fun setTemplateMapButtons(templateId: String, buttons: Array<NitroMapButton>?): Promise<Unit>
80
81
 
81
82
  @DoNotStrip
82
83
  @Keep
@@ -10,6 +10,7 @@ package com.margelo.nitro.swe.iternio.reactnativeautoplay
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
+ import com.margelo.nitro.core.Promise
13
14
  import com.margelo.nitro.core.HybridObject
14
15
 
15
16
  /**
@@ -51,7 +52,7 @@ abstract class HybridSearchTemplateSpec: HybridObject() {
51
52
 
52
53
  @DoNotStrip
53
54
  @Keep
54
- abstract fun updateSearchResults(templateId: String, results: NitroSection): Unit
55
+ abstract fun updateSearchResults(templateId: String, results: NitroSection): Promise<Unit>
55
56
 
56
57
  private external fun initHybrid(): HybridData
57
58
 
@@ -0,0 +1,38 @@
1
+ ///
2
+ /// NitroLoadingManeuver.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.swe.iternio.reactnativeautoplay
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroLoadingManeuver".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroLoadingManeuver(
20
+ @DoNotStrip
21
+ @Keep
22
+ val isLoading: Boolean
23
+ ) {
24
+ /* primary constructor */
25
+
26
+ private companion object {
27
+ /**
28
+ * Constructor called from C++
29
+ */
30
+ @DoNotStrip
31
+ @Keep
32
+ @Suppress("unused")
33
+ @JvmStatic
34
+ private fun fromCpp(isLoading: Boolean): NitroLoadingManeuver {
35
+ return NitroLoadingManeuver(isLoading)
36
+ }
37
+ }
38
+ }