From 8f28aed662911863121ea77dc21c546c57d10bbe Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Tue, 14 Jan 2020 08:49:34 +0100 Subject: [PATCH] fix ongoing playback when back button pressed --- src/page/file/view.js | 4 ++-- src/utils/helper.js | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/page/file/view.js b/src/page/file/view.js index 071fe2b..81397b2 100644 --- a/src/page/file/view.js +++ b/src/page/file/view.js @@ -737,8 +737,8 @@ class FilePage extends React.PureComponent { }; onBackButtonPressed = () => { - const { navigation, drawerStack, popDrawerStack } = this.props; - navigateBack(navigation, drawerStack, popDrawerStack); + const { navigation, drawerStack, popDrawerStack, setPlayerVisible } = this.props; + navigateBack(navigation, drawerStack, popDrawerStack, setPlayerVisible); }; onOpenFilePressed = () => { diff --git a/src/utils/helper.js b/src/utils/helper.js index a07cffb..9715173 100644 --- a/src/utils/helper.js +++ b/src/utils/helper.js @@ -1,7 +1,7 @@ import { NavigationActions, StackActions } from 'react-navigation'; import { buildURI, isURIValid, normalizeURI } from 'lbry-redux'; import { Lbryio } from 'lbryinc'; -import { doPopDrawerStack, doPushDrawerStack } from 'redux/actions/drawer'; +import { doPopDrawerStack, doPushDrawerStack, doSetPlayerVisible } from 'redux/actions/drawer'; import Constants, { DrawerRoutes, InnerDrawerRoutes } from 'constants'; // eslint-disable-line node/no-deprecated-api const tagNameLength = 10; @@ -151,7 +151,7 @@ export function navigateToUri(navigation, uri, additionalParams, isNavigatingBac } } -export function navigateBack(navigation, drawerStack, popDrawerStack) { +export function navigateBack(navigation, drawerStack, popDrawerStack, setPlayerVisible) { if (drawerStack[drawerStack.length - 1].route === Constants.DRAWER_ROUTE_FILE_VIEW) { // inner file_view (web / image view) is handled differently if (popDrawerStack) { @@ -163,6 +163,9 @@ export function navigateBack(navigation, drawerStack, popDrawerStack) { if (popDrawerStack) { popDrawerStack(); } + if (setPlayerVisible) { + setPlayerVisible(false); + } const target = drawerStack[drawerStack.length > 1 ? drawerStack.length - 2 : 0]; const { route, params } = target; @@ -198,6 +201,7 @@ export function dispatchNavigateBack(dispatch, nav, drawerStack) { } dispatch(doPopDrawerStack()); + dispatch(doSetPlayerVisible(false)); const target = drawerStack[drawerStack.length > 1 ? drawerStack.length - 2 : 0]; const { route } = target;