refactor: naming synchronisation

release/mobdr-v0.0.1
Frédérik Benoist 2023-05-15 06:19:58 +02:00
parent f0d575e2f3
commit b4b50f6192
4 changed files with 30 additions and 20 deletions

View File

@ -25,7 +25,7 @@ class VisitModel {
required this.type_visite, required this.type_visite,
required this.langage}); required this.langage});
static Future<List<VisitModel>> getTodayVisit() async { static Future<List<VisitModel>> getTodayVisits() async {
// Retrieve all today visits from the database // Retrieve all today visits from the database
final visits = await objectbox.getTodayVisit(); final visits = await objectbox.getTodayVisit();
@ -49,7 +49,7 @@ class VisitModel {
return visitModelList; return visitModelList;
} }
static Future<List<VisitModel>> getPreviousVisit() async { static Future<List<VisitModel>> getPreviousVisits() async {
// Retrieve all previsous visits from the database // Retrieve all previsous visits from the database
final visits = await objectbox.getPreviousVisit(); final visits = await objectbox.getPreviousVisit();
@ -73,7 +73,7 @@ class VisitModel {
return visitModelList; return visitModelList;
} }
static Future<List<VisitModel>> getAllVisit() async { static Future<List<VisitModel>> getToSyncVisits() async {
// Retrieve all visits from the database // Retrieve all visits from the database
final visits = await objectbox.getAllVisit(); final visits = await objectbox.getAllVisit();
@ -91,6 +91,9 @@ class VisitModel {
image: visite.url_photo_principale, image: visite.url_photo_principale,
type_visite: visite.type_visite, type_visite: visite.type_visite,
langage: visite.langage)) langage: visite.langage))
.where((visit) =>
visit.photoCount >
0) // Filter out visits with photoCount equal to 0
.toList(); .toList();
// Return the list of VisiteModel // Return the list of VisiteModel

View File

@ -5,7 +5,7 @@ import 'package:mobdr/main.dart';
import 'package:mobdr/ui/account/tab_account.dart'; import 'package:mobdr/ui/account/tab_account.dart';
import 'package:mobdr/ui/home/tab_home.dart'; import 'package:mobdr/ui/home/tab_home.dart';
import 'package:mobdr/ui/mp4/tab_mp4.dart'; import 'package:mobdr/ui/mp4/tab_mp4.dart';
import 'package:mobdr/ui/visit/tab_visit.dart'; import 'package:mobdr/ui/sync/tab_sync.dart';
import 'package:mobdr/config/constant.dart'; import 'package:mobdr/config/constant.dart';
import 'package:mobdr/events.dart'; import 'package:mobdr/events.dart';
@ -28,7 +28,7 @@ class _HomePageState extends State<HomePage>
void initState() { void initState() {
_contentPages = <Widget>[ _contentPages = <Widget>[
TabHomePage(), TabHomePage(),
TabVisitListPage(), TabSyncPage(),
TabMP4Page(), TabMP4Page(),
TabAccountPage(), TabAccountPage(),
]; ];

View File

@ -410,8 +410,8 @@ class _TabHomePageState extends State<TabHomePage>
/// Initializes data when the page loads. /// Initializes data when the page loads.
Future<void> loadData() async { Future<void> loadData() async {
// visite model initialisation // visite model initialisation
todayVisitData = await VisitModel.getTodayVisit(); todayVisitData = await VisitModel.getTodayVisits();
previousVisitData = await VisitModel.getPreviousVisit(); previousVisitData = await VisitModel.getPreviousVisits();
// Search for the visit matching last_id_visit // Search for the visit matching last_id_visit
int lastIdVisite = SharedPrefs().last_id_visite; int lastIdVisite = SharedPrefs().last_id_visite;
@ -426,6 +426,13 @@ class _TabHomePageState extends State<TabHomePage>
} }
} }
for (var visit in previousVisitData) {
if (visit.id_visite == lastIdVisite) {
lastVisitData = visit;
break;
}
}
if (lastVisitData == null) { if (lastVisitData == null) {
SharedPrefs().last_id_visite = 0; SharedPrefs().last_id_visite = 0;
} }

View File

@ -12,12 +12,12 @@ import 'package:mobdr/ui/reusable/cache_image_network.dart';
import 'package:mobdr/ui/sync/upload_photos.dart'; import 'package:mobdr/ui/sync/upload_photos.dart';
import 'package:mobdr/ui/sync/check_connection.dart'; import 'package:mobdr/ui/sync/check_connection.dart';
class TabVisitListPage extends StatefulWidget { class TabSyncPage extends StatefulWidget {
@override @override
_TabVisitListPageState createState() => _TabVisitListPageState(); _TabSyncPageState createState() => _TabSyncPageState();
} }
class _TabVisitListPageState extends State<TabVisitListPage> class _TabSyncPageState extends State<TabSyncPage>
with AutomaticKeepAliveClientMixin { with AutomaticKeepAliveClientMixin {
// keep the state to do not refresh when switch navbar // keep the state to do not refresh when switch navbar
@override @override
@ -26,7 +26,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
bool _isLoading = true; bool _isLoading = true;
String _errorMessage = ''; String _errorMessage = '';
late List<VisitModel> modelData = []; late List<VisitModel> tosyncVisitData = [];
late StreamSubscription subVisitPhotoCountEvent; late StreamSubscription subVisitPhotoCountEvent;
@ -40,9 +40,9 @@ class _TabVisitListPageState extends State<TabVisitListPage>
// Listen particular event // Listen particular event
subVisitPhotoCountEvent = eventBus.on<VisitPhotoCountEvent>().listen((e) { subVisitPhotoCountEvent = eventBus.on<VisitPhotoCountEvent>().listen((e) {
setState(() { setState(() {
for (int i = 0; i < modelData.length; i++) { for (int i = 0; i < tosyncVisitData.length; i++) {
if (modelData[i].id_visite == e.id_visite) { if (tosyncVisitData[i].id_visite == e.id_visite) {
modelData[i].photoCount = e.photoCount; tosyncVisitData[i].photoCount = e.photoCount;
break; break;
} }
} }
@ -69,7 +69,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
final double boxImageSize = (MediaQuery.of(context).size.width / 4); final double boxImageSize = (MediaQuery.of(context).size.width / 4);
if (_isLoading) { if (_isLoading) {
return Center(child: CircularProgressIndicator()); return Center(child: CircularProgressIndicator());
} else if (modelData.isEmpty) { } else if (tosyncVisitData.isEmpty) {
return Center( return Center(
child: Text('No visits to synchronise.'), child: Text('No visits to synchronise.'),
); );
@ -91,7 +91,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
Flexible( Flexible(
child: AnimatedList( child: AnimatedList(
key: _listKey, key: _listKey,
initialItemCount: modelData.length, initialItemCount: tosyncVisitData.length,
physics: AlwaysScrollableScrollPhysics(), physics: AlwaysScrollableScrollPhysics(),
itemBuilder: (context, index, animation) { itemBuilder: (context, index, animation) {
return Dismissible( return Dismissible(
@ -100,7 +100,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
onDismissed: (direction) { onDismissed: (direction) {
// the photo must be removed // the photo must be removed
setState(() { setState(() {
modelData.removeAt(index); tosyncVisitData.removeAt(index);
_listKey = GlobalKey<AnimatedListState>(); _listKey = GlobalKey<AnimatedListState>();
}); });
}, },
@ -121,7 +121,7 @@ class _TabVisitListPageState extends State<TabVisitListPage>
), ),
), ),
child: _buildVisitelistCard( child: _buildVisitelistCard(
modelData[index], boxImageSize, animation, index), tosyncVisitData[index], boxImageSize, animation, index),
); );
}, },
), ),
@ -375,8 +375,8 @@ class _TabVisitListPageState extends State<TabVisitListPage>
/// Initializes data when the page loads. /// Initializes data when the page loads.
Future<void> loadData() async { Future<void> loadData() async {
try { try {
// data initialisation with today visits // initialization of data with all visits to be synchronized
modelData = await VisitModel.getAllVisit(); tosyncVisitData = await VisitModel.getToSyncVisits();
} catch (e) { } catch (e) {
// set errorMessage for debug // set errorMessage for debug
_errorMessage = 'Error loading visits : $e'; _errorMessage = 'Error loading visits : $e';