revanced-manager/lib/models/patched_application.dart
Aunali321 106d77ea0c
feat: "New dashboard UI". (#3)
* feat: "New dashboard UI".

* fix: some improvenents

* fix: fix inconsistencies and light theme.

* fix: save patched and installed apps on prefs, improve installer log, improve dashboard with real data (wip)

Co-authored-by: Aunali321 <aunvakil.aa@gmail.com>

* feat: move chips to a separate widget.

Co-authored-by: Alberto Ponces <ponces26@gmail.com>
2022-08-16 14:06:56 +01:00

44 lines
1.1 KiB
Dart

import 'dart:typed_data';
import 'package:json_annotation/json_annotation.dart';
part 'patched_application.g.dart';
@JsonSerializable()
class PatchedApplication {
final String name;
final String packageName;
final String version;
final String apkFilePath;
@JsonKey(
fromJson: bytesFromString,
toJson: bytesToString,
)
final Uint8List icon;
final DateTime patchDate;
final bool isRooted;
final bool isFromStorage;
final List<String> appliedPatches;
PatchedApplication({
required this.name,
required this.packageName,
required this.version,
required this.apkFilePath,
required this.icon,
required this.patchDate,
required this.isRooted,
required this.isFromStorage,
this.appliedPatches = const <String>[],
});
factory PatchedApplication.fromJson(Map<String, dynamic> json) =>
_$PatchedApplicationFromJson(json);
Map toJson() => _$PatchedApplicationToJson(this);
static Uint8List bytesFromString(String pictureUrl) =>
Uint8List.fromList(pictureUrl.codeUnits);
static String bytesToString(Uint8List bytes) => String.fromCharCodes(bytes);
}