mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-19 05:58:50 +02:00
* feat(sp): debug logging feature * fix(sp): Receiver * feat(sp): handle and log failures and early returns --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
49 lines
1.5 KiB
Dart
49 lines
1.5 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
|
import 'package:cake_wallet/store/settings_store.dart';
|
|
import 'package:cw_core/wallet_base.dart';
|
|
import 'package:mobx/mobx.dart';
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
part 'silent_payments_settings_view_model.g.dart';
|
|
|
|
class SilentPaymentsSettingsViewModel = SilentPaymentsSettingsViewModelBase
|
|
with _$SilentPaymentsSettingsViewModel;
|
|
|
|
abstract class SilentPaymentsSettingsViewModelBase with Store {
|
|
SilentPaymentsSettingsViewModelBase(this._settingsStore, this._wallet);
|
|
|
|
final SettingsStore _settingsStore;
|
|
final WalletBase _wallet;
|
|
|
|
@computed
|
|
bool get silentPaymentsCardDisplay => _settingsStore.silentPaymentsCardDisplay;
|
|
|
|
@computed
|
|
bool get silentPaymentsAlwaysScan => bitcoin!.getIsAlwaysScanningSP(_wallet);
|
|
|
|
@action
|
|
void setSilentPaymentsCardDisplay(bool value) {
|
|
_settingsStore.silentPaymentsCardDisplay = value;
|
|
}
|
|
|
|
@action
|
|
void setSilentPaymentsAlwaysScan(bool value) {
|
|
bitcoin!.setIsAlwaysScanningSP(_wallet, value);
|
|
if (value) bitcoin!.setScanningActive(_wallet, true);
|
|
}
|
|
|
|
Future<String> getAbbreviatedLogs() async {
|
|
final appSupportPath = (await getApplicationSupportDirectory()).path;
|
|
final logsFile = File("$appSupportPath/logs/debug.log");
|
|
if (!logsFile.existsSync()) {
|
|
return "";
|
|
}
|
|
final logs = logsFile.readAsStringSync();
|
|
|
|
// return last 10000 characters:
|
|
return logs.substring(logs.length > 10000 ? logs.length - 10000 : 0);
|
|
}
|
|
}
|