From 5fc2e1247b50f9fd5a4c16a061a5be2071d822bb Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Tue, 28 May 2019 19:26:53 +0100 Subject: [PATCH] Set default account upon wallet sync restore (#556) --- app/src/page/firstRun/index.js | 2 ++ app/src/page/firstRun/view.js | 3 ++- app/src/page/verification/index.js | 2 ++ .../verification/internal/sync-verify-page.js | 3 ++- app/src/page/verification/view.js | 22 +++++++++---------- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/app/src/page/firstRun/index.js b/app/src/page/firstRun/index.js index 924ab56d..3c9cad84 100644 --- a/app/src/page/firstRun/index.js +++ b/app/src/page/firstRun/index.js @@ -4,6 +4,7 @@ import { doAuthenticate, doCheckSync, doGetSync, + doSetDefaultAccount, doSyncApply, doUserEmailNew, doUserResendVerificationEmail, @@ -45,6 +46,7 @@ const perform = dispatch => ({ syncApply: (hash, data, password) => dispatch(doSyncApply(hash, data, password)), getSync: password => dispatch(doGetSync(password)), checkSync: () => dispatch(doCheckSync()), + setDefaultAccount: () => dispatch(doSetDefaultAccount()), notify: data => dispatch(doToast(data)), resendVerificationEmail: email => dispatch(doUserResendVerificationEmail(email)) }); diff --git a/app/src/page/firstRun/view.js b/app/src/page/firstRun/view.js index b5a0e62f..58313f34 100644 --- a/app/src/page/firstRun/view.js +++ b/app/src/page/firstRun/view.js @@ -67,7 +67,7 @@ class FirstRunScreen extends React.PureComponent { componentWillReceiveProps(nextProps) { const { emailNewErrorMessage, emailNewPending, syncApplyErrorMessage, syncApplyIsPending, user } = nextProps; - const { notify, isApplyingSync, setClientSetting } = this.props; + const { notify, isApplyingSync, setClientSetting, setDefaultAccount } = this.props; if (this.state.emailSubmitted && !emailNewPending) { this.setState({ emailSubmitted: false }); @@ -89,6 +89,7 @@ class FirstRunScreen extends React.PureComponent { if (NativeModules.UtilityModule) { NativeModules.UtilityModule.setSecureValue(Constants.KEY_FIRST_RUN_PASSWORD, this.state.walletPassword); } + setDefaultAccount(); setClientSetting(Constants.SETTING_DEVICE_WALLET_SYNCED, true); this.closeFinalPage(); } diff --git a/app/src/page/verification/index.js b/app/src/page/verification/index.js index ac82aceb..9795f649 100644 --- a/app/src/page/verification/index.js +++ b/app/src/page/verification/index.js @@ -3,6 +3,7 @@ import { doToast } from 'lbry-redux'; import { doCheckSync, doGetSync, + doSetDefaultAccount, doSyncApply, doUserEmailNew, doUserEmailToVerify, @@ -59,6 +60,7 @@ const perform = dispatch => ({ verifyPhone: (verificationCode) => dispatch(doUserPhoneVerify(verificationCode)), notify: data => dispatch(doToast(data)), setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)), + setDefaultAccount: () => dispatch(doSetDefaultAccount()), setEmailToVerify: email => dispatch(doUserEmailToVerify(email)), syncApply: (hash, data, password) => dispatch(doSyncApply(hash, data, password)), resendVerificationEmail: email => dispatch(doUserResendVerificationEmail(email)), diff --git a/app/src/page/verification/internal/sync-verify-page.js b/app/src/page/verification/internal/sync-verify-page.js index db2fb0c2..1de5de1c 100644 --- a/app/src/page/verification/internal/sync-verify-page.js +++ b/app/src/page/verification/internal/sync-verify-page.js @@ -68,7 +68,7 @@ class SyncVerifyPage extends React.PureComponent { componentWillReceiveProps(nextProps) { const { getSyncIsPending, syncApplyIsPending, syncApplyErrorMessage } = nextProps; - const { getSync, setClientSetting, navigation, notify, hasSyncedWallet } = this.props; + const { getSync, hasSyncedWallet, navigation, notify, setClientSetting, setDefaultAccount } = this.props; if (this.state.checkSyncStarted && !getSyncIsPending) { this.setState({ syncChecked: true }); } @@ -82,6 +82,7 @@ class SyncVerifyPage extends React.PureComponent { if (NativeModules.UtilityModule) { NativeModules.UtilityModule.setSecureValue(Constants.KEY_FIRST_RUN_PASSWORD, this.state.password); } + setDefaultAccount(); setClientSetting(Constants.SETTING_DEVICE_WALLET_SYNCED, true); navigation.goBack(); } diff --git a/app/src/page/verification/view.js b/app/src/page/verification/view.js index 96300f92..89fe42ae 100644 --- a/app/src/page/verification/view.js +++ b/app/src/page/verification/view.js @@ -60,6 +60,10 @@ class VerificationScreen extends React.PureComponent { if (this.state.isEmailVerified && !deviceWalletSynced) { this.setState({ currentPage: 'syncVerify' }); } + + if (this.state.isEmailVerified && syncFlow && deviceWalletSynced) { + navigation.goBack(); + } } else { if (this.state.isEmailVerified && !this.state.isIdentityVerified && !this.state.isRewardApproved) { this.setState({ currentPage: 'phoneVerify' }); @@ -67,17 +71,11 @@ class VerificationScreen extends React.PureComponent { if (this.state.isEmailVerified && this.state.isIdentityVerified && !this.state.isRewardApproved) { this.setState({ currentPage: 'manualVerify' }); } - } - - if (this.state.isEmailVerified && syncFlow && deviceWalletSynced) { - navigation.goBack(); - return; - } - - if (this.state.isEmailVerified && this.state.isRewardApproved) { - // verification steps already completed - // simply navigate back to the rewards page - navigation.goBack(); + if (this.state.isEmailVerified && this.state.isRewardApproved) { + // verification steps already completed + // simply navigate back to the rewards page + navigation.goBack(); + } } }); } @@ -104,6 +102,7 @@ class VerificationScreen extends React.PureComponent { notify, addUserPhone, getSyncIsPending, + setDefaultAccount, hasSyncedWallet, setSyncIsPending, syncApplyIsPending, @@ -164,6 +163,7 @@ class VerificationScreen extends React.PureComponent { notify={notify} setEmailVerificationPhase={this.setEmailVerificationPhase} setClientSetting={setClientSetting} + setDefaultAccount={setDefaultAccount} setSyncIsPending={setSyncIsPending} syncApplyIsPending={syncApplyIsPending} syncApplyErrorMessage={syncApplyErrorMessage}