.github
android
api
assets
debian
ios
lib
controllers
database
providers
channel.dart
chat_call.dart
config.dart
database.dart
experience.dart
link_preview.dart
navigation.dart
notification.dart
post.dart
relationship.dart
sn_attachment.dart
sn_network.dart
sn_realm.dart
sn_sticker.dart
special_day.dart
theme.dart
user_directory.dart
userinfo.dart
websocket.dart
widget.dart
screens
types
widgets
firebase_options.dart
main.dart
router.dart
theme.dart
linux
macos
snap
web
windows
.gitignore
.metadata
.roadsignrc
README.md
analysis_options.yaml
build.yaml
devtools_options.yaml
firebase.json
pubspec.lock
pubspec.yaml
roadsign.toml
32 lines
858 B
Dart
32 lines
858 B
Dart
import 'dart:io';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:path/path.dart' show join;
|
|
import 'package:path_provider/path_provider.dart';
|
|
import 'package:surface/database/database.dart';
|
|
|
|
class DatabaseProvider {
|
|
late AppDatabase db;
|
|
|
|
DatabaseProvider(BuildContext context) {
|
|
db = AppDatabase();
|
|
}
|
|
|
|
Future<int> getDatabaseSize() async {
|
|
if (kIsWeb) return 0;
|
|
final basepath = await getApplicationSupportDirectory();
|
|
return await File(join(basepath.path, 'solar_network_data.sqlite'))
|
|
.length();
|
|
}
|
|
|
|
Future<void> removeDatabase() async {
|
|
if (kIsWeb) return;
|
|
final basepath = await getApplicationSupportDirectory();
|
|
final file = File(join(basepath.path, 'solar_network_data.sqlite'));
|
|
db.close();
|
|
await file.delete();
|
|
db = AppDatabase();
|
|
}
|
|
}
|