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 map) { return SlotAssignment( packageName: (map['package'] as String?) ?? '', activityName: (map['activity'] as String?) ?? '', label: (map['label'] as String?) ?? '', ); } Map 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; }