Skip to content

Commit 3e0a0b7

Browse files
authored
Merge pull request #370 from Shubham04Jha/loading
loading screen bug fixed, by giving permissions
2 parents cc867ca + b6fe745 commit 3e0a0b7

File tree

6 files changed

+42
-8
lines changed

6 files changed

+42
-8
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<uses-permission android:name="android.permission.INTERNET" />
44
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
55
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
6+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
7+
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
68
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
79
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />
810
<uses-permission android:name="android.permission.VIBRATE" />

lib/app/modules/settings/controllers/settings_controller.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class SettingsController extends GetxController {
6262
profilesWidget.setBaseDirectory(destination);
6363
SharedPreferences prefs = await SharedPreferences.getInstance();
6464
prefs.setString('baseDirectory', destination.path);
65+
baseDirectory.value = destination.path;
6566
} else {
6667
showDialog(
6768
context: context,

lib/app/modules/settings/views/settings_page_select_directory_list_tile.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ class SettingsPageSelectDirectoryListTile extends StatelessWidget {
136136
await SharedPreferences.getInstance();
137137
await prefs.remove('baseDirectory');
138138
controller.isMovingDirectory.value = false;
139+
controller.baseDirectory.value = "Default";
139140
});
140141
},
141142
child: Text(
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import 'package:permission_handler/permission_handler.dart';
2+
3+
List<Permission> permissions = [
4+
Permission.notification,
5+
Permission.storage,
6+
Permission.manageExternalStorage,
7+
];
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// ignore_for_file: avoid_print
2+
3+
import 'package:permission_handler/permission_handler.dart';
4+
import 'package:taskwarrior/app/utils/constants/permissions.dart';
5+
6+
class PermissionsManager {
7+
static Future<void> requestAllPermissions() async {
8+
try {
9+
for (var permission in permissions) {
10+
final status = await _requestPermission(permission);
11+
12+
if (status) {
13+
print("Permission '${permission.toString().split('.').last}' granted.");
14+
} else {
15+
print("Permission '${permission.toString().split('.').last}' denied.");
16+
}
17+
}
18+
} catch (e) {
19+
print("Error requesting permissions: $e");
20+
}
21+
}
22+
23+
static Future<bool> _requestPermission(Permission permission) async {
24+
final status = await permission.request();
25+
return status.isGranted;
26+
}
27+
}

lib/main.dart

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
import 'package:flutter/material.dart';
2-
32
import 'package:get/get.dart';
4-
import 'package:permission_handler/permission_handler.dart';
53
import 'package:taskwarrior/app/utils/app_settings/app_settings.dart';
6-
4+
import 'package:taskwarrior/app/utils/permissions/permissions_manager.dart';
75
import 'app/routes/app_pages.dart';
86

97
void main() async {
108
WidgetsFlutterBinding.ensureInitialized();
119
await AppSettings.init();
1210

13-
await Permission.notification.isDenied.then((value) {
14-
if (value) {
15-
Permission.notification.request();
16-
}
17-
});
11+
await PermissionsManager.requestAllPermissions();
12+
13+
1814
runApp(
1915
GetMaterialApp(
2016
title: "Application",

0 commit comments

Comments
 (0)