using GMCabsDriverAssistant.Models; using GMCabsDriverAssistant.Services; using GMCabsDriverAssistant.Utils; using Plugin.FirebasePushNotification; using Sentry; namespace GMCabsDriverAssistantSolution.Views; [XamlCompilation(XamlCompilationOptions.Compile)] public partial class SplashPage : ContentPage { public SplashPage() { InitializeComponent(); } [Obsolete] protected async override void OnAppearing() { base.OnAppearing(); var checkFcmToken = Preferences.Get("FcmToken", ""); var token = Preferences.Get(SecureStorageData.Token, ""); if (Device.RuntimePlatform != Device.iOS) { DependencyService.Resolve().ManageNotificationChannelService(); } if (string.IsNullOrWhiteSpace(checkFcmToken) || string.IsNullOrWhiteSpace(token)) { await Shell.Current.GoToAsync($"//{nameof(LoginPage)}"); } else { var userCode = Preferences.Get("UserCode", null); if (!string.IsNullOrWhiteSpace(userCode)) { SentrySdk.ConfigureScope(scope => { scope.User = new User { Id = userCode.ToString() }; }); } GMCabsDriverService gmCabsDriverService = new GMCabsDriverService(); var imeiNumber = Preferences.Get("imeiNumber", null); var carNumber = Preferences.Get("carNumber", null); var fcmToken = CrossFirebasePushNotification.Current.Token; ValidateTokenResponseDto validateTokenResponseDto = new ValidateTokenResponseDto(); validateTokenResponseDto = await gmCabsDriverService.ValidateAuthToken(token, fcmToken); var isTablet = Preferences.Get("IsTablet", false); if (Device.RuntimePlatform == Device.Android && isTablet && !string.IsNullOrWhiteSpace(imeiNumber) && !string.IsNullOrWhiteSpace(carNumber)) { validateTokenResponseDto.CanAcceptBookings = true; validateTokenResponseDto.CanUpdateLicence = false; validateTokenResponseDto.CanScanVouchers = false; validateTokenResponseDto.CanViewCoupons = false; validateTokenResponseDto.CanViewSettings = false; validateTokenResponseDto.CanViewHome = false; validateTokenResponseDto.CanViewJobHistory = true; Preferences.Set(SecureStorageData.CanAcceptBookings, validateTokenResponseDto.CanAcceptBookings); Preferences.Set(SecureStorageData.CanUpdateLicence, validateTokenResponseDto.CanUpdateLicence); Preferences.Set(SecureStorageData.CanScanVouchers, validateTokenResponseDto.CanScanVouchers); Preferences.Set(SecureStorageData.CanViewCoupons, validateTokenResponseDto.CanViewCoupons); Preferences.Set(SecureStorageData.CanViewSettings, validateTokenResponseDto.CanViewSettings); Preferences.Set(SecureStorageData.CanViewHome, validateTokenResponseDto.CanViewHome); Preferences.Set(SecureStorageData.CanViewJobHistory, validateTokenResponseDto.CanViewJobHistory); } else { //validateTokenResponseDto.CanAcceptBookings = true; //validateTokenResponseDto.CanUpdateLicence = true; //validateTokenResponseDto.CanScanVouchers = true; //validateTokenResponseDto.CanViewCoupons = true; //validateTokenResponseDto.CanViewSettings = true; //validateTokenResponseDto.CanViewHome = true; //validateTokenResponseDto.CanViewJobHistory = false; Preferences.Set(SecureStorageData.CanAcceptBookings, validateTokenResponseDto.CanAcceptBookings); Preferences.Set(SecureStorageData.CanUpdateLicence, validateTokenResponseDto.CanUpdateLicence); Preferences.Set(SecureStorageData.CanScanVouchers, validateTokenResponseDto.CanScanVouchers); Preferences.Set(SecureStorageData.CanViewCoupons, validateTokenResponseDto.CanViewCoupons); Preferences.Set(SecureStorageData.CanViewSettings, validateTokenResponseDto.CanViewSettings); Preferences.Set(SecureStorageData.CanViewHome, validateTokenResponseDto.CanViewHome); Preferences.Set(SecureStorageData.CanViewJobHistory, validateTokenResponseDto.CanViewJobHistory); } if (validateTokenResponseDto.Result) { Preferences.Set("FcmToken", fcmToken.ToString()); if (Device.RuntimePlatform == Device.Android && isTablet && !string.IsNullOrWhiteSpace(imeiNumber) && !string.IsNullOrWhiteSpace(carNumber)) { //await Shell.Current.GoToAsync($"//{nameof(HomePageTablet)}?{nameof(HomePageTabletViewModel.IsBookingConfirmed)}={false}"); IsBusy = false; } else { IsBusy = false; await Shell.Current.GoToAsync($"//{nameof(HomePage)}"); //await Shell.Current.GoToAsync(nameof(HomePage)); } } else { var lastLatitude = Convert.ToDouble(Preferences.Get("lastLat", "0")); var lastLongitude = Convert.ToDouble(Preferences.Get("lastLng", "0")); await gmCabsDriverService.LogoutDriverApp(token, lastLatitude, lastLongitude); await Shell.Current.GoToAsync($"//{nameof(LoginPage)}"); } } } }