Skip to content

Commit 0557b61

Browse files
Crash--guyca
authored andcommitted
V1 [iOS/Android] Feature/async dismiss modal (wix#2975)
* for iOS * first try for android * iOS indent * Android Indent * Update platformSpecific.android.js * Update NavigationReactModule.java * Update NavigationCommandsHandler.java * Update platformSpecificDeprecated.android.js * Update platformSpecificDeprecated.ios.js
1 parent 79164ef commit 0557b61

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

android/app/src/main/java/com/reactnativenavigation/bridge/NavigationReactModule.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,13 @@ public void dismissLightBox() {
214214
}
215215

216216
@ReactMethod
217-
public void dismissAllModals() {
218-
NavigationCommandsHandler.dismissAllModals();
217+
public void dismissAllModals(Promise promise) {
218+
NavigationCommandsHandler.dismissAllModals(promise);
219219
}
220220

221221
@ReactMethod
222-
public void dismissTopModal(final ReadableMap params) {
223-
NavigationCommandsHandler.dismissTopModal(ScreenParamsParser.parse(BundleConverter.toBundle(params)));
222+
public void dismissTopModal(final ReadableMap params, Promise promise) {
223+
NavigationCommandsHandler.dismissTopModal(ScreenParamsParser.parse(BundleConverter.toBundle(params)), promise);
224224
}
225225

226226
@ReactMethod

android/app/src/main/java/com/reactnativenavigation/controllers/NavigationCommandsHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ public void run() {
247247
});
248248
}
249249

250-
public static void dismissTopModal(final ScreenParams params) {
250+
public static void dismissTopModal(final ScreenParams params, final Promise promise) {
251251
final NavigationActivity currentActivity = NavigationActivity.currentActivity;
252252
if (currentActivity == null) {
253253
return;
@@ -257,11 +257,12 @@ public static void dismissTopModal(final ScreenParams params) {
257257
@Override
258258
public void run() {
259259
currentActivity.dismissTopModal(params);
260+
promise.resolve("true");
260261
}
261262
});
262263
}
263264

264-
public static void dismissAllModals() {
265+
public static void dismissAllModals(final Promise promise) {
265266
final NavigationActivity currentActivity = NavigationActivity.currentActivity;
266267
if (currentActivity == null) {
267268
return;
@@ -271,6 +272,7 @@ public static void dismissAllModals() {
271272
@Override
272273
public void run() {
273274
currentActivity.dismissAllModals();
275+
promise.resolve("true");
274276
}
275277
});
276278
}

src/deprecated/platformSpecificDeprecated.android.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -559,8 +559,8 @@ function dismissModal(params) {
559559
});
560560
}
561561

562-
function dismissAllModals(params) {
563-
newPlatformSpecific.dismissAllModals();
562+
async function dismissAllModals(params) {
563+
return await newPlatformSpecific.dismissAllModals();
564564
}
565565

566566
function showInAppNotification(params) {

src/deprecated/platformSpecificDeprecated.ios.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -631,8 +631,8 @@ async function dismissModal(params) {
631631
return await Modal.dismissController(params.animationType);
632632
}
633633

634-
function dismissAllModals(params) {
635-
Modal.dismissAllControllers(params.animationType);
634+
async function dismissAllModals(params) {
635+
return await Modal.dismissAllControllers(params.animationType);
636636
}
637637

638638
function showLightBox(params) {

src/platformSpecific.android.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ function dismissLightBox() {
6262
NativeReactModule.dismissLightBox();
6363
}
6464

65-
function dismissTopModal(params) {
66-
NativeReactModule.dismissTopModal(params);
65+
async function dismissTopModal(params) {
66+
return await NativeReactModule.dismissTopModal(params);
6767
}
6868

69-
function dismissAllModals() {
70-
NativeReactModule.dismissAllModals();
69+
async function dismissAllModals() {
70+
return await NativeReactModule.dismissAllModals();
7171
}
7272

7373
function showInAppNotification(params) {

0 commit comments

Comments
 (0)