|
|
|
|
import 'dart:async';
|
|
|
|
|
import 'dart:convert';
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter_svg/flutter_svg.dart';
|
|
|
|
|
import 'package:flutter_zoom_videosdk/native/zoom_videosdk.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/core/api_consts.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/core/app_assets.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
|
|
|
|
// import 'package:hmg_patient_app_new/presentation/authantication/login.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/presentation/home/landing_page.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/presentation/home/navigation_screen.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/theme/colors.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
|
|
import 'core/consts.dart';
|
|
|
|
|
import 'core/utils/local_notifications.dart';
|
|
|
|
|
import 'core/utils/push_notification_handler.dart';
|
|
|
|
|
|
|
|
|
|
class SplashPage extends StatefulWidget {
|
|
|
|
|
@override
|
|
|
|
|
_SplashScreenState createState() => _SplashScreenState();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class _SplashScreenState extends State<SplashPage> {
|
|
|
|
|
Future<void> initializeStuff() async {
|
|
|
|
|
Timer(
|
|
|
|
|
Duration(milliseconds: 500),
|
|
|
|
|
() async {
|
|
|
|
|
ApiConsts.setBackendURLs();
|
|
|
|
|
PushNotificationHandler().init(context); // Asyncronously
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
Timer(Duration(seconds: 3, milliseconds: 500), () async {
|
|
|
|
|
LocalNotification.init(onNotificationClick: (payload) {});
|
|
|
|
|
Navigator.of(context).pushReplacement(
|
|
|
|
|
FadePage(
|
|
|
|
|
page: LandingNavigation(),
|
|
|
|
|
// page: LoginScreen(),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
var zoom = ZoomVideoSdk();
|
|
|
|
|
InitConfig initConfig = InitConfig(
|
|
|
|
|
domain: "zoom.us",
|
|
|
|
|
enableLog: true,
|
|
|
|
|
);
|
|
|
|
|
zoom.initSdk(initConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// load the Privilege from service
|
|
|
|
|
Future loadPrivilege() async {
|
|
|
|
|
// ProjectViewModel projectProvider = Provider.of<ProjectViewModel>(context, listen: false);
|
|
|
|
|
// projectProvider.setPrivilegeModelList(privilege: _privilegeService.privilegeModelList);
|
|
|
|
|
// projectProvider.setVidaPlusProjectList(_privilegeService.vidaPlusProjectListModel);
|
|
|
|
|
// projectProvider.setHMCProjectList(_privilegeService.hMCProjectListModel);
|
|
|
|
|
// projectProvider.setProjectsDetailList(_privilegeService.projectDetailListModel);
|
|
|
|
|
// double lat = await AppSharedPreferences().getDouble(USER_LAT) ?? 0.0;
|
|
|
|
|
// double long = await AppSharedPreferences().getDouble(USER_LONG) ?? 0.0;
|
|
|
|
|
// AppSharedPreferences().clear(); // Clearing Shared Preferences On App Launch
|
|
|
|
|
// await AppSharedPreferences().setDouble(USER_LAT, lat);
|
|
|
|
|
// await AppSharedPreferences().setDouble(USER_LONG, long);
|
|
|
|
|
// AppSharedPreferences().setString(APP_LANGUAGE, projectProvider.isArabic ? "ar" : "en");
|
|
|
|
|
// var themeNotifier = Provider.of<ThemeNotifier>(context, listen: false);
|
|
|
|
|
// themeNotifier.setTheme(defaultTheme(fontName: projectProvider.isArabic ? 'Cairo' : 'Poppins'));
|
|
|
|
|
PushNotificationHandler().init(context); // Asyncronously
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
|
initializeStuff();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return Scaffold(
|
|
|
|
|
backgroundColor: AppColors.whiteColor,
|
|
|
|
|
body: Stack(
|
|
|
|
|
alignment: Alignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
Padding(
|
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: 53),
|
|
|
|
|
child: Image.asset(AppAssets.hmg_logo,
|
|
|
|
|
fit: BoxFit.fitWidth, width: MediaQuery.of(context).size.width),
|
|
|
|
|
),
|
|
|
|
|
Align(
|
|
|
|
|
alignment: Alignment.bottomCenter,
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
children: [
|
|
|
|
|
Text(
|
|
|
|
|
"Powered by",
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
fontSize: 14,
|
|
|
|
|
fontWeight: FontWeight.w400,
|
|
|
|
|
color: AppColors.textColor,
|
|
|
|
|
letterSpacing: -0.56,
|
|
|
|
|
height: 16 / 14),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 5,
|
|
|
|
|
),
|
|
|
|
|
Utils.buildSvgWithAssets(
|
|
|
|
|
icon: AppAssets.cloud_logo, width: 40, height: 40),
|
|
|
|
|
SizedBox(height: 7),
|
|
|
|
|
// Text(
|
|
|
|
|
// "Version 1.1.0",
|
|
|
|
|
// style: TextStyle(fontSize: 10, fontWeight: FontWeight.w400, color: Color(0xff3989898), letterSpacing: 0, height: 12 / 10),
|
|
|
|
|
// ),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 18,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|