Newer
Older
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:scrobbles/config/default_global_settings.dart';
class GlobalSettingsCubit extends HydratedCubit<GlobalSettingsState> {
GlobalSettingsCubit() : super(const GlobalSettingsState());
void setValues({
String? username,
String? securityToken,
int? discoveriesDaysCount,
int? distributionDaysCount,
int? statisticsRecentDaysCount,
int? timelineDaysCount,
int? topArtistsDaysCount,
int? newArtistsCount,
int? newTracksCount,
}) {
emit(GlobalSettingsState(
username: username ?? state.username,
securityToken: securityToken ?? state.securityToken,
discoveriesDaysCount: discoveriesDaysCount ?? state.discoveriesDaysCount,
distributionDaysCount: distributionDaysCount ?? state.distributionDaysCount,
statisticsRecentDaysCount: statisticsRecentDaysCount ?? state.statisticsRecentDaysCount,
timelineDaysCount: timelineDaysCount ?? state.timelineDaysCount,
topArtistsDaysCount: topArtistsDaysCount ?? state.topArtistsDaysCount,
newArtistsCount: newArtistsCount ?? state.newArtistsCount,
newTracksCount: newTracksCount ?? state.newTracksCount,
));
}
String getUsername() {
return state.username ?? '';
}
String getSecurityToken() {
return state.securityToken ?? '';
}
int getDiscoveriesDaysCount() {
return state.discoveriesDaysCount ?? DefaultGlobalSettings.defaultDiscoveriesDaysCount;
return state.distributionDaysCount ?? DefaultGlobalSettings.defaultDistributionDaysCount;
int getStatisticsRecentDaysCount() {
return state.statisticsRecentDaysCount ??
DefaultGlobalSettings.defaultStatisticsRecentDaysCount;
}
int getTimelineDaysCount() {
return state.timelineDaysCount ?? DefaultGlobalSettings.defaultTimelineDaysCount;
}
int getTopArtistsDaysCount() {
return state.topArtistsDaysCount ?? DefaultGlobalSettings.defaultTopArtistsDaysCount;
return state.newArtistsCount ?? DefaultGlobalSettings.defaultNewArtistsCount;
}
int getNewTracksCount() {
return state.newTracksCount ?? DefaultGlobalSettings.defaultNewTracksCount;
GlobalSettingsState? fromJson(Map<String, dynamic> json) {
String username = json['username'] as String;
String securityToken = json['securityToken'] as String;
int discoveriesDaysCount = json['discoveriesDaysCount'] as int;
int distributionDaysCount = json['distributionDaysCount'] as int;
int statisticsRecentDaysCount = json['statisticsRecentDaysCount'] as int;
int timelineDaysCount = json['timelineDaysCount'] as int;
int topArtistsDaysCount = json['topArtistsDaysCount'] as int;
int newArtistsCount = json['newArtistsCount'] as int;
int newTracksCount = json['newTracksCount'] as int;
username: username,
securityToken: securityToken,
discoveriesDaysCount: discoveriesDaysCount,
distributionDaysCount: distributionDaysCount,
statisticsRecentDaysCount: statisticsRecentDaysCount,
timelineDaysCount: timelineDaysCount,
topArtistsDaysCount: topArtistsDaysCount,
newArtistsCount: newArtistsCount,
newTracksCount: newTracksCount,
Map<String, dynamic>? toJson(GlobalSettingsState state) {
'username': state.username ?? '',
'securityToken': state.securityToken ?? '',
state.discoveriesDaysCount ?? DefaultGlobalSettings.defaultDiscoveriesDaysCount,
state.distributionDaysCount ?? DefaultGlobalSettings.defaultDistributionDaysCount,
'statisticsRecentDaysCount': state.statisticsRecentDaysCount ??
DefaultGlobalSettings.defaultStatisticsRecentDaysCount,
'timelineDaysCount':
state.timelineDaysCount ?? DefaultGlobalSettings.defaultTimelineDaysCount,
state.topArtistsDaysCount ?? DefaultGlobalSettings.defaultTopArtistsDaysCount,
'newArtistsCount': state.newArtistsCount ?? DefaultGlobalSettings.defaultNewArtistsCount,
'newTracksCount': state.newTracksCount ?? DefaultGlobalSettings.defaultNewTracksCount,