diff --git a/lib/base.dart b/lib/base.dart
index bcd7ed4..34611e1 100644
--- a/lib/base.dart
+++ b/lib/base.dart
@@ -1,11 +1,11 @@
-// ignore_for_file: use_build_context_synchronously
+// ignore_for_file: use_build_context_synchronously, depend_on_referenced_packages
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:animations/animations.dart';
import 'package:install_plugin_v2/install_plugin_v2.dart';
-import 'package:permission_handler/permission_handler.dart';
+import 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart';
import 'package:provider/provider.dart';
import 'package:store_checker/store_checker.dart';
import 'package:flutter/services.dart';
@@ -39,6 +39,8 @@ class Base extends StatefulWidget {
class _BaseState extends State with WidgetsBindingObserver {
int selectedScreen = 0;
+ final PermissionHandlerPlatform permissionHandler = PermissionHandlerPlatform.instance;
+
Future checkInstallationSource() async {
Source installationSource = await StoreChecker.getSource;
if (installationSource != Source.IS_INSTALLED_FROM_PLAY_STORE) {
@@ -54,12 +56,13 @@ class _BaseState extends State with WidgetsBindingObserver {
Future managePermission() async {
try {
- if (await Permission.storage.isGranted) {
+ final status = await permissionHandler.checkPermissionStatus(Permission.storage);
+ if (status == PermissionStatus.granted) {
return true;
}
else {
- final PermissionStatus status = await Permission.storage.request();
- if (status.isGranted == false) {
+ final Map request = await permissionHandler.requestPermissions([Permission.storage]);
+ if (request[Permission.storage] == PermissionStatus.granted) {
return false;
}
else {