Fork restart functionality for different platforms

This commit is contained in:
Sofiya Tepikin
2022-06-23 21:40:15 +02:00
parent ae2a05f9b0
commit f223616ee1
5 changed files with 57 additions and 33 deletions
@@ -1,28 +1,32 @@
import { Alert } from 'react-native'
import { Alert, Platform } from 'react-native'
import { shared } from '../../../i18n/en/labels'
import labels from '../../../i18n/en/settings'
export default function showBackUpReminder(okHandler, cancelHandler, isDelete) {
let title, message
if (isDelete) {
title = labels.passwordSettings.deleteBackupReminderTitle
message = labels.passwordSettings.deleteBackupReminder
} else {
title = labels.passwordSettings.backupReminderTitle
message = labels.passwordSettings.backupReminder
}
const { title, message } = isDelete
? labels.passwordSettings.deleteBackupReminder
: labels.passwordSettings.backupReminder
const { backupReminderAppendix } = labels.passwordSettings
const appendix =
Platform.OS === 'ios'
? backupReminderAppendix.ios
: backupReminderAppendix.android
Alert.alert(
title,
message,
[{
text: shared.cancel,
onPress: cancelHandler,
style: 'cancel'
}, {
text: shared.ok,
onPress: okHandler
}],
message + appendix,
[
{
text: shared.cancel,
onPress: cancelHandler,
style: 'cancel',
},
{
text: shared.ok,
onPress: okHandler,
},
],
{ onDismiss: cancelHandler }
)
}
+3 -8
View File
@@ -2,10 +2,8 @@ import Realm from 'realm'
import { LocalDate, ChronoUnit } from 'js-joda'
import nodejs from 'nodejs-mobile-react-native'
import fs from 'react-native-fs'
// Current version of react-native-restart doesn't work with our ios setup
// therefore react-native-exit-app-v2 is used to close the app after setting pwd
// import restart from 'react-native-restart'
import RNExitApp from 'react-native-exit-app-v2'
import { restartApp } from './restart-app'
import schemas from './schemas'
import cycleModule from '../lib/cycle'
import maybeSetNewCycleStart from '../lib/set-new-cycle-start'
@@ -216,10 +214,7 @@ export async function changeEncryptionAndRestartApp(hash) {
db.close()
await fs.unlink(defaultPath)
await fs.moveFile(copyPath, defaultPath)
// Current version of react-native-restart doesn't work with our ios setup
// therefore react-native-exit-app-v2 is used to close the app after setting pwd
// restart.Restart()
RNExitApp.exitApp()
restartApp()
}
export function isDbEmpty() {
+5
View File
@@ -0,0 +1,5 @@
// Current version of react-native-restart doesn't work with our ios setup
// therefore we have a fork and use different libraries on the platforms
import restart from 'react-native-restart'
export const restartApp = restart.Restart
+5
View File
@@ -0,0 +1,5 @@
// Current version of react-native-restart doesn't work with our ios setup
// therefore we have a fork and use different libraries on the platforms
import RNExitApp from 'react-native-exit-app-v2'
export const restartApp = RNExitApp.exitApp
+21 -6
View File
@@ -112,12 +112,27 @@ export default {
enterNew: 'Please enter a new password',
confirmPassword: 'Please confirm your password',
passwordsDontMatch: "Password and confirmation don't match",
backupReminderTitle: 'Read this before making changes to your password',
backupReminder:
'Just to be safe, please backup your data using the export function before making changes to your password.\n\nLonger passwords are better! Consider using a passphrase.\n\nPlease also make sure you do not lose your password. There is no way to recover your data if you do.\n\nMaking any changes to your password setting will keep your data as it was before. After the password is updated the app will automatically close. At the new app launch please use the new password.',
deleteBackupReminderTitle: 'Read this before deleting your password',
deleteBackupReminder:
'Deleting your password means your data will no longer be encrypted.\n\nJust to be safe, please backup your data using the export function before deleting your password.\n\nMaking any changes to your password setting will keep your data as it was before and restart the app. . After the password is updated the app will automatically close. At the new app launch you will not be prompted to enter the password.',
backupReminder: {
title: 'Read this before making changes to your password',
message: `
Just to be safe, please backup your data using the export function before making any changes to your password.\n
Longer passwords are better! Consider using a passphrase.\n
Please also make sure you do not lose your password. There is no way to recover your data if you do.\n
Making any changes to your password setting will keep your data as it was before.\n`,
},
deleteBackupReminder: {
title: 'Read this before deleting your password',
message: `
Deleting your password means your data will no longer be encrypted.\n
Just to be safe, please backup your data using the export function before deleting your password.\n
Making any changes to your password setting will keep your data as it was before and restart the app.\n
`,
},
backupReminderAppendix: {
android:
'After the password is updated the app will automatically restart.',
ios: 'After the password is updated the app will automatically close. Please reopen it manually.',
},
},
aboutSection: {
title: 'About',