From e7ad3663817205fb22b846c55a761fbe5a3ee408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Sun, 7 Jul 2024 15:50:14 +0200 Subject: [PATCH] Fix/improve refresh data --- android/gradle.properties | 4 +- .../metadata/android/en-US/changelogs/59.txt | 1 + .../metadata/android/fr-FR/changelogs/59.txt | 1 + lib/cubit/activity_cubit.dart | 60 ------------------- lib/cubit/activity_state.dart | 15 ----- lib/main.dart | 2 - lib/models/activity/activity.dart | 26 -------- lib/ui/nav/global_app_bar.dart | 22 ++++++- lib/ui/pages/discoveries.dart | 8 ++- lib/ui/pages/home.dart | 10 +++- lib/ui/pages/statistics.dart | 8 ++- pubspec.yaml | 2 +- 12 files changed, 45 insertions(+), 114 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/59.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/59.txt delete mode 100644 lib/cubit/activity_cubit.dart delete mode 100644 lib/cubit/activity_state.dart delete mode 100644 lib/models/activity/activity.dart diff --git a/android/gradle.properties b/android/gradle.properties index 7dd3e32..02bde78 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.1.0 -app.versionCode=58 +app.versionName=0.1.1 +app.versionCode=59 diff --git a/fastlane/metadata/android/en-US/changelogs/59.txt b/fastlane/metadata/android/en-US/changelogs/59.txt new file mode 100644 index 0000000..ea7fb7e --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/59.txt @@ -0,0 +1 @@ +Fix/improve refresh data. diff --git a/fastlane/metadata/android/fr-FR/changelogs/59.txt b/fastlane/metadata/android/fr-FR/changelogs/59.txt new file mode 100644 index 0000000..ce11b4e --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/59.txt @@ -0,0 +1 @@ +Correction/amélioration de la mise à jour des données. diff --git a/lib/cubit/activity_cubit.dart b/lib/cubit/activity_cubit.dart deleted file mode 100644 index 55bfee6..0000000 --- a/lib/cubit/activity_cubit.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hydrated_bloc/hydrated_bloc.dart'; - -import 'package:scrobbles/cubit/data_counts_by_day_cubit.dart'; -import 'package:scrobbles/cubit/data_counts_by_hour_cubit.dart'; -import 'package:scrobbles/cubit/data_discoveries_cubit.dart'; -import 'package:scrobbles/cubit/data_heatmap_cubit.dart'; -import 'package:scrobbles/cubit/data_new_artists_cubit.dart'; -import 'package:scrobbles/cubit/data_new_tracks_cubit.dart'; -import 'package:scrobbles/cubit/data_statistics_global_cubit.dart'; -import 'package:scrobbles/cubit/data_statistics_recent_cubit.dart'; -import 'package:scrobbles/cubit/data_timeline_cubit.dart'; -import 'package:scrobbles/cubit/data_top_artists_cubit.dart'; -import 'package:scrobbles/models/activity/activity.dart'; - -part 'activity_state.dart'; - -class ActivityCubit extends HydratedCubit<ActivityState> { - ActivityCubit() - : super(ActivityState( - currentActivity: Activity.createNull(), - )); - - void updateState(Activity activity) { - emit(ActivityState( - currentActivity: activity, - )); - } - - void refresh(BuildContext context) { - BlocProvider.of<DataCountsByDayCubit>(context).refresh(context); - BlocProvider.of<DataCountsByHourCubit>(context).refresh(context); - BlocProvider.of<DataDiscoveriesCubit>(context).refresh(context); - BlocProvider.of<DataHeatmapCubit>(context).refresh(context); - BlocProvider.of<DataNewArtistsCubit>(context).refresh(context); - BlocProvider.of<DataNewTracksCubit>(context).refresh(context); - BlocProvider.of<DataStatisticsGlobalCubit>(context).refresh(context); - BlocProvider.of<DataStatisticsRecentCubit>(context).refresh(context); - BlocProvider.of<DataTimelineCubit>(context).refresh(context); - BlocProvider.of<DataTopArtistsCubit>(context).refresh(context); - } - - @override - ActivityState? fromJson(Map<String, dynamic> json) { - final Activity currentActivity = json['currentActivity'] as Activity; - - return ActivityState( - currentActivity: currentActivity, - ); - } - - @override - Map<String, dynamic>? toJson(ActivityState state) { - return <String, dynamic>{ - 'currentActivity': state.currentActivity.toJson(), - }; - } -} diff --git a/lib/cubit/activity_state.dart b/lib/cubit/activity_state.dart deleted file mode 100644 index 887b45e..0000000 --- a/lib/cubit/activity_state.dart +++ /dev/null @@ -1,15 +0,0 @@ -part of 'activity_cubit.dart'; - -@immutable -class ActivityState extends Equatable { - const ActivityState({ - required this.currentActivity, - }); - - final Activity currentActivity; - - @override - List<dynamic> get props => <dynamic>[ - currentActivity, - ]; -} diff --git a/lib/main.dart b/lib/main.dart index a69592e..01c4a43 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,7 +9,6 @@ import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:path_provider/path_provider.dart'; import 'package:scrobbles/config/theme.dart'; -import 'package:scrobbles/cubit/activity_cubit.dart'; import 'package:scrobbles/cubit/nav_cubit_pages.dart'; import 'package:scrobbles/cubit/nav_cubit_screens.dart'; import 'package:scrobbles/cubit/data_counts_by_day_cubit.dart'; @@ -59,7 +58,6 @@ class MyApp extends StatelessWidget { BlocProvider<NavCubitPage>(create: (context) => NavCubitPage()), BlocProvider<NavCubitScreen>(create: (context) => NavCubitScreen()), BlocProvider<ThemeCubit>(create: (context) => ThemeCubit()), - BlocProvider<ActivityCubit>(create: (context) => ActivityCubit()), BlocProvider<GlobalSettingsCubit>(create: (context) => GlobalSettingsCubit()), BlocProvider<DataCountsByDayCubit>(create: (context) => DataCountsByDayCubit()), BlocProvider<DataCountsByHourCubit>(create: (context) => DataCountsByHourCubit()), diff --git a/lib/models/activity/activity.dart b/lib/models/activity/activity.dart deleted file mode 100644 index 1b890ee..0000000 --- a/lib/models/activity/activity.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:scrobbles/utils/tools.dart'; - -class Activity { - const Activity(); - - factory Activity.createNull() { - return const Activity(); - } - - void dump() { - printlog(''); - printlog('## Current activity dump:'); - printlog(''); - printlog('$Activity:'); - printlog(''); - } - - @override - String toString() { - return '$Activity(${toJson()})'; - } - - Map<String, dynamic>? toJson() { - return <String, dynamic>{}; - } -} diff --git a/lib/ui/nav/global_app_bar.dart b/lib/ui/nav/global_app_bar.dart index f7cb5e5..7d6ee42 100644 --- a/lib/ui/nav/global_app_bar.dart +++ b/lib/ui/nav/global_app_bar.dart @@ -1,8 +1,17 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:scrobbles/cubit/activity_cubit.dart'; import 'package:unicons/unicons.dart'; +import 'package:scrobbles/cubit/data_counts_by_day_cubit.dart'; +import 'package:scrobbles/cubit/data_counts_by_hour_cubit.dart'; +import 'package:scrobbles/cubit/data_discoveries_cubit.dart'; +import 'package:scrobbles/cubit/data_heatmap_cubit.dart'; +import 'package:scrobbles/cubit/data_new_artists_cubit.dart'; +import 'package:scrobbles/cubit/data_new_tracks_cubit.dart'; +import 'package:scrobbles/cubit/data_statistics_global_cubit.dart'; +import 'package:scrobbles/cubit/data_statistics_recent_cubit.dart'; +import 'package:scrobbles/cubit/data_timeline_cubit.dart'; +import 'package:scrobbles/cubit/data_top_artists_cubit.dart'; import 'package:scrobbles/cubit/nav_cubit_pages.dart'; import 'package:scrobbles/config/screen.dart'; import 'package:scrobbles/cubit/nav_cubit_screens.dart'; @@ -37,7 +46,16 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget { // refresh data menuActions.add(IconButton( onPressed: () { - BlocProvider.of<ActivityCubit>(context).refresh(context); + BlocProvider.of<DataCountsByDayCubit>(context).refresh(context); + BlocProvider.of<DataCountsByHourCubit>(context).refresh(context); + BlocProvider.of<DataDiscoveriesCubit>(context).refresh(context); + BlocProvider.of<DataHeatmapCubit>(context).refresh(context); + BlocProvider.of<DataNewArtistsCubit>(context).refresh(context); + BlocProvider.of<DataNewTracksCubit>(context).refresh(context); + BlocProvider.of<DataStatisticsGlobalCubit>(context).refresh(context); + BlocProvider.of<DataStatisticsRecentCubit>(context).refresh(context); + BlocProvider.of<DataTimelineCubit>(context).refresh(context); + BlocProvider.of<DataTopArtistsCubit>(context).refresh(context); }, icon: const Icon(UniconsSolid.refresh), )); diff --git a/lib/ui/pages/discoveries.dart b/lib/ui/pages/discoveries.dart index ddbbe96..34b0251 100644 --- a/lib/ui/pages/discoveries.dart +++ b/lib/ui/pages/discoveries.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:scrobbles/cubit/activity_cubit.dart'; +import 'package:scrobbles/cubit/data_discoveries_cubit.dart'; +import 'package:scrobbles/cubit/data_new_artists_cubit.dart'; +import 'package:scrobbles/cubit/data_new_tracks_cubit.dart'; import 'package:scrobbles/ui/widgets/cards/discoveries.dart'; import 'package:scrobbles/ui/widgets/cards/new_artists.dart'; import 'package:scrobbles/ui/widgets/cards/new_tracks.dart'; @@ -13,7 +15,9 @@ class PageDiscoveries extends StatelessWidget { Widget build(BuildContext context) { return RefreshIndicator( onRefresh: () async { - BlocProvider.of<ActivityCubit>(context).refresh(context); + BlocProvider.of<DataDiscoveriesCubit>(context).refresh(context); + BlocProvider.of<DataNewArtistsCubit>(context).refresh(context); + BlocProvider.of<DataNewTracksCubit>(context).refresh(context); }, child: ListView( padding: const EdgeInsets.symmetric(horizontal: 4), diff --git a/lib/ui/pages/home.dart b/lib/ui/pages/home.dart index f7d4d8b..f1d647a 100644 --- a/lib/ui/pages/home.dart +++ b/lib/ui/pages/home.dart @@ -1,7 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:scrobbles/cubit/activity_cubit.dart'; +import 'package:scrobbles/cubit/data_statistics_global_cubit.dart'; +import 'package:scrobbles/cubit/data_statistics_recent_cubit.dart'; +import 'package:scrobbles/cubit/data_timeline_cubit.dart'; +import 'package:scrobbles/cubit/data_top_artists_cubit.dart'; import 'package:scrobbles/ui/widgets/cards/statistics_global.dart'; import 'package:scrobbles/ui/widgets/cards/statistics_recent.dart'; import 'package:scrobbles/ui/widgets/cards/timeline.dart'; @@ -14,7 +17,10 @@ class PageHome extends StatelessWidget { Widget build(BuildContext context) { return RefreshIndicator( onRefresh: () async { - BlocProvider.of<ActivityCubit>(context).refresh(context); + BlocProvider.of<DataStatisticsGlobalCubit>(context).refresh(context); + BlocProvider.of<DataStatisticsRecentCubit>(context).refresh(context); + BlocProvider.of<DataTimelineCubit>(context).refresh(context); + BlocProvider.of<DataTopArtistsCubit>(context).refresh(context); }, child: ListView( padding: const EdgeInsets.symmetric(horizontal: 4), diff --git a/lib/ui/pages/statistics.dart b/lib/ui/pages/statistics.dart index b0448b6..b232bf0 100644 --- a/lib/ui/pages/statistics.dart +++ b/lib/ui/pages/statistics.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:scrobbles/cubit/activity_cubit.dart'; +import 'package:scrobbles/cubit/data_counts_by_day_cubit.dart'; +import 'package:scrobbles/cubit/data_counts_by_hour_cubit.dart'; +import 'package:scrobbles/cubit/data_heatmap_cubit.dart'; import 'package:scrobbles/ui/widgets/cards/counts_by_day.dart'; import 'package:scrobbles/ui/widgets/cards/counts_by_hour.dart'; import 'package:scrobbles/ui/widgets/cards/heatmap.dart'; @@ -13,7 +15,9 @@ class PageStatistics extends StatelessWidget { Widget build(BuildContext context) { return RefreshIndicator( onRefresh: () async { - BlocProvider.of<ActivityCubit>(context).refresh(context); + BlocProvider.of<DataCountsByDayCubit>(context).refresh(context); + BlocProvider.of<DataCountsByHourCubit>(context).refresh(context); + BlocProvider.of<DataHeatmapCubit>(context).refresh(context); }, child: ListView( padding: const EdgeInsets.symmetric(horizontal: 4), diff --git a/pubspec.yaml b/pubspec.yaml index 63996e0..a48daaa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: Display scrobbles data and charts publish_to: "none" -version: 0.1.0+58 +version: 0.1.1+59 environment: sdk: "^3.0.0" -- GitLab