import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:spotifyplaylistgenerator/models/settings/settings_global.dart'; class Activity { Activity({ // Settings required this.globalSettings, // State this.isConnected = false, // Base data this.userId = '', // Activity data this.token = 1, }); // Settings final GlobalSettings globalSettings; // State bool isConnected; // Base data String userId; // Activity data int token; factory Activity.createNull() { return Activity( // Settings globalSettings: GlobalSettings.createDefault(), // Base data userId: '', ); } factory Activity.createNew({ GlobalSettings? globalSettings, }) { final GlobalSettings newGlobalSettings = globalSettings ?? GlobalSettings.createDefault(); return Activity( // Settings globalSettings: newGlobalSettings, // State isConnected: false, // Base data userId: '', ); } void dump() { printlog(''); printlog('## Current activity dump:'); printlog(''); printlog('$Activity:'); printlog(' Settings'); globalSettings.dump(); printlog(' State'); printlog(' isConnected: $isConnected'); printlog(' Base data'); printlog(' userId: $userId'); printlog(' Activity data'); printlog(' token: $token'); printlog(''); } @override String toString() { return '$Activity(${toJson()})'; } Map<String, dynamic>? toJson() { return <String, dynamic>{ // Settings 'globalSettings': globalSettings.toJson(), // State 'isConnected': isConnected, // Base data 'userId': userId, // Activity data 'token': token, }; } }