31 lines
1.0 KiB
Dart
31 lines
1.0 KiB
Dart
import 'package:intl/intl.dart';
|
|
import 'package:location/location.dart';
|
|
|
|
class SosService{
|
|
static final SosService _instance = SosService();
|
|
static SosService get instance => _instance;
|
|
DateFormat todayFormat = DateFormat("yMdHms");
|
|
Future<LocationData?> getUserLocation() async {
|
|
Location location = Location();
|
|
LocationData? locationData;
|
|
bool serviceEnabled = false;
|
|
PermissionStatus permissionGranted;
|
|
serviceEnabled = await location.serviceEnabled();
|
|
if (!serviceEnabled) {
|
|
serviceEnabled = await location.requestService();
|
|
if (!serviceEnabled) {
|
|
return null;
|
|
}
|
|
}
|
|
permissionGranted = await location.hasPermission();
|
|
if (permissionGranted == PermissionStatus.denied) {
|
|
permissionGranted = await location.requestPermission();
|
|
if (permissionGranted != PermissionStatus.granted) {
|
|
return null;
|
|
}
|
|
}
|
|
LocationData newLocationData = await location.getLocation();
|
|
locationData = newLocationData;
|
|
return locationData;
|
|
}
|
|
} |