debug: DB size
This commit is contained in:
parent
678c2509ae
commit
578835d3d2
2 changed files with 29 additions and 5 deletions
|
@ -1,3 +1,5 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:aves/model/image_metadata.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:path/path.dart';
|
||||
|
@ -27,6 +29,11 @@ class MetadataDb {
|
|||
);
|
||||
}
|
||||
|
||||
Future<int> dbFileSize() async {
|
||||
final file = File((await path));
|
||||
return await file.exists() ? file.length() : 0;
|
||||
}
|
||||
|
||||
Future<void> reset() async {
|
||||
debugPrint('$runtimeType reset');
|
||||
await (await _database).close();
|
||||
|
|
|
@ -2,9 +2,8 @@ import 'package:aves/model/image_entry.dart';
|
|||
import 'package:aves/model/image_metadata.dart';
|
||||
import 'package:aves/model/metadata_db.dart';
|
||||
import 'package:aves/model/settings.dart';
|
||||
import 'package:aves/utils/android_file_utils.dart';
|
||||
import 'package:aves/utils/file_utils.dart';
|
||||
import 'package:aves/widgets/common/providers/media_query_data_provider.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
|
||||
|
@ -18,6 +17,7 @@ class DebugPage extends StatefulWidget {
|
|||
}
|
||||
|
||||
class DebugPageState extends State<DebugPage> {
|
||||
Future<int> _dbFileSizeLoader;
|
||||
Future<List<CatalogMetadata>> _dbMetadataLoader;
|
||||
Future<List<AddressDetails>> _dbAddressLoader;
|
||||
|
||||
|
@ -26,8 +26,7 @@ class DebugPageState extends State<DebugPage> {
|
|||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_dbMetadataLoader = metadataDb.loadMetadataEntries();
|
||||
_dbAddressLoader = metadataDb.loadAddresses();
|
||||
_startDbReport();
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -54,9 +53,20 @@ class DebugPageState extends State<DebugPage> {
|
|||
Text('With address: ${located.length}'),
|
||||
const Divider(),
|
||||
RaisedButton(
|
||||
onPressed: () => metadataDb.reset(),
|
||||
onPressed: () async {
|
||||
await metadataDb.reset();
|
||||
_startDbReport();
|
||||
},
|
||||
child: const Text('Reset DB'),
|
||||
),
|
||||
FutureBuilder(
|
||||
future: _dbFileSizeLoader,
|
||||
builder: (context, AsyncSnapshot<int> snapshot) {
|
||||
if (snapshot.hasError) return Text(snapshot.error.toString());
|
||||
if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink();
|
||||
return Text('DB file size: ${formatFilesize(snapshot.data)}');
|
||||
},
|
||||
),
|
||||
FutureBuilder(
|
||||
future: _dbMetadataLoader,
|
||||
builder: (context, AsyncSnapshot<List<CatalogMetadata>> snapshot) {
|
||||
|
@ -88,4 +98,11 @@ class DebugPageState extends State<DebugPage> {
|
|||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _startDbReport() {
|
||||
_dbFileSizeLoader = metadataDb.dbFileSize();
|
||||
_dbMetadataLoader = metadataDb.loadMetadataEntries();
|
||||
_dbAddressLoader = metadataDb.loadAddresses();
|
||||
setState(() {});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue