Add debug export to clipboard

This commit is contained in:
problematicconsumer
2023-10-06 23:42:06 +03:30
parent 9f711cd666
commit 6f35dc2201
10 changed files with 64 additions and 11 deletions

View File

@@ -16,6 +16,7 @@ class AppInfo with _$AppInfo {
required Release release,
String? installerMedia,
required String operatingSystem,
required String operatingSystemVersion,
required Environment environment,
}) = _AppInfo;
@@ -25,6 +26,12 @@ class AppInfo with _$AppInfo {
? version
: "$version ${environment.name}";
/// formats app info for sharing
String format() => '''
$name v$version ($buildNumber) ${environment.name}
${release.name} release ${installerMedia != null ? "via $installerMedia" : ""}
$operatingSystem [$operatingSystemVersion]''';
factory AppInfo.fromJson(Map<String, dynamic> json) =>
_$AppInfoFromJson(json);
}

View File

@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/utils/platform_utils.dart';
@@ -7,6 +9,8 @@ part 'config_options.g.dart';
@freezed
class ConfigOptions with _$ConfigOptions {
const ConfigOptions._();
@JsonSerializable(fieldRename: FieldRename.kebab)
const factory ConfigOptions({
@Default(false) bool executeConfigAsIs,
@@ -36,6 +40,11 @@ class ConfigOptions with _$ConfigOptions {
setSystemProxy: PlatformUtils.isDesktop,
);
String format() {
const encoder = JsonEncoder.withIndent(' ');
return encoder.convert(toJson());
}
factory ConfigOptions.fromJson(Map<String, dynamic> json) =>
_$ConfigOptionsFromJson(json);
}