Skip to content

Commit 5c56dd4

Browse files
committed
fix: android maybe
1 parent 997b217 commit 5c56dd4

File tree

6 files changed

+33
-6
lines changed

6 files changed

+33
-6
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
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.WRITE_EXTERNAL_STORAGE" />
6+
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
7+
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
8+
9+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
10+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
611

712
<application
813
android:name="${applicationName}"

ios/Runner/Info.plist

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,11 @@
5858
<true/>
5959
<key>UIApplicationSupportsIndirectInputEvents</key>
6060
<true/>
61+
<key>NSAppTransportSecurity</key>
62+
<dict>
63+
<key>NSAllowsArbitraryLoads</key>
64+
<true/>
65+
</dict>
66+
6167
</dict>
6268
</plist>

lib/StorageProvider.dart

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:io';
22

33
import 'package:dantotsu/api/Mangayomi/Model/settings.dart';
4+
import 'package:flutter/services.dart';
45
import 'package:isar/isar.dart';
56
import 'package:path/path.dart' as path;
67
import 'package:path_provider/path_provider.dart';
@@ -13,18 +14,33 @@ import 'api/Mangayomi/Model/chapter.dart';
1314

1415
class StorageProvider {
1516
Future<bool> requestPermission() async {
16-
Permission permission = Permission.manageExternalStorage;
1717
if (Platform.isAndroid) {
18-
if (await permission.isGranted) {
18+
if (await Permission.videos.isDenied ||
19+
await Permission.videos.isPermanentlyDenied) {
20+
final state = await Permission.videos.request();
21+
if (!state.isGranted) {
22+
await SystemNavigator.pop();
23+
}
24+
}
25+
// Audio permissions.
26+
if (await Permission.audio.isDenied ||
27+
await Permission.audio.isPermanentlyDenied) {
28+
final state = await Permission.audio.request();
29+
if (!state.isGranted) {
30+
await SystemNavigator.pop();
31+
}
32+
}
33+
if (await Permission.manageExternalStorage.isGranted) {
1934
return true;
2035
} else {
21-
final result = await permission.request();
36+
final result = await Permission.manageExternalStorage.request();
2237
if (result == PermissionStatus.granted) {
2338
return true;
2439
}
2540
return false;
2641
}
2742
}
43+
2844
return true;
2945
}
3046

lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ void main(List<String> args) async {
4545
}
4646

4747
Future init() async {
48-
MediaKit.ensureInitialized();
4948
await PrefManager.init();
5049
initializeMediaServices();
5150
isar = await StorageProvider().initDB(null);
5251
await StorageProvider().requestPermission();
52+
MediaKit.ensureInitialized();
5353
await windowManager.ensureInitialized();
5454
TypeFactory.registerAllTypes();
5555
GetMediaIDs.getData();

macos/Runner/DebugProfile.entitlements

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>com.apple.security.app-sandbox</key>
6-
<true/>
6+
<false/>
77
<key>com.apple.security.cs.allow-jit</key>
88
<true/>
99
<key>com.apple.security.network.server</key>

macos/Runner/Release.entitlements

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
<key>com.apple.security.network.client</key>
66
<true/>
77
<key>com.apple.security.app-sandbox</key>
8-
<true/>
8+
<false/>
99
</dict>
1010
</plist>

0 commit comments

Comments
 (0)