Commit b000df42 authored by Izol's avatar Izol

fixing splash page

parent 1f8257a5
// ignore_for_file: unused_import, prefer_const_constructors, avoid_print // ignore_for_file: unused_import, prefer_const_constructors, avoid_print
import 'dart:async'; import 'dart:async';
import 'package:awesome_dialog/awesome_dialog.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:self_service_3/database/database.dart'; import 'package:self_service_3/database/database.dart';
import 'package:self_service_3/database/database_helper.dart'; import 'package:self_service_3/database/database_helper.dart';
...@@ -18,6 +19,7 @@ import 'package:self_service_3/shared/theme.dart'; ...@@ -18,6 +19,7 @@ import 'package:self_service_3/shared/theme.dart';
import 'package:self_service_3/ui/pages/set_merchant.dart'; import 'package:self_service_3/ui/pages/set_merchant.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import '../../shared/preference_constant.dart'; import '../../shared/preference_constant.dart';
import '../../shared/preferences_helper.dart'; import '../../shared/preferences_helper.dart';
...@@ -37,26 +39,24 @@ class SplashPage extends StatefulWidget { ...@@ -37,26 +39,24 @@ class SplashPage extends StatefulWidget {
State<SplashPage> createState() => _SplashPageState(); State<SplashPage> createState() => _SplashPageState();
} }
class _SplashPageState extends State<SplashPage> { class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
void checkAktivation() {
bool isDoneConfig = PreferencesHelper.getBool(kIsDoneConfig);
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) { late final AnimationController _controller = AnimationController(
if (isTapConfig && isDoneConfig) { duration: const Duration(seconds:2),
navigationToAktivation(); vsync: this,
} else { )..repeat(reverse: true);
navigationToGetOutlet();
} @override
} else { void dispose(){
navigationToSetConfig(); _controller.dispose();
} super.dispose();
} }
late final Animation<double> _animation = CurvedAnimation(
parent: _controller,
curve: Curves.easeIn
);
void navigationToGetOutlet() { void navigationToGetOutlet() {
Navigator.of(context) Navigator.of(context)
.restorablePopAndPushNamed('/set-merchant', arguments: kIsTap); .restorablePopAndPushNamed('/set-merchant', arguments: kIsTap);
...@@ -86,29 +86,57 @@ class _SplashPageState extends State<SplashPage> { ...@@ -86,29 +86,57 @@ class _SplashPageState extends State<SplashPage> {
} }
void permissionState() async { void permissionState() async {
if (await Permission.storage.request().isGranted && PermissionStatus status = await Permission.storage.request();
await Permission.phone.request().isGranted) { if (status != PermissionStatus.granted){
StartService.initLibrary().then((value) { // handle user denied the permissions
return ;
}
// request phone permissions
status = await Permission.phone.request();
if(status != PermissionStatus.granted){
// handle user denied the permissions
return ;
}
// Initialize library and check activation
StartService.initLibrary().then((value){
Future.delayed(Duration(seconds: 3), () { Future.delayed(Duration(seconds: 3), () {
if (mounted){
checkAktivation(); checkAktivation();
}
}); });
}); });
} }
// You can request multiple permissions at once. void checkAktivation() {
Map<Permission, PermissionStatus> statuses = await [ bool isDoneConfig = PreferencesHelper.getBool(kIsDoneConfig);
Permission.phone, bool isTapConfig = PreferencesHelper.getBool(kIsTap);
Permission.storage, // bool isHashOutlet = PreferencesHelper.getBool(kTap);
].request(); // bool isHashOutlet = PreferencesHelper.getString('multioutletname',"false") ;
print("phone : ${statuses[Permission.phone]}"); print('ini pesan:$isDoneConfig');
print("storage : ${statuses[Permission.storage]}"); print("ini pesan $isTapConfig");
if (isDoneConfig) {
if (isTapConfig && isDoneConfig) {
navigationToAktivation();
} else {
navigationToGetOutlet();
} }
} else {
navigationToSetConfig();
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: lightBackgroundColor, backgroundColor: lightBackgroundColor,
body: Center( body: Center(
child: Stack(
children: [
FadeTransition(
opacity: _animation,
child: Center(
child: Container( child: Container(
width: 300, width: 300,
height: 300, height: 300,
...@@ -121,6 +149,18 @@ class _SplashPageState extends State<SplashPage> { ...@@ -121,6 +149,18 @@ class _SplashPageState extends State<SplashPage> {
), ),
), ),
), ),
),
Positioned(
child: Container(
color: Colors.black12,
child: const Center(
child: CircularProgressIndicator(),
),
),
),
]
),
),
); );
} }
} }
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