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,39 +86,79 @@ class _SplashPageState extends State<SplashPage> { ...@@ -86,39 +86,79 @@ 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
Future.delayed(Duration(seconds: 3), () { 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), () {
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: Container( child: Stack(
width: 300, children: [
height: 300, FadeTransition(
decoration: const BoxDecoration( opacity: _animation,
image: DecorationImage( child: Center(
image: AssetImage( child: Container(
'assets/logo.png', width: 300,
height: 300,
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
'assets/logo.png',
),
),
),
),
), ),
), ),
), 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