From 091dcf2500e356aba494f4805212773f7a40d9ae Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 4 May 2018 15:28:47 -0300 Subject: [PATCH 1/5] Fix wallets order --- src/pages/add/create-wallet/create-wallet.ts | 1 - src/pages/add/import-wallet/import-wallet.ts | 1 - src/pages/add/join-wallet/join-wallet.ts | 1 - src/pages/onboarding/onboarding.html | 4 ++-- src/pages/onboarding/tour/tour.ts | 1 - src/pages/settings/bitcoin-cash/bitcoin-cash.ts | 1 - src/providers/persistence/persistence.ts | 14 ++++++++++---- src/providers/persistence/storage/file-storage.ts | 5 +---- src/providers/persistence/storage/local-storage.ts | 8 ++------ src/providers/profile/profile.ts | 14 +++++--------- 10 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/pages/add/create-wallet/create-wallet.ts b/src/pages/add/create-wallet/create-wallet.ts index 5549b092c6b..b810c0c0306 100644 --- a/src/pages/add/create-wallet/create-wallet.ts +++ b/src/pages/add/create-wallet/create-wallet.ts @@ -201,7 +201,6 @@ export class CreateWalletPage implements OnInit { this.events.publish('status:updated'); this.walletProvider.updateRemotePreferences(wallet); this.pushNotificationsProvider.updateSubscription(wallet); - this.profileProvider.setWalletOrder(wallet.credentials.walletId, null, wallet.coin); if (this.createForm.value.selectedSeed == 'set') { this.profileProvider.setBackupFlag(wallet.credentials.walletId); diff --git a/src/pages/add/import-wallet/import-wallet.ts b/src/pages/add/import-wallet/import-wallet.ts index 0eebb744163..1bc292bf4e5 100644 --- a/src/pages/add/import-wallet/import-wallet.ts +++ b/src/pages/add/import-wallet/import-wallet.ts @@ -208,7 +208,6 @@ export class ImportWalletPage { this.walletProvider.updateRemotePreferences(wallet).then(() => { this.profileProvider.setBackupFlag(wallet.credentials.walletId); this.events.publish('status:updated'); - this.profileProvider.setWalletOrder(wallet.credentials.walletId, null, wallet.coin); this.pushNotificationsProvider.updateSubscription(wallet); if (this.fromOnboarding) { this.profileProvider.setOnboardingCompleted().then(() => { diff --git a/src/pages/add/join-wallet/join-wallet.ts b/src/pages/add/join-wallet/join-wallet.ts index 874a6721d90..1c32fe40f8f 100644 --- a/src/pages/add/join-wallet/join-wallet.ts +++ b/src/pages/add/join-wallet/join-wallet.ts @@ -153,7 +153,6 @@ export class JoinWalletPage { this.onGoingProcessProvider.clear(); this.events.publish('status:updated'); this.walletProvider.updateRemotePreferences(wallet); - this.profileProvider.setWalletOrder(wallet.credentials.walletId, null, wallet.coin); this.pushNotificationsProvider.updateSubscription(wallet); if (!wallet.isComplete()) { this.navCtrl.popToRoot(); diff --git a/src/pages/onboarding/onboarding.html b/src/pages/onboarding/onboarding.html index 8a9052ebd5b..f57b8e66556 100644 --- a/src/pages/onboarding/onboarding.html +++ b/src/pages/onboarding/onboarding.html @@ -1,7 +1,7 @@
-

Take control of your money, get started with bitcoin.

+

Take control of your money, get started with bitcoin.

-
\ No newline at end of file + diff --git a/src/pages/onboarding/tour/tour.ts b/src/pages/onboarding/tour/tour.ts index e6ea2c4ebd7..0a526ac68ca 100644 --- a/src/pages/onboarding/tour/tour.ts +++ b/src/pages/onboarding/tour/tour.ts @@ -72,7 +72,6 @@ export class TourPage { this.profileProvider.createDefaultWallet().then((wallet) => { this.onGoingProcessProvider.clear(); this.persistenceProvider.setOnboardingCompleted(); - this.profileProvider.setWalletOrder(wallet.credentials.walletId, null, wallet.coin); this.navCtrl.push(CollectEmailPage, { walletId: wallet.id }); }) } diff --git a/src/pages/settings/bitcoin-cash/bitcoin-cash.ts b/src/pages/settings/bitcoin-cash/bitcoin-cash.ts index 75dcae637dd..de2dab43a4c 100644 --- a/src/pages/settings/bitcoin-cash/bitcoin-cash.ts +++ b/src/pages/settings/bitcoin-cash/bitcoin-cash.ts @@ -177,7 +177,6 @@ export class BitcoinCashPage { this.walletProvider.updateRemotePreferences(newWallet); this.pushNotificationsProvider.updateSubscription(newWallet); - this.profileProvider.setWalletOrder(newWallet.credentials.walletId, null, newWallet.coin); addCopayers(newWallet, isNew, (err) => { this.onGoingProcessProvider.clear(); diff --git a/src/providers/persistence/persistence.ts b/src/providers/persistence/persistence.ts index 9630920572e..a83bd06e982 100644 --- a/src/providers/persistence/persistence.ts +++ b/src/providers/persistence/persistence.ts @@ -37,6 +37,7 @@ const Keys = { REMOTE_PREF_STORED: 'remotePrefStored', TX_CONFIRM_NOTIF: txid => 'txConfirmNotif-' + txid, TX_HISTORY: walletId => 'txsHistory-' + walletId, + ORDER_WALLET: walletId => 'order-' + walletId }; interface Storage { @@ -346,7 +347,8 @@ export class PersistenceProvider { removeAllWalletData(walletId: string): Promise { return this.clearLastAddress(walletId) .then(() => this.removeTxHistory(walletId)) - .then(() => this.clearBackupFlag(walletId)); + .then(() => this.clearBackupFlag(walletId)) + .then(() => this.removeWalletOrder(walletId)); }; setAmazonGiftCards(network: string, gcs: any): Promise { @@ -503,12 +505,16 @@ export class PersistenceProvider { return this.storage.remove('shapeShift-' + network); }; - setWalletOrder(walletId: string, index: number): Promise { - return this.storage.set('order-' + walletId, index); + setWalletOrder(walletId: string, order): Promise { + return this.storage.set(Keys.ORDER_WALLET(walletId), order); }; getWalletOrder(walletId: string): Promise { - return this.storage.get('order-' + walletId); + return this.storage.get(Keys.ORDER_WALLET(walletId)); + }; + + removeWalletOrder(walletId: string): Promise { + return this.storage.remove(Keys.ORDER_WALLET(walletId)); }; setLockStatus(isLocked: string): Promise { diff --git a/src/providers/persistence/storage/file-storage.ts b/src/providers/persistence/storage/file-storage.ts index 3466d817ac2..d5d1f53f2f9 100644 --- a/src/providers/persistence/storage/file-storage.ts +++ b/src/providers/persistence/storage/file-storage.ts @@ -126,10 +126,7 @@ export class FileStorage implements IStorage { }; if (_.isObject(v)) v = JSON.stringify(v); - - if (v && !_.isString(v)) { - v = v.toString(); - } + if (!_.isString(v)) v = v.toString(); fileWriter.write(v); }); }); diff --git a/src/providers/persistence/storage/local-storage.ts b/src/providers/persistence/storage/local-storage.ts index c404e5aa260..016e05ae7dc 100644 --- a/src/providers/persistence/storage/local-storage.ts +++ b/src/providers/persistence/storage/local-storage.ts @@ -79,12 +79,8 @@ export class LocalStorage implements IStorage { set(k: string, v: any): Promise { return new Promise(resolve => { - if (_.isObject(v)) { - v = JSON.stringify(v); - } - if (v && !_.isString(v)) { - v = v.toString(); - } + if (_.isObject(v)) v = JSON.stringify(v); + if (!_.isString(v)) v = v.toString(); if (this.platformProvider.isNW) { let obj = {}; diff --git a/src/providers/profile/profile.ts b/src/providers/profile/profile.ts index 8f71fa709b6..cd1eb47bd99 100644 --- a/src/providers/profile/profile.ts +++ b/src/providers/profile/profile.ts @@ -58,20 +58,16 @@ export class ProfileProvider { // }); } - public setWalletOrder(walletId: string, index?: number, coin?: string): void { - if (index === null) { - let wallets = this.getWallets({ coin }); - let maxIndex = _.maxBy(wallets, 'order') ? _.maxBy(wallets, 'order').order : null; - index = maxIndex != null ? maxIndex + 1 : 0; - } - this.persistenceProvider.setWalletOrder(walletId, index); - this.logger.debug('Wallet new order stored ' + this.wallet[walletId].name + ': ' + index); + public setWalletOrder(walletId: string, index: number): void { + this.persistenceProvider.setWalletOrder(walletId, index).then( () => { + this.logger.debug('Wallet new order stored ' + this.wallet[walletId].name + ': ' + index); + }); this.wallet[walletId].order = index; } private getWalletOrder(wallet): Promise { return new Promise((resolve, reject) => { - this.persistenceProvider.getWalletOrder(wallet.credentials.walletId).then((order) => { + this.persistenceProvider.getWalletOrder(wallet.credentials.walletId).then((order:any) => { return resolve(order); }); }) From 502725a9fafd975c130980e1521e9927b31bc3bd Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 4 May 2018 15:43:10 -0300 Subject: [PATCH 2/5] Fix home --- src/pages/home/home.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/home/home.ts b/src/pages/home/home.ts index 7ce52b867a3..419cbbe2e35 100644 --- a/src/pages/home/home.ts +++ b/src/pages/home/home.ts @@ -547,7 +547,7 @@ export class HomePage { this.walletsBtc.splice(indexes.from, 1); this.walletsBtc.splice(indexes.to, 0, element); _.each(this.walletsBtc, (wallet: any, index: number) => { - this.profileProvider.setWalletOrder(wallet.id, index, 'btc'); + this.profileProvider.setWalletOrder(wallet.id, index); }); } @@ -556,7 +556,7 @@ export class HomePage { this.walletsBch.splice(indexes.from, 1); this.walletsBch.splice(indexes.to, 0, element); _.each(this.walletsBch, (wallet: any, index: number) => { - this.profileProvider.setWalletOrder(wallet.id, index, 'bch'); + this.profileProvider.setWalletOrder(wallet.id, index); }); } From 6fd556363780e0212abbbb5110da0c69ebe25cde Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 4 May 2018 15:52:50 -0300 Subject: [PATCH 3/5] revert view --- src/pages/onboarding/onboarding.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/onboarding/onboarding.html b/src/pages/onboarding/onboarding.html index f57b8e66556..bb0122f81b6 100644 --- a/src/pages/onboarding/onboarding.html +++ b/src/pages/onboarding/onboarding.html @@ -1,7 +1,7 @@
-

Take control of your money, get started with bitcoin.

+

Take control of your money, get started with bitcoin.