| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import 'dart:typed_data';
- import 'slot_assignment.dart';
- /// A launchable activity returned by the platform.
- class AppEntry {
- const AppEntry({
- required this.packageName,
- required this.activityName,
- required this.label,
- this.icon,
- this.isSystemApp = false,
- });
- final String packageName;
- final String activityName;
- final String label;
- final Uint8List? icon;
- final bool isSystemApp;
- String get componentId => '$packageName/$activityName';
- factory AppEntry.fromMap(Map<dynamic, dynamic> map) {
- final rawIcon = map['icon'];
- final icon = rawIcon is Uint8List
- ? rawIcon
- : rawIcon is List<int>
- ? Uint8List.fromList(rawIcon)
- : rawIcon is List
- ? Uint8List.fromList(rawIcon.whereType<int>().toList())
- : null;
- return AppEntry(
- packageName: (map['package'] as String?) ?? '',
- activityName: (map['activity'] as String?) ?? '',
- label: ((map['label'] as String?) ?? '').trim(),
- icon: icon,
- isSystemApp: map['system'] == true,
- );
- }
- SlotAssignment toAssignment() => SlotAssignment(
- packageName: packageName,
- activityName: activityName,
- label: label,
- );
- bool matches(SlotAssignment assignment) {
- return assignment.packageName == packageName &&
- assignment.activityName == activityName;
- }
- }
|