Add order beacon by section order

This commit is contained in:
Fransolet Thomas 2023-02-20 15:48:54 +01:00
parent ec2d9df690
commit 67a228d2e6
3 changed files with 12 additions and 4 deletions

View File

@ -2,6 +2,7 @@ import 'package:manager_api/api.dart';
class BeaconSection { class BeaconSection {
int? minorBeaconId; int? minorBeaconId;
int? orderInConfig;
String? configurationId; String? configurationId;
String? sectionId; String? sectionId;
/*int? rssi; /*int? rssi;
@ -9,11 +10,12 @@ class BeaconSection {
String? proximityUUID;*/ String? proximityUUID;*/
bool? found = false; bool? found = false;
BeaconSection({this.minorBeaconId, this.configurationId, this.sectionId, this.found}); BeaconSection({this.minorBeaconId, this.orderInConfig, this.configurationId, this.sectionId, this.found});
Map<String, dynamic> toMap() { Map<String, dynamic> toMap() {
return { return {
'minorBeaconId': minorBeaconId, 'minorBeaconId': minorBeaconId,
'orderInConfig': orderInConfig,
'configurationId': configurationId, 'configurationId': configurationId,
'sectionId': sectionId, 'sectionId': sectionId,
/*'rssi': rssi, /*'rssi': rssi,
@ -26,6 +28,7 @@ class BeaconSection {
factory BeaconSection.fromJson(Map<String, dynamic> json) { factory BeaconSection.fromJson(Map<String, dynamic> json) {
return BeaconSection( return BeaconSection(
minorBeaconId: json['minorBeaconId'] as int, minorBeaconId: json['minorBeaconId'] as int,
orderInConfig: json['orderInConfig'] as int,
configurationId: json['configurationId'] as String, configurationId: json['configurationId'] as String,
sectionId: json['sectionId'] as String, sectionId: json['sectionId'] as String,
/*rssi: json['rssi'] as int, /*rssi: json['rssi'] as int,
@ -37,6 +40,6 @@ class BeaconSection {
@override @override
String toString() { String toString() {
return 'BeaconSection{minorBeaconId: $minorBeaconId, sectionId: $sectionId, configurationId: $configurationId, found: $found}'; return 'BeaconSection{minorBeaconId: $minorBeaconId, orderInConfig: $orderInConfig, sectionId: $sectionId, configurationId: $configurationId, found: $found}';
} }
} }

View File

@ -136,7 +136,7 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
if(visitAppContext.beaconSections == null) { if(visitAppContext.beaconSections == null) {
List<SectionDTO>? sections = await ApiService.getAllBeacons(client, visitAppContext.instanceId!); List<SectionDTO>? sections = await ApiService.getAllBeacons(client, visitAppContext.instanceId!);
if(sections != null && sections.isNotEmpty) { if(sections != null && sections.isNotEmpty) {
List<BeaconSection> beaconSections = sections.map((e) => BeaconSection(minorBeaconId: e.beaconId, configurationId: e.configurationId, sectionId: e.id)).toList(); List<BeaconSection> beaconSections = sections.map((e) => BeaconSection(minorBeaconId: e.beaconId, orderInConfig: e.order, configurationId: e.configurationId, sectionId: e.id)).toList();
visitAppContext.beaconSections = beaconSections; visitAppContext.beaconSections = beaconSections;
print("Got some Beacons for you"); print("Got some Beacons for you");
print(beaconSections); print(beaconSections);

View File

@ -188,6 +188,11 @@ class _VisitPageState extends State<VisitPage> with WidgetsBindingObserver {
var checkIfMoreThanSec = (DateTime.now().millisecondsSinceEpoch - milliLastTime) > timeBetweenBeaconPopUp; var checkIfMoreThanSec = (DateTime.now().millisecondsSinceEpoch - milliLastTime) > timeBetweenBeaconPopUp;
if(!_isDialogShowing && !visitAppContext.isArticleCurrentlyShown && checkIfMoreThanSec && visitAppContext.isScanningBeacons) { if(!_isDialogShowing && !visitAppContext.isArticleCurrentlyShown && checkIfMoreThanSec && visitAppContext.isScanningBeacons) {
print("Before sorting");
print(beaconList);
beaconList.toList().sort((a, b) => a!.orderInConfig!.compareTo(b!.orderInConfig!));
print("after storting");
print(beaconList);
_onBeaconFound(visitAppContext, beaconList.first); _onBeaconFound(visitAppContext, beaconList.first);
} else { } else {
print("Non pas possible d'afficher pour le moment"); print("Non pas possible d'afficher pour le moment");
@ -389,7 +394,6 @@ class _VisitPageState extends State<VisitPage> with WidgetsBindingObserver {
if(!isCancel) { if(!isCancel) {
listeningState();
if(Platform.isIOS) { if(Platform.isIOS) {
Map<Permission, PermissionStatus> statuses0 = await [ Map<Permission, PermissionStatus> statuses0 = await [
Permission.bluetooth, Permission.bluetooth,
@ -437,6 +441,7 @@ class _VisitPageState extends State<VisitPage> with WidgetsBindingObserver {
var status = await Permission.bluetoothScan.status; var status = await Permission.bluetoothScan.status;
print(status); print(status);
} }
listeningState();
} }
} }