update for get listview update

This commit is contained in:
Mohamed Nouffer
2022-06-29 18:25:19 +05:30
parent 7b9d029bb0
commit 4db26e5490
61 changed files with 121 additions and 68 deletions

View File

@ -21,6 +21,7 @@ class DestinationController extends GetxController {
late LocationSettings locationSettings;
var destinationCount = 0.obs;
List<dynamic> destinations = <dynamic>[].obs;
List<Map<String, dynamic>> destination_index_data = <Map<String, dynamic>>[].obs;
@ -101,58 +102,57 @@ class DestinationController extends GetxController {
@override
void onInit() {
super.onInit();
PopulateDestinations();
print("------ in iniit");
if (defaultTargetPlatform == TargetPlatform.android) {
locationSettings = AndroidSettings(
accuracy: LocationAccuracy.high,
distanceFilter: 30,
forceLocationManager: true,
intervalDuration: const Duration(seconds: 10),
//(Optional) Set foreground notification config to keep the app alive
//when going to the background
foregroundNotificationConfig: const ForegroundNotificationConfig(
notificationText:
"Example app will continue to receive your location even when you aren't using it",
notificationTitle: "Running in Background",
enableWakeLock: true,
)
);
} else if (defaultTargetPlatform == TargetPlatform.iOS || defaultTargetPlatform == TargetPlatform.macOS) {
locationSettings = AppleSettings(
accuracy: LocationAccuracy.high,
activityType: ActivityType.fitness,
distanceFilter: 1,
pauseLocationUpdatesAutomatically: false,
// Only set to true if our app will be started up in the background.
showBackgroundLocationIndicator: true
);
} else {
locationSettings = LocationSettings(
accuracy: LocationAccuracy.high,
distanceFilter: 30,
);
}
// if (defaultTargetPlatform == TargetPlatform.android) {
// locationSettings = AndroidSettings(
// accuracy: LocationAccuracy.high,
// distanceFilter: 30,
// forceLocationManager: true,
// intervalDuration: const Duration(seconds: 10),
// //(Optional) Set foreground notification config to keep the app alive
// //when going to the background
// foregroundNotificationConfig: const ForegroundNotificationConfig(
// notificationText:
// "Example app will continue to receive your location even when you aren't using it",
// notificationTitle: "Running in Background",
// enableWakeLock: true,
// )
// );
// } else if (defaultTargetPlatform == TargetPlatform.iOS || defaultTargetPlatform == TargetPlatform.macOS) {
// locationSettings = AppleSettings(
// accuracy: LocationAccuracy.high,
// activityType: ActivityType.fitness,
// distanceFilter: 1,
// pauseLocationUpdatesAutomatically: false,
// // Only set to true if our app will be started up in the background.
// showBackgroundLocationIndicator: true
// );
// } else {
// locationSettings = LocationSettings(
// accuracy: LocationAccuracy.high,
// distanceFilter: 30,
// );
// }
StreamSubscription<Position> positionStream = Geolocator.getPositionStream(locationSettings: locationSettings).listen(
(Position? position) {
if(isSelected[0]){
String user_id = indexController.currentUser[0]["user"]["id"].toString();
TrackingService.addTrack(user_id, position!.latitude, position.longitude).then((val){
//checkForCheckin(position!.latitude, position.longitude);
});
// StreamSubscription<Position> positionStream = Geolocator.getPositionStream(locationSettings: locationSettings).listen(
// (Position? position) {
// if(isSelected[0]){
// String user_id = indexController.currentUser[0]["user"]["id"].toString();
// TrackingService.addTrack(user_id, position!.latitude, position.longitude).then((val){
// //checkForCheckin(position!.latitude, position.longitude);
// });
}
print(position == null ? 'Unknown' : 'current position is ${position.latitude.toString()}, ${position.longitude.toString()}');
});
// }
// print(position == null ? 'Unknown' : 'current position is ${position.latitude.toString()}, ${position.longitude.toString()}');
// });
super.onInit();
}
void deleteDestination(int index){
@ -165,18 +165,20 @@ class DestinationController extends GetxController {
}
void PopulateDestinations(){
print("--------- populsting destinations -----------");
if(indexController.currentUser.isNotEmpty){
int user_id = indexController.currentUser[0]["user"]["id"];
print(user_id);
DestinationService.getDestinations(user_id).then((value){
destinations.clear();
destinations = value;
destinationCount.value = 0;
destinationCount.value = destinations.length;
MatrixService.getDestinations(value).then((mat){
print(mat);
matrix = mat;
destinations.clear();
destinations = value;
});
//var val = value[2]["location"]["id"];

View File

@ -49,6 +49,7 @@ class _DestinationPageState extends State<DestinationPage> {
@override
void initState() {
destinationController.context = context;
destinationController.PopulateDestinations();
super.initState();
}