Start trying to fix permission errors on Android

This commit is contained in:
zontreck 2024-07-24 07:07:34 -07:00
parent e62fc5cf91
commit 9055c8cb0a
8 changed files with 94 additions and 7 deletions

View file

@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
import 'package:nbteditor/Editor.dart';
import 'package:nbteditor/pages/AddPage.dart';
import 'package:nbteditor/pages/SNBTEditor.dart';
import 'package:nbteditor/pages/permsrequired.dart';
import 'package:permission_handler/permission_handler.dart';
void main() {
runApp(const MainApp());
@ -15,10 +17,45 @@ class MainApp extends StatelessWidget {
return MaterialApp(
theme: ThemeData.dark(),
routes: {
"/": (context) => const Editor(),
"/": (context) => StartPage(),
"/edit": (context) => const Editor(),
"/add": (context) => const AddPage(),
"/snbt": (context) => const SnbtEdit(),
"/perms": (context) => PermissionsRequiredPage()
},
);
}
}
class StartPage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return StartPageState();
}
}
class StartPageState extends State<StartPage> {
@override
void didChangeDependencies() {
checkPermissions();
}
Future<void> checkPermissions() async {
if (await Permission.manageExternalStorage.isDenied) {
await Future.delayed(Duration(seconds: 5), () {
Navigator.pushReplacementNamed(context, "/perms");
});
} else {
Navigator.pushReplacementNamed(context, "/edit");
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [Image(image: AssetImage("Icons/PNG/nbteditor.png"))],
),
);
}
}