Commit 7f183f40 authored by Izol's avatar Izol

adjust splash screen

parent 5f80d00b
...@@ -57,20 +57,52 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{ ...@@ -57,20 +57,52 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
curve: Curves.easeIn curve: Curves.easeIn
); );
void navigationToGetOutlet() {
Navigator.of(context) @override
.restorablePopAndPushNamed('/set-merchant', arguments: kIsTap); void initState() {
super.initState();
checkPermissionAndStartService();
} }
void navigationToAktivation() { void checkPermissionAndStartService() async {
// Navigator.of(context).pushReplacementNamed('/tap-card-aktivasi'); var storageStatus = await Permission.storage.request();
Navigator.pushReplacement( var phoneStatus = await Permission.phone.request();
context,
MaterialPageRoute( while (!(storageStatus.isGranted && phoneStatus.isGranted)) {
builder: (BuildContext context) => bool shouldRequestStorage = storageStatus.isDenied || storageStatus.isPermanentlyDenied;
const TapCardAktivasi(isTap: true))); bool shouldRequestPhone = phoneStatus.isDenied || phoneStatus.isPermanentlyDenied;
if (shouldRequestStorage) {
storageStatus = await Permission.storage.request();
}
if (shouldRequestPhone) {
phoneStatus = await Permission.phone.request();
} }
if (!(shouldRequestStorage || shouldRequestPhone)) {
// Handle the case when user declines the permission request permanently
break;
}
}
if (storageStatus.isGranted && phoneStatus.isGranted) {
await initService();
checkActivationAfterDelay();
} else {
// Handle the case when user declines the permission request
}
}
Future<void> initService() async {
await StartService.initLibrary();
}
void checkActivationAfterDelay() {
Future.delayed(Duration(seconds: 3), () {
checkActivation();
});
}
void navigationToSetConfig() { void navigationToSetConfig() {
Navigator.pushReplacement( Navigator.pushReplacement(
context, context,
...@@ -79,66 +111,22 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{ ...@@ -79,66 +111,22 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
const SetMerchant(isConfig: true))); const SetMerchant(isConfig: true)));
} }
@override void navigationToGetOutlet() {
void initState() { Navigator.of(context)
super.initState(); .restorablePopAndPushNamed('/set-merchant', arguments: kIsTap);
permissionState();
}
void permissionState() async {
if (await Permission.storage.request().isGranted &&
await Permission.phone.request().isGranted) {
StartService.initLibrary().then((value) {
Future.delayed(Duration(seconds: 3), () {
checkAktivation();
});
});
// Future.delayed(Duration(seconds: 10), () {
// showDialog(
// context: context,
// builder: (BuildContext context) {
// return AlertDialog(
// title: Text("Error"),
// content: Text("The app is taking too long to start. Please try again."),
// actions: <Widget>[
// TextButton(
// child: Text("Try Again"),
// onPressed: () {
// Navigator.of(context).pop();
// permissionState();
// },
// ),
// TextButton(
// child: Text("Cancel"),
// onPressed: () {
// Navigator.of(context).pop();
// },
// ),
// ],
// );
// },
// );
// });
} }
// You can request multiple permissions at once. void navigationToAktivation() {
Map<Permission, PermissionStatus> statuses = await [ Navigator.pushReplacement(
Permission.phone, context,
Permission.storage, MaterialPageRoute(
].request(); builder: (BuildContext context) =>
print("phone : ${statuses[Permission.phone]}"); const TapCardAktivasi(isTap: true)));
print("storage : ${statuses[Permission.storage]}");
} }
void checkAktivation() { void checkActivation() {
bool isDoneConfig = PreferencesHelper.getBool(kIsDoneConfig); bool isDoneConfig = PreferencesHelper.getBool(kIsDoneConfig);
bool isTapConfig = PreferencesHelper.getBool(kIsTap); bool isTapConfig = PreferencesHelper.getBool(kIsTap);
// bool isHashOutlet = PreferencesHelper.getBool(kTap);
// bool isHashOutlet = PreferencesHelper.getString('multioutletname',"false") ;
print('ini pesan:$isDoneConfig');
print("ini pesan $isTapConfig");
if (isDoneConfig) { if (isDoneConfig) {
if (isTapConfig && isDoneConfig) { if (isTapConfig && isDoneConfig) {
...@@ -151,7 +139,6 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{ ...@@ -151,7 +139,6 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
} }
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
...@@ -189,3 +176,5 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{ ...@@ -189,3 +176,5 @@ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
); );
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment