import 'package:flutter/material.dart'; import '../db/database.dart'; class SettingsScreen extends StatefulWidget { const SettingsScreen({Key? key}) : super(key: key); @override State createState() => _SettingsScreenState(); } class _SettingsScreenState extends State { int dbsize = 0; @override void initState() { super.initState(); loadDBSize(); } void loadDBSize() async { final int cnt = (await Db().db().rawQuery("pragma page_count;"))[0] ["page_count"] as int; final int pagesize = (await Db().db().rawQuery("pragma page_size;"))[0]["page_size"] as int; setState(() { dbsize = cnt * pagesize; }); } @override Widget build(BuildContext context) { return Column( children: [ ElevatedButton( onPressed: () async { await Db().db().delete("previews"); // shrink the db file size await Db().db().execute("VACUUM"); loadDBSize(); }, child: const Text("Delete cache!")), Text("db size: ${dbsize / 1024} kb") ], ); } }