From 97ad0fb22270969d1542ff569c2d1bea5266879e Mon Sep 17 00:00:00 2001 From: Roland Egiazaryan Date: Fri, 21 Jun 2024 14:41:59 +0200 Subject: [PATCH] Emit bottom tab events on back navigation on Android --- .../viewcontrollers/bottomtabs/BottomTabsController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java index e61df575d94..a76f7566c4a 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java @@ -164,15 +164,18 @@ public boolean handleBack(CommandListener listener) { final boolean childBack = !tabs.isEmpty() && tabs.get(bottomTabs.getCurrentItem()).handleBack(listener); final Options options = resolveCurrentOptions(); if (!childBack) { + final int oldTabIndex = bottomTabs.getCurrentItem(); if (options.hardwareBack.getBottomTabOnPress() instanceof HwBackBottomTabsBehaviour.PrevSelection) { if (!selectionStack.isEmpty()) { final int prevSelectedTabIndex = selectionStack.poll(); selectTab(prevSelectedTabIndex, false); + eventEmitter.emitBottomTabSelected(oldTabIndex, prevSelectedTabIndex); return true; } } else if (options.hardwareBack.getBottomTabOnPress() instanceof HwBackBottomTabsBehaviour.JumpToFirst) { if (getSelectedIndex() != 0) { selectTab(0, false); + eventEmitter.emitBottomTabSelected(oldTabIndex, 0); return true; } else { return false;