diff --git a/GMCabsDriverAssistantSolution/Views/PermissionCheckPage.xaml b/GMCabsDriverAssistantSolution/Views/PermissionCheckPage.xaml
new file mode 100644
index 0000000..66f088e
--- /dev/null
+++ b/GMCabsDriverAssistantSolution/Views/PermissionCheckPage.xaml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/GMCabsDriverAssistantSolution/Views/PermissionCheckPage.xaml.cs b/GMCabsDriverAssistantSolution/Views/PermissionCheckPage.xaml.cs
new file mode 100644
index 0000000..720e76f
--- /dev/null
+++ b/GMCabsDriverAssistantSolution/Views/PermissionCheckPage.xaml.cs
@@ -0,0 +1,121 @@
+using GMCabsDriverAssistant.Services;
+using GMCabsDriverAssistant.Utils;
+
+namespace GMCabsDriverAssistantSolution.Views;
+
+public partial class PermissionCheckPage : ContentPage
+{
+ bool isFirstTime = true;
+
+ public PermissionCheckPage()
+ {
+ InitializeComponent();
+ }
+
+ [Obsolete]
+ protected async override void OnAppearing()
+ {
+ base.OnAppearing();
+ isFirstTime = Preferences.Get("isFirstTime", true);
+ var status = await Permissions.CheckStatusAsync();
+ if (status == PermissionStatus.Granted)
+ {
+ Preferences.Set(SecureStorageData.IsLocationPermitted, true);
+ }
+ else
+ {
+ Preferences.Set(SecureStorageData.IsLocationPermitted, false);
+ }
+ if (Device.RuntimePlatform == Device.Android)
+ {
+ if (DependencyService.Get().CheckIsIgnoringBatteryOptimizations())
+ {
+ Preferences.Set(SecureStorageData.IsBatteryOptimizationDisabled, true);
+ }
+ else
+ {
+ Preferences.Set(SecureStorageData.IsBatteryOptimizationDisabled, false);
+ }
+ }
+ if ((Preferences.Get(SecureStorageData.IsLocationPermitted, false)) || !string.IsNullOrWhiteSpace(Preferences.Get(SecureStorageData.Token, "")))
+ {
+ if (Device.RuntimePlatform == Device.Android && Preferences.Get(SecureStorageData.IsBatteryOptimizationDisabled, false))
+ {
+ await ShowSplashScreen();
+ }
+ else if (Device.RuntimePlatform == Device.iOS)
+ {
+ await ShowSplashScreen();
+ }
+ }
+ }
+
+ public void OnPermissionCheckClicked(object sender, EventArgs e)
+ {
+ //Navigation.ShowPopup(new AppPermissiontSetDialogPage(this, Constant.FROM_PERMISSION_PAGE));
+ /*if (!isFirstTime)
+ {
+ Navigation.ShowPopup(new LocationNotSetDialogPage(this));
+ }
+ else
+ {
+ Preferences.Set("isFirstTime", false);
+ var status = await OnLocationCheck();
+ if (status == PermissionStatus.Granted)
+ {
+ await ShowSplashScreen();
+ }
+ }*/
+ }
+ public async Task OnLocationCheck()
+ {
+
+ var status = await Permissions.CheckStatusAsync();
+ if (status == PermissionStatus.Granted)
+ return status;
+
+ try
+ {
+ if (DeviceInfo.Platform == DevicePlatform.Android && int.Parse(DeviceInfo.VersionString) >= 12)
+ {
+
+
+ bool answer = await DisplayAlert("Location", "Please allow your location permission from setting Page and Select 'All the time'", "YES", "NO");
+ if (answer)
+ AppInfo.ShowSettingsUI();
+
+ }
+ else
+ {
+ if (DeviceInfo.Platform == DevicePlatform.iOS && status == PermissionStatus.Denied)
+ {
+ // Prompt the user to turn on in settings
+ // On iOS once a permission has been denied it may not be requested again from the application
+ // Navigation.ShowPopup(new LocationNotSetDialogPage(this));
+ return status;
+ }
+ status = await Permissions.RequestAsync();
+ if (status == PermissionStatus.Granted)
+ {
+ return status;
+ }
+ if (!Permissions.ShouldShowRationale())
+ {
+ bool answer = await DisplayAlert("Location", "Please allow your location permission from setting Page", "YES", "NO");
+ if (answer)
+ AppInfo.ShowSettingsUI();
+ }
+
+ }
+ }
+ catch (Exception ex)
+ {
+
+ }
+ return status;
+ }
+ private async Task ShowSplashScreen()
+ {
+ await Shell.Current.GoToAsync($"//{nameof(SplashPage)}");
+ }
+}
\ No newline at end of file