mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 20:39:51 +00:00
fix(generic-fixes): Wallet Grouping Bug
Add ability to export hash change logs
This commit is contained in:
parent
7d9f9400f0
commit
e457481108
2 changed files with 31 additions and 9 deletions
|
@ -36,7 +36,7 @@ import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/dashboard/pages/nft_details_page.dart';
|
import 'package:cake_wallet/src/screens/dashboard/pages/nft_details_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
|
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/dashboard/sign_page.dart';
|
import 'package:cake_wallet/src/screens/dashboard/sign_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/dev/hash_change_log.dart';
|
import 'package:cake_wallet/src/screens/dev/hash_change_logs_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/dev/monero_background_sync.dart';
|
import 'package:cake_wallet/src/screens/dev/monero_background_sync.dart';
|
||||||
import 'package:cake_wallet/src/screens/dev/moneroc_call_profiler.dart';
|
import 'package:cake_wallet/src/screens/dev/moneroc_call_profiler.dart';
|
||||||
import 'package:cake_wallet/src/screens/dev/secure_preferences_page.dart';
|
import 'package:cake_wallet/src/screens/dev/secure_preferences_page.dart';
|
||||||
|
@ -922,7 +922,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||||
);
|
);
|
||||||
|
|
||||||
case Routes.devHashChangeLogs:
|
case Routes.devHashChangeLogs:
|
||||||
return MaterialPageRoute<void>(builder: (_) => HashChangeLogViewerPage());
|
return MaterialPageRoute<void>(builder: (_) => HashChangeLogsPage());
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return MaterialPageRoute<void>(
|
return MaterialPageRoute<void>(
|
||||||
|
|
|
@ -1,14 +1,36 @@
|
||||||
|
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||||
|
import 'package:cake_wallet/utils/share_util.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:path/path.dart' as p;
|
import 'package:path/path.dart' as p;
|
||||||
|
|
||||||
class HashChangeLogViewerPage extends StatelessWidget {
|
class HashChangeLogsPage extends BasePage {
|
||||||
const HashChangeLogViewerPage({super.key});
|
@override
|
||||||
|
String? get title => "[dev] hash change logs";
|
||||||
|
|
||||||
Future<String?> loadHashLog() async {
|
@override
|
||||||
|
Widget? trailing(BuildContext context) {
|
||||||
|
return IconButton(
|
||||||
|
icon: Icon(Icons.download, size: 20),
|
||||||
|
onPressed: () => _shareLog(context),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _shareLog(BuildContext context) async {
|
||||||
|
final dir = await getApplicationDocumentsDirectory();
|
||||||
|
final file = File('${dir.path}/hashed_identifier_changes.log');
|
||||||
|
if (await file.exists()) {
|
||||||
|
await ShareUtil.shareFile(
|
||||||
|
filePath: file.path,
|
||||||
|
fileName: 'Hash-change log',
|
||||||
|
context: context,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<String?> _loadHashLog() async {
|
||||||
final dir = await getApplicationDocumentsDirectory();
|
final dir = await getApplicationDocumentsDirectory();
|
||||||
final file = File(p.join(dir.path, 'hashed_identifier_changes.log'));
|
final file = File(p.join(dir.path, 'hashed_identifier_changes.log'));
|
||||||
if (!await file.exists()) return null;
|
if (!await file.exists()) return null;
|
||||||
|
@ -16,11 +38,11 @@ class HashChangeLogViewerPage extends StatelessWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget body(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(title: Text('Hash Change Log')),
|
appBar: AppBar(title: Text('Hash Change Log')),
|
||||||
body: FutureBuilder<String?>(
|
body: FutureBuilder<String?>(
|
||||||
future: loadHashLog(),
|
future: _loadHashLog(),
|
||||||
builder: (context, snap) {
|
builder: (context, snap) {
|
||||||
if (snap.connectionState != ConnectionState.done) {
|
if (snap.connectionState != ConnectionState.done) {
|
||||||
return Center(child: CircularProgressIndicator());
|
return Center(child: CircularProgressIndicator());
|
||||||
|
@ -33,7 +55,7 @@ class HashChangeLogViewerPage extends StatelessWidget {
|
||||||
padding: EdgeInsets.all(16),
|
padding: EdgeInsets.all(16),
|
||||||
child: Text(
|
child: Text(
|
||||||
text,
|
text,
|
||||||
style: TextStyle(fontFamily: 'monospace', fontSize: 12),
|
style: TextStyle(fontFamily: 'monospace', fontSize: 14),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
Loading…
Add table
Add a link
Reference in a new issue