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

class DefaultActivitySettings {
  // available activity parameters codes
  static const String parameterCodeSequenceLength = 'sequenceLength';
  static const List<String> availableParameters = [
    parameterCodeSequenceLength,
  ];

  // items count: available values
  static const String sequenceLengthValueShort = 'short';
  static const String sequenceLengthValueMedium = 'medium';
  static const String sequenceLengthValueLong = 'long';
  static const List<String> allowedSequenceLengthValues = [
    sequenceLengthValueShort,
    sequenceLengthValueMedium,
    sequenceLengthValueLong,
  ];
  // items count: default value
  static const String defaultSequenceLengthValue = sequenceLengthValueMedium;

  // available values from parameter code
  static List<String> getAvailableValues(String parameterCode) {
    switch (parameterCode) {
      case parameterCodeSequenceLength:
        return DefaultActivitySettings.allowedSequenceLengthValues;
    }

    printlog('Did not find any available value for activity parameter "$parameterCode".');
    return [];
  }

  static int getSequenceLengthFromParameterValueCode(String parameterLevel) {
    const Map<String, int> values = {
      sequenceLengthValueShort: 8,
      sequenceLengthValueMedium: 16,
      sequenceLengthValueLong: 32,
    };
    return values[parameterLevel] ??
        getSequenceLengthFromParameterValueCode(
            DefaultActivitySettings.defaultSequenceLengthValue);
  }
}