Untitled

mail@pastecode.io avatar
unknown
plain_text
20 days ago
2.2 kB
1
Indexable
Never
import 'package:bjbs/widgets/others/show_dialog.dart';
import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';

class GetLocation {
  Future<String> getLatlong() async {
    final locationStatus = await Permission.location.request();
    if (locationStatus.isGranted) {
      final location = await Geolocator.getCurrentPosition();
      return '${location.latitude}, ${location.longitude}';
    } else if (locationStatus.isPermanentlyDenied ||
        locationStatus.isRestricted) {
      // showPopUpInfo(
      //   title: 'information'.tr,
      //   description:
      //       'Silakan akses pengaturan dan aktifkan lokasi pada perangkat anda untuk melanjutkan proses login',
      //   labelButton: 'understand'.tr,
      //   dismissible: false,
      //   onPress: () async {
      //     Get.back();
      //     //   await openAppSettings();
      //   },
      // );
      showPopUpChoice2(
        title: 'Peringatan'.tr,
        description:
            'Izin Lokasi Di Tolak, Anda tidak dapat melanjutkan proses login tanpa memberikan izin untuk mengakses lokasi Anda. Izin lokasi diperlukan untuk sistem deteksi penipuan kami yang menjaga keamanan akun Anda. Mohon berikan izin lokasi untuk melanjutkan'
                .tr,
        onConfirm: () async {
          await openAppSettings();
          Get.back();
        },
        labelPositif: 'continyu'.tr,
        labelNegatif: 'Nanti Saja'.tr,
        dismissible: false,
      );

      return '';
    } else if (locationStatus.isDenied) {
      showPopUpInfo(
        title: 'Peringatan'.tr,
        description:
            'Izin Lokasi Di Tolak, Anda tidak dapat melanjutkan proses login tanpa memberikan izin untuk mengakses lokasi Anda. Izin lokasi diperlukan untuk sistem deteksi aktivitas mencurigakan yang menjaga keamanan akun Anda.'
                .tr,
        onPress: () async {
          // await openAppSettings();
          Get.back();
        },
        labelButton: 'understand'.tr,
        // labelNegatif: 'Nanti Saja'.tr,
        dismissible: false,
      );
      return '';
    } else {
      showToast(message: 'denied_location'.tr);
      return '';
    }
  }
}
Leave a Comment