Skip to content
Snippets Groups Projects
settings_activity.dart 1.04 KiB
Newer Older
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';

import 'package:scrobbles/config/default_activity_settings.dart';

class ActivitySettings {
  final String dashboardType;

  ActivitySettings({
    required this.dashboardType,
  });

  factory ActivitySettings.createDefault() {
    return ActivitySettings(
      dashboardType: DefaultActivitySettings.defaultDashboardTypeValue,
    );
  }

  static String getDashboardTypeValueFromUnsafe(String dashboardType) {
    if (DefaultActivitySettings.allowedDashboardTypeValues.contains(dashboardType)) {
      return dashboardType;
    }

    return DefaultActivitySettings.defaultDashboardTypeValue;
  }

  void dump() {
    printlog('$ActivitySettings:');
    printlog('  ${DefaultActivitySettings.parameterCodeDashboardType}: $dashboardType');
    printlog('');
  }

  @override
  String toString() {
    return '$ActivitySettings(${toJson()})';
  }

  Map<String, dynamic>? toJson() {
    return <String, dynamic>{
      DefaultActivitySettings.parameterCodeDashboardType: dashboardType,
    };
  }
}