Fixes the error on app exiting on via the device back button

This commit is contained in:
Sofiya Tepikin
2020-04-25 19:47:05 +02:00
parent 1291fe70bc
commit 1413525e91
2 changed files with 17 additions and 11 deletions
+15 -2
View File
@@ -14,7 +14,7 @@ import { isSymptomView, isSettingsView } from './pages'
import { headerTitles } from '../i18n/en/labels'
import setupNotifications from '../lib/notifications'
import { getCycleDay } from '../db'
import { getCycleDay, closeDb } from '../db'
class App extends Component {
@@ -30,12 +30,25 @@ class App extends Component {
this.backHandler = BackHandler.addEventListener(
'hardwareBackPress',
props.goBack
this.goBack
)
setupNotifications(this.props.navigate)
}
goBack = () => {
const { currentPage } = this.props.navigation
if (currentPage === 'Home') {
closeDb()
BackHandler.exitApp()
} else {
this.props.goBack()
}
return true
}
componentWillUnmount() {
this.backHandler.remove()
}
+2 -9
View File
@@ -1,7 +1,5 @@
import { createSlice } from 'redux-starter-kit'
import { pages, isSymptomView } from '../components/pages'
import { closeDb } from '../db'
import { BackHandler } from 'react-native'
const navigationSlice = createSlice({
slice: 'navigation',
@@ -17,12 +15,6 @@ const navigationSlice = createSlice({
},
goBack: ({ currentPage, previousPage }) => {
if (currentPage === 'Home') {
closeDb()
BackHandler.exitApp()
return { currentPage }
}
if (currentPage === 'CycleDay' || isSymptomView(currentPage)) {
if (previousPage) {
return {
@@ -33,7 +25,8 @@ const navigationSlice = createSlice({
const page = pages.find(p => p.component === currentPage)
return {
currentPage: page.parent
currentPage: page.parent,
previousPage: currentPage,
}
}
}