Skip to content

Commit 722af6d

Browse files
committed
refactor delete hive boxes in prep for hive->isar migration
(cherry picked from commit 9513b20)
1 parent 2c641d1 commit 722af6d

3 files changed

Lines changed: 41 additions & 39 deletions

File tree

lib/db/hive/db.dart

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,36 @@ class DB {
243243

244244
Future<void> deleteBoxFromDisk({required String boxName}) async =>
245245
await mutex.protect(() async => await Hive.deleteBoxFromDisk(boxName));
246+
247+
///////////////////////////////////////////////////////////////////////////
248+
Future<bool> deleteEverything() async {
249+
try {
250+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameAddressBook);
251+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameDebugInfo);
252+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameNodeModels);
253+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNamePrimaryNodes);
254+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameAllWalletsData);
255+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameNotifications);
256+
await DB.instance
257+
.deleteBoxFromDisk(boxName: DB.boxNameWatchedTransactions);
258+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameWatchedTrades);
259+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameTrades);
260+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameTradesV2);
261+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameTradeNotes);
262+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameTradeLookup);
263+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameFavoriteWallets);
264+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNamePrefs);
265+
await DB.instance
266+
.deleteBoxFromDisk(boxName: DB.boxNameWalletsToDeleteOnStart);
267+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNamePriceCache);
268+
await DB.instance.deleteBoxFromDisk(boxName: DB.boxNameDBInfo);
269+
await DB.instance.deleteBoxFromDisk(boxName: "theme");
270+
return true;
271+
} catch (e, s) {
272+
Logging.instance.log("$e $s", level: LogLevel.Error);
273+
return false;
274+
}
275+
}
246276
}
247277

248278
abstract class DBKeys {

lib/pages/settings_views/global_settings_view/delete_account_view.dart

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:flutter/material.dart';
2+
import 'package:stackduo/db/hive/db.dart';
23
import 'package:stackduo/pages/intro_view.dart';
3-
import 'package:stackduo/utilities/delete_everything.dart';
4-
import 'package:stackduo/utilities/text_styles.dart';
54
import 'package:stackduo/themes/stack_colors.dart';
5+
import 'package:stackduo/utilities/text_styles.dart';
66
import 'package:stackduo/utilities/util.dart';
77
import 'package:stackduo/widgets/custom_buttons/app_bar_icon_button.dart';
88
import 'package:stackduo/widgets/desktop/desktop_app_bar.dart';
@@ -26,7 +26,7 @@ class _DeleteAccountViewState extends State<DeleteAccountView> {
2626
Future<void> onConfirmDeleteAccount() async {
2727
// TODO delete everything then pop to intro view
2828

29-
await showDialog(
29+
await showDialog<void>(
3030
barrierDismissible: true,
3131
context: context,
3232
builder: (_) => StackDialog(
@@ -51,12 +51,14 @@ class _DeleteAccountViewState extends State<DeleteAccountView> {
5151
.extension<StackColors>()!
5252
.getPrimaryEnabledButtonStyle(context),
5353
onPressed: () async {
54-
await deleteEverything();
54+
await DB.instance.deleteEverything();
5555

56-
await Navigator.of(context).pushNamedAndRemoveUntil(
57-
IntroView.routeName,
58-
(route) => false,
59-
);
56+
if (mounted) {
57+
await Navigator.of(context).pushNamedAndRemoveUntil(
58+
IntroView.routeName,
59+
(route) => false,
60+
);
61+
}
6062
},
6163
child: Text(
6264
"Delete",
@@ -72,7 +74,7 @@ class _DeleteAccountViewState extends State<DeleteAccountView> {
7274
return MasterScaffold(
7375
isDesktop: isDesktop,
7476
appBar: isDesktop
75-
? DesktopAppBar(isCompactHeight: true)
77+
? const DesktopAppBar(isCompactHeight: true)
7678
: AppBar(
7779
leading: AppBarBackButton(
7880
onPressed: () async {

lib/utilities/delete_everything.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)