Commit b000df42 authored by Izol's avatar Izol

fixing splash page

parent 1f8257a5
// ignore_for_file: unused_import, prefer_const_constructors, avoid_print
import 'dart:async';
import 'package:awesome_dialog/awesome_dialog.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:self_service_3/database/database.dart';
import 'package:self_service_3/database/database_helper.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:shared_preferences/shared_preferences.dart';
import '../../shared/preference_constant.dart';
import '../../shared/preferences_helper.dart';
......@@ -37,26 +39,24 @@ class SplashPage extends StatefulWidget {
State<SplashPage> createState() => _SplashPageState();
}
class _SplashPageState extends State<SplashPage> {
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");
class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
if (isDoneConfig) {
if (isTapConfig && isDoneConfig) {
navigationToAktivation();
} else {
navigationToGetOutlet();
}
} else {
navigationToSetConfig();
}
late final AnimationController _controller = AnimationController(
duration: const Duration(seconds:2),
vsync: this,
)..repeat(reverse: true);
@override
void dispose(){
_controller.dispose();
super.dispose();
}
late final Animation<double> _animation = CurvedAnimation(
parent: _controller,
curve: Curves.easeIn
);
void navigationToGetOutlet() {
Navigator.of(context)
.restorablePopAndPushNamed('/set-merchant', arguments: kIsTap);
......@@ -86,39 +86,79 @@ class _SplashPageState extends State<SplashPage> {
}
void permissionState() async {
if (await Permission.storage.request().isGranted &&
await Permission.phone.request().isGranted) {
StartService.initLibrary().then((value) {
Future.delayed(Duration(seconds: 3), () {
PermissionStatus status = await Permission.storage.request();
if (status != PermissionStatus.granted){
// 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), () {
if (mounted){
checkAktivation();
});
}
});
}
});
}
// You can request multiple permissions at once.
Map<Permission, PermissionStatus> statuses = await [
Permission.phone,
Permission.storage,
].request();
print("phone : ${statuses[Permission.phone]}");
print("storage : ${statuses[Permission.storage]}");
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) {
if (isTapConfig && isDoneConfig) {
navigationToAktivation();
} else {
navigationToGetOutlet();
}
} else {
navigationToSetConfig();
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: lightBackgroundColor,
body: Center(
child: Container(
width: 300,
height: 300,
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
'assets/logo.png',
child: Stack(
children: [
FadeTransition(
opacity: _animation,
child: Center(
child: Container(
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