+
- Request Fingerprint
+ Request Fingerprint
- More Options
-
+ More Options
diff --git a/src/pages/settings/wallet-settings/wallet-settings.scss b/src/pages/settings/wallet-settings/wallet-settings.scss
index 044758a2f..fa2b13218 100644
--- a/src/pages/settings/wallet-settings/wallet-settings.scss
+++ b/src/pages/settings/wallet-settings/wallet-settings.scss
@@ -5,4 +5,7 @@ page-wallet-settings {
white-space: inherit;
}
}
+ .comment {
+ padding: 20px;
+ }
}
\ No newline at end of file
diff --git a/src/pages/settings/wallet-settings/wallet-settings.ts b/src/pages/settings/wallet-settings/wallet-settings.ts
index e8ee7fdb5..62192a08c 100644
--- a/src/pages/settings/wallet-settings/wallet-settings.ts
+++ b/src/pages/settings/wallet-settings/wallet-settings.ts
@@ -22,6 +22,9 @@ import { BackupWarningPage } from '../../backup/backup-warning/backup-warning';
export class WalletSettingsPage {
public wallet: any;
+ public walletName: any;
+ public canSign: boolean;
+ public needsBackup: boolean;
public hiddenBalance: boolean;
public encryptEnabled: boolean;
public touchIdEnabled: boolean;
@@ -45,47 +48,41 @@ export class WalletSettingsPage {
console.log('ionViewDidLoad WalletSettingsPage');
}
- ionViewDidEnter() {
+ ionViewWillEnter() {
this.wallet = this.profileProvider.getWallet(this.navParams.data.walletId);
- this.config = this.configProvider.get();
+ this.walletName = this.wallet.name;
+ this.canSign = this.wallet.canSign();
+ this.needsBackup = this.wallet.needsBackup;
this.hiddenBalance = this.wallet.balanceHidden;
this.encryptEnabled = this.walletProvider.isEncrypted(this.wallet);
this.touchIdAvailable = this.touchIdProvider.isAvailable();
+ this.config = this.configProvider.get();
this.touchIdEnabled = this.config.touchIdFor ? this.config.touchIdFor[this.wallet.credentials.walletId] : null;
if (this.wallet.credentials && !this.wallet.credentials.mnemonicEncrypted && !this.wallet.credentials.mnemonic)
this.deleted = true;
}
public hiddenBalanceChange(): void {
- let opts = {
- balance: {
- enabled: this.hiddenBalance
- }
- };
- this.profileProvider.toggleHideBalanceFlag(this.wallet.credentials.walletId).catch((err: any) => {
- if (err) this.logger.error(err);
- });
+ this.profileProvider.toggleHideBalanceFlag(this.wallet.credentials.walletId);
}
public encryptChange(): void {
if (!this.wallet) return;
- var val = this.encryptEnabled;
+ let val = this.encryptEnabled;
if (val && !this.walletProvider.isEncrypted(this.wallet)) {
this.logger.debug('Encrypting private key for', this.wallet.name);
this.walletProvider.encrypt(this.wallet).then(() => {
- this.profileProvider.updateCredentials(JSON.parse(this.wallet.export())).then(() => {
- this.logger.debug('Wallet encrypted');
- });
+ this.profileProvider.updateCredentials(JSON.parse(this.wallet.export()));
+ this.logger.debug('Wallet encrypted');
}).catch((err: any) => {
this.logger.warn(err);
this.encryptEnabled = false;
})
} else if (!val && this.walletProvider.isEncrypted(this.wallet)) {
this.walletProvider.decrypt(this.wallet).then(() => {
- this.profileProvider.updateCredentials(JSON.parse(this.wallet.export())).then(() => {
- this.logger.debug('Wallet decrypted');
- });
+ this.profileProvider.updateCredentials(JSON.parse(this.wallet.export()));
+ this.logger.debug('Wallet decrypted');
}).catch((err) => {
this.logger.warn(err);
this.encryptEnabled = true;
@@ -108,9 +105,7 @@ export class WalletSettingsPage {
this.walletProvider.setTouchId(this.wallet, !!newStatus).then(() => {
this.logger.debug('Touch Id status changed: ' + newStatus);
}).catch((err: any) => {
- if (err) {
- this.touchIdEnabled = !newStatus;
- }
+ this.touchIdEnabled = !newStatus;
});
}
diff --git a/src/providers/config/config.ts b/src/providers/config/config.ts
index 986b40169..1df9cad49 100644
--- a/src/providers/config/config.ts
+++ b/src/providers/config/config.ts
@@ -217,8 +217,6 @@ export class ConfigProvider {
}
_.merge(config, this.configCache, newOpts);
this.configCache = config;
- this.events.publish('config:updated', this.configCache);
-
this.persistence.storeConfig(this.configCache).then(() => {
this.logger.info('Config saved');
});
diff --git a/src/providers/popup/popup.ts b/src/providers/popup/popup.ts
index f867c6452..a0dec0fc9 100644
--- a/src/providers/popup/popup.ts
+++ b/src/providers/popup/popup.ts
@@ -55,13 +55,16 @@ export class PopupProvider {
return new Promise((resolve, reject) => {
let defaultText = opts && opts.defaultText ? opts.defaultText : null;
let placeholder = opts && opts.placeholder ? opts.placeholder : null;
+ let inputType = opts && opts.type ? opts.type : 'text';
+
let prompt = this.alertCtrl.create({
title: title,
message: message,
inputs: [
{
value: defaultText,
- placeholder: placeholder
+ placeholder: placeholder,
+ type: inputType
},
],
buttons: [
diff --git a/src/providers/profile/profile.ts b/src/providers/profile/profile.ts
index cac912d35..42741d86a 100644
--- a/src/providers/profile/profile.ts
+++ b/src/providers/profile/profile.ts
@@ -1,6 +1,9 @@
import { Injectable } from '@angular/core';
import { Logger } from '@nsalaun/ng-logger';
+import { Events } from 'ionic-angular';
import * as _ from 'lodash';
+
+//providers
import { PersistenceProvider } from '../persistence/persistence';
import { ConfigProvider } from '../config/config';
import { BwcProvider } from '../bwc/bwc';
@@ -9,6 +12,8 @@ import { WalletProvider } from '../wallet/wallet';
import { PlatformProvider } from '../platform/platform';
import { AppProvider } from '../../providers/app/app';
import { LanguageProvider } from '../../providers/language/language';
+
+//models
import { Profile } from '../../models/profile/profile.model';
@Injectable()
@@ -32,6 +37,7 @@ export class ProfileProvider {
private platformProvider: PlatformProvider,
private appProvider: AppProvider,
private languageProvider: LanguageProvider,
+ private events: Events
) {
this.throttledBwsEvent = _.throttle((n, wallet) => {
this.newBwsEvent(n, wallet);
@@ -145,9 +151,8 @@ export class ProfileProvider {
wallet.on('walletCompleted', () => {
this.logger.debug('Wallet completed');
- this.updateCredentials(JSON.parse(wallet.export())).then(() => {
- //$rootScope.$emit('Local/WalletCompleted', walletId); TODO
- });
+ this.updateCredentials(JSON.parse(wallet.export()))
+ //$rootScope.$emit('Local/WalletCompleted', walletId); TODO
});
wallet.initialize({
@@ -163,13 +168,12 @@ export class ProfileProvider {
this.logger.debug('Wallet + ' + walletId + ' status:' + JSON.stringify(wallet.status));
});
});
-
- /* TODO $rootScope.$on('Local/SettingsUpdated', (e: any, walletId: string) => {
- if (!walletId || walletId == wallet.id) {
+ this.events.subscribe('wallet:updated', (walletId: string) => {
+ if (walletId && walletId == wallet.id) {
this.logger.debug('Updating settings for wallet:' + wallet.id);
this.updateWalletSettings(wallet);
}
- }); */
+ });
return true;
}
@@ -190,13 +194,9 @@ export class ProfileProvider {
//$rootScope.$emit('bwsEvent', wallet.id, n.type, n); TODO
}
- public updateCredentials(credentials: any): Promise
{
- return new Promise((resolve, reject) => {
- this.profile.updateWallet(credentials);
- this.persistenceProvider.storeProfile(this.profile).then(() => {
- return resolve();
- });
- });
+ public updateCredentials(credentials: any): void {
+ this.profile.updateWallet(credentials);
+ this.persistenceProvider.storeProfile(this.profile);
}
public getLastKnownBalance(wid: string): Promise {
@@ -824,7 +824,7 @@ export class ProfileProvider {
public createDefaultWallet(): Promise {
return new Promise((resolve, reject) => {
- var opts: any = {};
+ let opts: any = {};
opts.m = 1;
opts.n = 1;
opts.networkName = 'livenet';
@@ -911,15 +911,9 @@ export class ProfileProvider {
}, 'createdOn']);
}
- public toggleHideBalanceFlag(walletId: string): Promise {
- return new Promise((resolve, reject) => {
- this.wallet[walletId].balanceHidden = !this.wallet[walletId].balanceHidden;
- this.persistenceProvider.setHideBalanceFlag(walletId, this.wallet[walletId].balanceHidden.toString()).then(() => {
- return resolve();
- }).catch((err: any) => {
- return reject(err);
- });
- });
+ public toggleHideBalanceFlag(walletId: string): void {
+ this.wallet[walletId].balanceHidden = !this.wallet[walletId].balanceHidden;
+ this.persistenceProvider.setHideBalanceFlag(walletId, this.wallet[walletId].balanceHidden.toString());
}
public getNotifications(opts: any): Promise {
diff --git a/src/providers/wallet/wallet.ts b/src/providers/wallet/wallet.ts
index bb069aa6f..7e510d32d 100644
--- a/src/providers/wallet/wallet.ts
+++ b/src/providers/wallet/wallet.ts
@@ -845,7 +845,10 @@ export class WalletProvider {
// An alert dialog
private askPassword(name: string, title: string): Promise {
return new Promise((resolve, reject) => {
- this.popupProvider.ionicPrompt(title, name, null, null, null).then((res: any) => {
+ let opts = {
+ type: 'password'
+ }
+ this.popupProvider.ionicPrompt(title, name, opts, null, null).then((res: any) => {
return resolve(res);
}).catch((err: any) => {
return reject(err);
@@ -1047,7 +1050,7 @@ export class WalletProvider {
public setTouchId(wallet: any, enabled: boolean): Promise {
return new Promise((resolve, reject) => {
- var opts = {
+ let opts = {
touchIdFor: {}
};
opts.touchIdFor[wallet.id] = enabled;