feat(api_service): Update try-catch funtion and handle exception
update(loading_animation): Update loading animation using Lottie
This commit is contained in:
anhtunz
2025-06-09 14:29:43 +07:00
parent 477646ab9d
commit 3a8fa3633c
44 changed files with 1659 additions and 1065 deletions

View File

@@ -17,6 +17,7 @@ import 'package:sfm_app/product/permission/location_permission.dart';
import 'package:sfm_app/product/services/api_services.dart';
import 'package:sfm_app/product/utils/permission_handler.dart';
import '../../product/constant/enums/app_theme_enums.dart';
import '../../product/shared/shared_snack_bar.dart';
class MapScreen extends StatefulWidget {
const MapScreen({super.key});
@@ -73,11 +74,11 @@ class _MapScreenState extends State<MapScreen> with WidgetsBindingObserver {
@override
void dispose() {
super.dispose();
checkThemeTimer?.cancel();
getMarker?.cancel();
_controller = Completer();
streamController.close();
super.dispose();
}
void onMapCreated(GoogleMapController controller) {
@@ -273,18 +274,18 @@ class _MapScreenState extends State<MapScreen> with WidgetsBindingObserver {
}
void getAllMarkers() async {
String response = await apiServices.getOwnerDevices();
if (response != "") {
final data = jsonDecode(response);
List<dynamic> result = data['items'];
if (result.isNotEmpty) {
devices.clear();
final devicesList = Device.fromJsonDynamicList(result);
for (var device in devicesList) {
devices.add(device);
}
} else {}
try {
devices.clear();
final devicesList = await apiServices.getOwnerDevices();
for (var device in devicesList) {
devices.add(device);
}
} catch (e) {
if (!mounted) return;
showErrorTopSnackBarCustom(
context, e.toString());
}
}
// Future<bool> checkLocationPermission(context) async {