| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import 'package:flutter/foundation.dart';
- /// A persisted app choice for one shortcut slot.
- @immutable
- class SlotAssignment {
- const SlotAssignment({
- required this.packageName,
- required this.activityName,
- required this.label,
- });
- final String packageName;
- final String activityName;
- final String label;
- factory SlotAssignment.fromMap(Map<dynamic, dynamic> map) {
- return SlotAssignment(
- packageName: (map['package'] as String?) ?? '',
- activityName: (map['activity'] as String?) ?? '',
- label: (map['label'] as String?) ?? '',
- );
- }
- Map<String, Object?> toMap() => {
- 'package': packageName,
- 'activity': activityName,
- 'label': label,
- };
- @override
- bool operator ==(Object other) {
- return other is SlotAssignment &&
- other.packageName == packageName &&
- other.activityName == activityName;
- }
- @override
- int get hashCode => Object.hash(packageName, activityName);
- @override
- String toString() => label.isEmpty ? packageName : label;
- }
|