diff --git a/src/pages/home/home.html b/src/pages/home/home.html index 87a973e57..df01c8052 100644 --- a/src/pages/home/home.html +++ b/src/pages/home/home.html @@ -65,7 +65,7 @@
Payment Proposals
- {{txpsN}} + {{txpsN}} diff --git a/src/pages/send/confirm/confirm.html b/src/pages/send/confirm/confirm.html index e8c7bbed3..372119016 100644 --- a/src/pages/send/confirm/confirm.html +++ b/src/pages/send/confirm/confirm.html @@ -5,7 +5,7 @@ - +
@@ -124,4 +124,4 @@ - \ No newline at end of file + diff --git a/src/pages/send/confirm/confirm.ts b/src/pages/send/confirm/confirm.ts index 08a0f8247..817808a4e 100644 --- a/src/pages/send/confirm/confirm.ts +++ b/src/pages/send/confirm/confirm.ts @@ -86,8 +86,10 @@ export class ConfirmPage { this.config = this.configProvider.get(); this.configFeeLevel = this.config.wallet.settings.feeLevel ? this.config.wallet.settings.feeLevel : 'normal'; this.isCordova = this.platformProvider.isCordova; - this.isWindowsPhoneApp = this.platformProvider.isCordova && this.platformProvider.isWP; + this.isWindowsPhoneApp = this.platformProvider.isCordova && this.platformProvider.isWP; + } + ionViewWillEnter() { let B = this.navParams.data.coin == 'bch' ? this.bitcoreCash : this.bitcore; let networkName; try { @@ -136,10 +138,7 @@ export class ConfirmPage { this.tx.feeLevelName = this.feeProvider.feeOpts[this.tx.feeLevel]; this.showAddress = false; this.walletSelectorTitle = this.translate.instant('Send from'); - } - ionViewDidLoad() { - this.logger.info('ionViewDidLoad ConfirmPage'); this.setWalletSelector(this.tx.coin, this.tx.network, this.tx.amount).then(() => { if (this.wallets.length > 1) { this.showWallets(); @@ -152,6 +151,10 @@ export class ConfirmPage { }); } + ionViewDidLoad() { + this.logger.info('ionViewDidLoad ConfirmPage'); + } + private setWalletSelector(coin: string, network: string, minAmount: number): Promise { return new Promise((resolve, reject) => { diff --git a/src/pages/send/send.ts b/src/pages/send/send.ts index 0b7889f02..923e50d8f 100644 --- a/src/pages/send/send.ts +++ b/src/pages/send/send.ts @@ -51,7 +51,6 @@ export class SendPage { } ionViewWillEnter() { - this.search = ''; this.walletsBtc = this.profileProvider.getWallets({ coin: 'btc' }); this.walletsBch = this.profileProvider.getWallets({ coin: 'bch' }); this.hasBtcWallets = !(_.isEmpty(this.walletsBtc)); @@ -61,6 +60,10 @@ export class SendPage { this.updateContactsList(); } + ionViewDidEnter() { + this.search = ''; + } + private updateBchWalletsList(): void { this.walletBchList = []; diff --git a/src/pages/settings/wallet-settings/wallet-settings-advanced/wallet-delete/wallet-delete.ts b/src/pages/settings/wallet-settings/wallet-settings-advanced/wallet-delete/wallet-delete.ts index 593613850..0fb2935da 100644 --- a/src/pages/settings/wallet-settings/wallet-settings-advanced/wallet-delete/wallet-delete.ts +++ b/src/pages/settings/wallet-settings/wallet-settings-advanced/wallet-delete/wallet-delete.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { NavController, NavParams, Events } from 'ionic-angular'; +import { Events, NavController, NavParams } from 'ionic-angular'; import { Logger } from '../../../../../providers/logger/logger'; //providers diff --git a/src/providers/incoming-data/incoming-data.ts b/src/providers/incoming-data/incoming-data.ts index 6980ba8ee..6a925e8c9 100644 --- a/src/providers/incoming-data/incoming-data.ts +++ b/src/providers/incoming-data/incoming-data.ts @@ -43,10 +43,20 @@ export class IncomingDataProvider { public redir(data: string): boolean { //TODO Injecting NavController in constructor of service fails with no provider error this.navCtrl = this.app.getActiveNav(); + // data extensions for Payment Protocol with non-backwards-compatible request if ((/^bitcoin(cash)?:\?r=[\w+]/).exec(data)) { + let coin = 'btc'; + if (data.indexOf('bitcoincash') === 0) coin = 'bch'; + data = decodeURIComponent(data.replace(/bitcoin(cash)?:\?r=/, '')); - this.navCtrl.push(ConfirmPage, { paypro: data }); + + this.payproProvider.getPayProDetails(data).then((details) => { + this.handlePayPro(details, coin); + }).catch((err) => { + this.popupProvider.ionicAlert(this.translate.instant('Error'), err); + }); + return true; }