Prepare RuleGel 1.0
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../../../app/app.dart';
|
||||
import '../../../app/app_version.dart';
|
||||
import '../../../backend/backend.dart';
|
||||
import '../../../core/utils/logger.dart';
|
||||
import '../../../core/utils/result.dart';
|
||||
|
||||
final settingsControllerProvider =
|
||||
@@ -30,6 +32,34 @@ class SettingsController extends AsyncNotifier<AppSettings> {
|
||||
ref.invalidate(viewedKeysProvider);
|
||||
}
|
||||
|
||||
Future<void> clearHiddenPosts() async {
|
||||
await ref.read(settingsServiceProvider).clearHiddenPosts();
|
||||
ref.invalidate(appSettingsProvider);
|
||||
ref.invalidateSelf();
|
||||
}
|
||||
|
||||
Future<String> diagnosticsReport() async {
|
||||
final result =
|
||||
await ref.read(settingsServiceProvider).buildDiagnosticsReport(
|
||||
appVersion: appDisplayVersion,
|
||||
buildNumber: appBuildNumber,
|
||||
);
|
||||
return result is Success<String> ? result.data : '{}';
|
||||
}
|
||||
|
||||
Future<String> diagnosticLogs() async {
|
||||
final settings = state.value ?? AppSettings.defaults;
|
||||
final persistent = settings.diagnosticLogLines;
|
||||
final runtime = AppLogger.lines;
|
||||
return [...persistent, ...runtime].join('\n');
|
||||
}
|
||||
|
||||
Future<void> clearDiagnosticLogs() async {
|
||||
AppLogger.clear();
|
||||
await ref.read(settingsServiceProvider).clearDiagnosticLogs();
|
||||
ref.invalidateSelf();
|
||||
}
|
||||
|
||||
Future<String> exportJson() async {
|
||||
final result =
|
||||
await ref.read(settingsServiceProvider).exportSettingsToJson();
|
||||
|
||||
Reference in New Issue
Block a user