You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.1 KiB
Dart
69 lines
2.1 KiB
Dart
import 'package:android_intent/android_intent.dart';
|
|
import 'package:diplomaticquarterapp/config/config.dart';
|
|
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
|
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
|
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
|
|
import 'package:diplomaticquarterapp/models/Request.dart';
|
|
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
|
|
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:localstorage/localstorage.dart';
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
import 'package:vibration/vibration.dart';
|
|
class PermissionService extends BaseService {
|
|
final LocalStorage storage = new LocalStorage("permission");
|
|
|
|
AppGlobal appGlobal = new AppGlobal();
|
|
|
|
setVibrationPermission(flag) async {
|
|
storage.setItem('isVibration', flag);
|
|
}
|
|
|
|
isVibrationEnabled() {
|
|
return (storage.getItem('isVibration') ==null) || (storage.getItem('isVibration')) ==false ? false :true;
|
|
}
|
|
vibrate(callback, context) async{
|
|
|
|
if (callback == null)
|
|
return null;
|
|
if(isVibrationEnabled() ==true){
|
|
if (await Vibration.hasVibrator()) {
|
|
Vibration.vibrate(duration: 100);
|
|
callback();
|
|
}
|
|
}else{
|
|
callback();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
setTheme(flag) async {
|
|
storage.setItem('isTheme', flag);
|
|
}
|
|
|
|
isThemeEnabled() {
|
|
return storage.getItem('isTheme');
|
|
}
|
|
cameraPermission() async{
|
|
Map<Permission, PermissionStatus> statuses = await [
|
|
Permission.camera,
|
|
].request();
|
|
}
|
|
isCameraEnabled() async{
|
|
print(await Permission.camera.status);
|
|
return await Permission.camera.status == PermissionStatus.granted ? true : false;
|
|
}
|
|
setCameraLocationPermission(context) async{
|
|
Navigator.pop(context);
|
|
openAppSettings();
|
|
}
|
|
isLocationEnabled() async{
|
|
return await Permission.location.status == PermissionStatus.granted ? true : false;
|
|
}
|
|
openSettings() async{
|
|
openAppSettings();
|
|
}
|
|
}
|