capacitor-record360sdk 7.0.1 → 7.19.8

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.
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
13
13
  s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
14
14
  s.ios.deployment_target = '14.0'
15
15
  s.dependency 'Capacitor'
16
- s.dependency 'Record360SDK', '4.17.2'
16
+ s.dependency 'Record360SDK', '4.19.8'
17
17
  s.swift_version = '5.1'
18
18
  end
package/README.md CHANGED
@@ -53,13 +53,13 @@ launchReferenceCapture(options: { referenceNumber: string; workOrderId?: number;
53
53
  ### addListener('Record360Event', ...)
54
54
 
55
55
  ```typescript
56
- addListener(eventName: 'Record360Event', listenerFunc: (data: { type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated'; referenceNumber?: string; bytesComplete?: number; bytesTotal?: number; error?: string; userId?: string; username?: string; }) => void) => Promise<PluginListenerHandle>
56
+ addListener(eventName: 'Record360Event', listenerFunc: (data: { type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated'; referenceNumber?: string; bytesComplete?: number; bytesTotal?: number; error?: string; userId?: string; username?: string; inspectionJSON?: string; }) => void) => Promise<PluginListenerHandle>
57
57
  ```
58
58
 
59
- | Param | Type |
60
- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
61
- | **`eventName`** | <code>'Record360Event'</code> |
62
- | **`listenerFunc`** | <code>(data: { type: 'onFailedToAuthenticate' \| 'onInspectionCancelled' \| 'onInspectionComplete' \| 'onInspectionUploadFailed' \| 'onInspectionUploadProgress' \| 'onInspectionUploaded' \| 'onInspectionStarted' \| 'onUserAuthenticated'; referenceNumber?: string; bytesComplete?: number; bytesTotal?: number; error?: string; userId?: string; username?: string; }) =&gt; void</code> |
59
+ | Param | Type |
60
+ | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
61
+ | **`eventName`** | <code>'Record360Event'</code> |
62
+ | **`listenerFunc`** | <code>(data: { type: 'onFailedToAuthenticate' \| 'onInspectionCancelled' \| 'onInspectionComplete' \| 'onInspectionUploadFailed' \| 'onInspectionUploadProgress' \| 'onInspectionUploaded' \| 'onInspectionStarted' \| 'onUserAuthenticated'; referenceNumber?: string; bytesComplete?: number; bytesTotal?: number; error?: string; userId?: string; username?: string; inspectionJSON?: string; }) =&gt; void</code> |
63
63
 
64
64
  **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
65
65
 
@@ -101,6 +101,6 @@ dependencies {
101
101
  testImplementation "junit:junit:$junitVersion"
102
102
  androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
103
103
  androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
104
- implementation 'com.record360.sdk:android-sdk:4.19.1'
104
+ implementation 'com.record360.sdk:android-sdk:4.19.4'
105
105
  coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
106
106
  }
@@ -159,11 +159,12 @@ open class CapacitorRecord360SDKPlugin : Plugin(), IRecord360Interface {
159
159
  notifyListeners(EVENT_NAME, data)
160
160
  }
161
161
 
162
- override fun onInspectionUploaded(referenceNumber: String?) {
162
+ override fun onInspectionUploaded(referenceNumber: String?, inspectionJson: String?) {
163
163
  Log.i(TAG, "onInspectionUploaded")
164
164
  val data = JSObject().apply {
165
165
  put("type", "onInspectionUploaded")
166
166
  put("referenceNumber", referenceNumber)
167
+ put("inspectionJSON", inspectionJson)
167
168
  }
168
169
  notifyListeners(EVENT_NAME, data)
169
170
  }
@@ -197,11 +198,8 @@ open class CapacitorRecord360SDKPlugin : Plugin(), IRecord360Interface {
197
198
  var defaultSettings = arrayOf(
198
199
  Record360Setting(Record360SDK.SETTING_UPLOAD_MODE, Record360SDK.UPLOAD_MODE_ONLINE, true),
199
200
  Record360Setting(Record360SDK.SETTING_RESOLUTION, Record360SDK.RESOLUTION_MEDIUM, true),
200
- Record360Setting(Record360SDK.SETTING_COMPRESS_MEDIA, true.toString(), true),
201
201
  Record360Setting(Record360SDK.SETTING_NOTATIONS_ON_IMAGES, false.toString(), true),
202
- Record360Setting(Record360SDK.SETTING_ENABLE_MULTIPLE_CAMERA, false.toString(), true),
203
202
  Record360Setting(Record360SDK.SETTING_LEGACY_CAMERA, false.toString(), true),
204
- Record360Setting(Record360SDK.SETTING_VIN_SCAN, false.toString(), true),
205
203
  Record360Setting(Record360SDK.SETTING_RECORD_AUDIO, true.toString(), true),
206
204
  Record360Setting(Record360SDK.SETTING_TIMESTAMP_MODE, true.toString(), true),
207
205
  Record360Setting(Record360SDK.SETTING_NATIVE_RESOLUTION, false.toString(), true),
package/dist/docs.json CHANGED
@@ -43,7 +43,7 @@
43
43
  },
44
44
  {
45
45
  "name": "addListener",
46
- "signature": "(eventName: 'Record360Event', listenerFunc: (data: { type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated'; referenceNumber?: string; bytesComplete?: number; bytesTotal?: number; error?: string; userId?: string; username?: string; }) => void) => Promise<PluginListenerHandle>",
46
+ "signature": "(eventName: 'Record360Event', listenerFunc: (data: { type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated'; referenceNumber?: string; bytesComplete?: number; bytesTotal?: number; error?: string; userId?: string; username?: string; inspectionJSON?: string; }) => void) => Promise<PluginListenerHandle>",
47
47
  "parameters": [
48
48
  {
49
49
  "name": "eventName",
@@ -53,7 +53,7 @@
53
53
  {
54
54
  "name": "listenerFunc",
55
55
  "docs": "",
56
- "type": "(data: { type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated'; referenceNumber?: string | undefined; bytesComplete?: number | undefined; bytesTotal?: number | undefined; error?: string | undefined; userId?: string | undefined; username?: string | undefined; }) => void"
56
+ "type": "(data: { type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated'; referenceNumber?: string | undefined; bytesComplete?: number | undefined; bytesTotal?: number | undefined; error?: string | undefined; userId?: string | undefined; username?: string | undefined; inspectionJSON?: string | undefined; }) => void"
57
57
  }
58
58
  ],
59
59
  "returns": "Promise<PluginListenerHandle>",
@@ -24,5 +24,6 @@ export interface CapacitorRecord360SDKPlugin {
24
24
  error?: string;
25
25
  userId?: string;
26
26
  username?: string;
27
+ inspectionJSON?: string;
27
28
  }) => void): Promise<PluginListenerHandle>;
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from \"@capacitor/core\"\nexport type Record360Identity = R360PasswordIdentity | R360UserTokenIdentity\n\nexport interface R360PasswordIdentity {\n username: string,\n password: string\n}\n\nexport interface R360UserTokenIdentity {\n userId: string,\n userToken: string\n}\n\nexport interface CapacitorRecord360SDKPlugin {\n launchRecord360(identity?: Record360Identity): Promise<void>\n\n launchReferenceCapture(options: {\n referenceNumber: string,\n workOrderId?: number,\n workOrderLabel?: string,\n identity?: Record360Identity\n }): Promise<void>\n\n addListener(\n eventName: 'Record360Event',\n listenerFunc: (\n data: { \n type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated',\n referenceNumber?: string,\n bytesComplete?: number,\n bytesTotal?: number,\n error?: string,\n userId?: string,\n username?: string\n }\n ) => void,\n ): Promise<PluginListenerHandle>;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from \"@capacitor/core\"\nexport type Record360Identity = R360PasswordIdentity | R360UserTokenIdentity\n\nexport interface R360PasswordIdentity {\n username: string,\n password: string\n}\n\nexport interface R360UserTokenIdentity {\n userId: string,\n userToken: string\n}\n\nexport interface CapacitorRecord360SDKPlugin {\n launchRecord360(identity?: Record360Identity): Promise<void>\n\n launchReferenceCapture(options: {\n referenceNumber: string,\n workOrderId?: number,\n workOrderLabel?: string,\n identity?: Record360Identity\n }): Promise<void>\n\n addListener(\n eventName: 'Record360Event',\n listenerFunc: (\n data: { \n type: 'onFailedToAuthenticate' | 'onInspectionCancelled' | 'onInspectionComplete' | 'onInspectionUploadFailed' | 'onInspectionUploadProgress' | 'onInspectionUploaded' | 'onInspectionStarted' | 'onUserAuthenticated',\n referenceNumber?: string,\n bytesComplete?: number,\n bytesTotal?: number,\n error?: string,\n userId?: string,\n username?: string,\n inspectionJSON?: string\n }\n ) => void,\n ): Promise<PluginListenerHandle>;\n}\n"]}
@@ -3,7 +3,7 @@ import Capacitor
3
3
  import Record360SDK
4
4
 
5
5
  @objc(CapacitorRecord360SDKPlugin)
6
- public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360Delegate, Record360ViewControllerDelegate {
6
+ public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360Delegate {
7
7
  public let identifier = "CapacitorRecord360SDKPlugin"
8
8
  public let jsName = "CapacitorRecord360SDK"
9
9
  public let pluginMethods: [CAPPluginMethod] = [
@@ -13,15 +13,15 @@ public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360
13
13
 
14
14
  public var record360: Record360?
15
15
  public var record360ViewController: Record360ViewController?
16
+ public var hostingSDKViewController = false
16
17
 
17
18
  public override init() {
18
19
  super.init()
19
- self.record360 = Record360(delegate: self);
20
-
20
+ self.record360 = Record360(delegate: self, allowUserToExitRecord360: true);
21
21
  }
22
22
 
23
23
  private func applySettings() {
24
- self.record360ViewController?.applyDefaultSettings([
24
+ self.record360?.applyDefaultSettings([
25
25
  Record360Setting(switchSetting: SETTING_NOTATIONS_ON_IMAGES, canDisplay: true, value: false),
26
26
  Record360Setting(switchSetting: SETTING_ADD_TIMESTAMP_TO_MEDIA, canDisplay: true, value: true),
27
27
  Record360Setting(switchSetting: SETTING_NATIVE_PHOTO_MODE, canDisplay: true, value: false),
@@ -47,9 +47,11 @@ public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360
47
47
  let userToken = call.getString("userToken")
48
48
 
49
49
  if (username != nil && password != nil) {
50
- loadR360SDK(username: username!, password: password!, presentingVC: presentingVC)
50
+ let identity = Record360Identity(userName: username!, password: password!)
51
+ loadR360SDK(identity: identity, presentingVC: presentingVC)
51
52
  } else if (userId != nil && userToken != nil) {
52
- loadR360SDK(userID: userId!, userToken: userToken!, presentingVC: presentingVC)
53
+ let identity = Record360Identity(userID: userId!, userToken: userToken!)
54
+ loadR360SDK(identity: identity, presentingVC: presentingVC)
53
55
  } else {
54
56
  loadR360SDKLogin(referenceNumber: nil, workOrderId: nil, workOrderLabel: nil, presentingVC: presentingVC)
55
57
  }
@@ -76,70 +78,45 @@ public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360
76
78
  let userToken = identityObj?["userToken"] as? String
77
79
 
78
80
  if (username != nil && password != nil) {
79
- loadR360SDKForInspection(username: username!, password: password!, referenceNumber: referenceNumber!, workOrderId: workOrderId, workOrderLabel: workOrderLabel, presentingVC: presentingVC)
81
+ let identity = Record360Identity(userName: username!, password: password!)
82
+ loadR360SDKForInspection(identity: identity, referenceNumber: referenceNumber!, workOrderId: workOrderId, workOrderLabel: workOrderLabel, presentingVC: presentingVC)
80
83
  } else if (userId != nil && userToken != nil) {
81
- loadR360SDKForInspection(userID: userId!, userToken: userToken!, referenceNumber: referenceNumber!, workOrderId: workOrderId, workOrderLabel: workOrderLabel, presentingVC: presentingVC)
84
+ let identity = Record360Identity(userID: userId!, userToken: userToken!)
85
+ loadR360SDKForInspection(identity: identity, referenceNumber: referenceNumber!, workOrderId: workOrderId, workOrderLabel: workOrderLabel, presentingVC: presentingVC)
82
86
  } else {
83
87
  loadR360SDKLogin(referenceNumber: referenceNumber, workOrderId: workOrderId, workOrderLabel: workOrderLabel, presentingVC: presentingVC)
84
88
  }
85
89
  }
86
90
 
87
91
  private func loadR360SDKLogin(referenceNumber: String?, workOrderId: NSNumber?, workOrderLabel: String?, presentingVC: UIViewController) {
88
- self.record360ViewController?.dismiss()
89
92
  DispatchQueue.main.async {
90
- if (referenceNumber != nil) {
91
- self.record360ViewController = Record360ViewController.loadLoginAndSend(to: self.record360!, withReferenceNumber: referenceNumber, workOrderId: workOrderId, workOrderLabel: workOrderLabel, displayOn: presentingVC, withLoginUsername: nil)
92
- } else {
93
- self.record360ViewController = Record360ViewController.loadLoginAndSend(to: self.record360!, displayOn: presentingVC, withLoginUsername: nil)
93
+ self.hostSDKViewController {
94
+ let identity = Record360Identity(userName: "", password: nil)
95
+ if (referenceNumber != nil) {
96
+ self.record360?.launchReferenceCapture(referenceNumber, workOrderID: workOrderId, workOrderLabel: workOrderLabel, identity: identity)
97
+ } else {
98
+ self.record360?.launch(identity)
99
+ }
100
+ self.applySettings()
94
101
  }
95
- self.record360ViewController?.delegate = self
96
- self.applySettings()
97
- }
98
- }
99
-
100
- private func loadR360SDK(username: String, password: String, presentingVC: UIViewController) {
101
- self.record360ViewController?.dismiss()
102
- DispatchQueue.main.async {
103
- self.record360ViewController = Record360ViewController.load(withUserName: username, andPassword: password, sendTo: self.record360!, displayOn: presentingVC)
104
- self.record360ViewController?.delegate = self
105
- self.applySettings()
106
- }
107
- }
108
-
109
- private func loadR360SDK(userID: String, userToken: String, presentingVC: UIViewController) {
110
- self.record360ViewController?.dismiss()
111
- DispatchQueue.main.async {
112
- self.record360ViewController = Record360ViewController.load(withUserToken: userToken, andUserId: userID, sendTo: self.record360!, displayOn: presentingVC)
113
- self.record360ViewController?.delegate = self
114
- self.applySettings()
115
102
  }
116
103
  }
117
104
 
118
- private func loadR360SDKForInspection(userID: String, userToken: String, referenceNumber: String, workOrderId: NSNumber?, workOrderLabel: String?, presentingVC: UIViewController) {
119
- self.record360ViewController?.dismiss()
105
+ private func loadR360SDK(identity: Record360Identity, presentingVC: UIViewController) {
120
106
  DispatchQueue.main.async {
121
- self.record360ViewController = Record360ViewController.load(
122
- withUserToken: userToken, userId: userID,
123
- referenceNumber: referenceNumber,
124
- workOrderId: nil,
125
- workOrderLabel: nil,
126
- andIsOneTimeLink: false,
127
- sendTo: self.record360!,
128
- displayOn: presentingVC)
129
- self.record360ViewController?.delegate = self
107
+ self.hostSDKViewController {
108
+ self.record360?.launch(identity)
109
+ self.applySettings()
110
+ }
130
111
  }
131
112
  }
132
113
 
133
- private func loadR360SDKForInspection(username: String, password: String, referenceNumber: String, workOrderId: NSNumber?, workOrderLabel: String?, presentingVC: UIViewController) {
134
- self.record360ViewController?.dismiss()
114
+ private func loadR360SDKForInspection(identity: Record360Identity, referenceNumber: String, workOrderId: NSNumber?, workOrderLabel: String?, presentingVC: UIViewController) {
135
115
  DispatchQueue.main.async {
136
- self.record360ViewController = Record360ViewController.load(
137
- withUserName: username, andPassword: password,
138
- andReferenceNumber: referenceNumber,
139
- workOrderId: workOrderId,
140
- workOrderLabel: workOrderLabel,
141
- sendTo: self.record360!, displayOn: presentingVC)
142
- self.record360ViewController?.delegate = self
116
+ self.hostSDKViewController {
117
+ self.record360?.launchReferenceCapture(referenceNumber, workOrderID: workOrderId, workOrderLabel: workOrderLabel, identity: identity)
118
+ self.applySettings()
119
+ }
143
120
  }
144
121
  }
145
122
 
@@ -161,20 +138,29 @@ public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360
161
138
  var data = JSObject()
162
139
  data["type"] = "onInspectionComplete"
163
140
  notifyListeners("Record360Event", data: data)
141
+ self.dismissSDKViewController(animated: true, completion: {})
164
142
  }
165
143
 
166
144
  public func onInspectionCanceled() {
167
145
  var data = JSObject()
168
146
  data["type"] = "onInspectionCancelled"
169
147
  notifyListeners("Record360Event", data: data)
148
+ self.dismissSDKViewController(animated: true, completion: {})
170
149
  }
171
150
 
172
151
  public func onInspectionUploadDeleted(forReferenceNumber referenceNumber: String) {
173
152
 
174
153
  }
175
154
 
176
- public func onInspectionUploaded(forReferenceNumber referenceNumber: String) {
155
+ public func userHasRequestedToExitRecord360() {
156
+ self.dismissSDKViewController(animated: true, completion: {})
157
+ }
158
+
159
+ public func onInspectionUploaded(forReferenceNumber referenceNumber: String, inspectionJSON: [AnyHashable : Any]) {
177
160
  var data = JSObject()
161
+ if let inspection = inspectionJSON["transaction"] as? [AnyHashable : Any] {
162
+ data["inspectionJSON"] = self.dictionaryToJSONString(inspection)!
163
+ }
178
164
  data["type"] = "onInspectionUploaded"
179
165
  data["referenceNumber"] = referenceNumber
180
166
  notifyListeners("Record360Event", data: data)
@@ -186,4 +172,81 @@ public class CapacitorRecord360SDKPlugin: CAPPlugin, CAPBridgedPlugin, Record360
186
172
  data["referenceNumber"] = referenceNumber
187
173
  notifyListeners("Record360Event", data: data)
188
174
  }
175
+
176
+ func dictionaryToJSONString(_ dict: [AnyHashable: Any]) -> String? {
177
+ do {
178
+ // Check if the dictionary is valid for JSON serialization
179
+ guard JSONSerialization.isValidJSONObject(dict) else {
180
+ print("Dictionary is not valid for JSON serialization")
181
+ return nil
182
+ }
183
+
184
+ // Convert to JSON Data
185
+ let jsonData = try JSONSerialization.data(withJSONObject: dict, options: [])
186
+
187
+ // Convert Data to String
188
+ let jsonString = String(data: jsonData, encoding: .utf8)
189
+ return jsonString
190
+
191
+ } catch {
192
+ print("Error converting dictionary to JSON: \(error)")
193
+ return nil
194
+ }
195
+ }
196
+
197
+ private func hostSDKViewController(completion: @escaping () -> Void) {
198
+ // ok, the sdk ui needs to be totally torn down before being reconstructed via
199
+ // one of the "launch" methods. Future revisions to the SDK should address this,
200
+ // but until then, this means that we must ensure the SDK VC is dismissed before
201
+ // we can safely host it in preparation for one of the launch methods. Basically,
202
+ // This effectively makes hostSDKViewController safely re-entrant
203
+
204
+ self.dismissSDKViewController(animated: true) {
205
+ self.record360?.sdkViewController.view.removeFromSuperview()
206
+ self.record360?.sdkViewController.removeFromParent()
207
+
208
+ guard let presentingVC: UIViewController = self.bridge?.viewController else {
209
+ return
210
+ }
211
+
212
+ guard let sdkVC = self.record360?.sdkViewController else {
213
+ return
214
+ }
215
+
216
+ presentingVC.addChild(sdkVC)
217
+ sdkVC.didMove(toParent: presentingVC)
218
+ presentingVC.view.addSubview(sdkVC.view)
219
+ sdkVC.view.topAnchor.constraint(equalTo: presentingVC.view.topAnchor).isActive = true
220
+ sdkVC.view.bottomAnchor.constraint(equalTo: presentingVC.view.bottomAnchor).isActive = true
221
+ sdkVC.view.leadingAnchor.constraint(equalTo: presentingVC.view.leadingAnchor).isActive = true
222
+ sdkVC.view.trailingAnchor.constraint(equalTo: presentingVC.view.trailingAnchor).isActive = true
223
+ self.hostingSDKViewController = true
224
+
225
+ completion()
226
+ }
227
+ }
228
+
229
+ private func dismissSDKViewController(animated: Bool, completion: @escaping () -> Void) {
230
+ if !hostingSDKViewController {
231
+ completion()
232
+ return
233
+ }
234
+
235
+ // dismiss it via its nav controller, then take it out of the view hierarchy
236
+
237
+ let viewController = self.record360?.sdkViewController.navigationController ?? self.record360?.sdkViewController
238
+
239
+ guard let presentingVC = bridge?.viewController else {
240
+ return
241
+ }
242
+
243
+ viewController?.dismiss(animated: animated) {
244
+ self.record360?.sdkViewController.willMove(toParent: nil)
245
+ self.record360?.sdkViewController.view.removeFromSuperview()
246
+ self.record360?.sdkViewController.view.removeConstraints(presentingVC.view.constraints)
247
+ self.record360?.sdkViewController.removeFromParent()
248
+ self.hostingSDKViewController = false
249
+ completion()
250
+ }
251
+ }
189
252
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "capacitor-record360sdk",
3
- "version": "7.0.1",
3
+ "version": "7.19.8",
4
4
  "description": "Capacitor wrapper for Record360SDK",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",
@@ -47,8 +47,8 @@
47
47
  },
48
48
  "devDependencies": {
49
49
  "@capacitor/android": "^7.0.0",
50
- "@capacitor/cli": "^7.0.0",
51
- "@capacitor/core": "^7.0.0",
50
+ "@capacitor/cli": "^7.4.4",
51
+ "@capacitor/core": "^7.4.4",
52
52
  "@capacitor/docgen": "^0.2.2",
53
53
  "@capacitor/ios": "^7.0.0",
54
54
  "@ionic/eslint-config": "^0.4.0",
@@ -78,4 +78,4 @@
78
78
  "src": "android"
79
79
  }
80
80
  }
81
- }
81
+ }