using GMCabsDriverAssistant.Services; using GMCabsDriverAssistant.UserControl.ViewModels; using GMCabsDriverAssistant.ViewModels; using GMCabsDriverAssistantSolution.Views; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; //using Xamarin.CommunityToolkit.Extensions; using Microsoft.Maui; using Microsoft.Maui.Controls; namespace GMCabsDriverAssistant.UserControl { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class TripInformationPage : ContentView { [Browsable(true)] [Category("Action")] [Description("Invoked when user clicks button")] public event BluetoothStatusChanged BluetoothStatusUpdated; public string BluetoothConnectionStatusText { get => _viewModel.BluetoothConnectionStatusText; } private readonly TripInformationViewModel _viewModel; public TripInformationPage() { InitializeComponent(); BindingContext = _viewModel = new TripInformationViewModel(); _viewModel.BluetoothStatusChanged += _viewModel_BluetoothStatusChanged; } private void _viewModel_BluetoothStatusChanged() { BluetoothStatusUpdated?.Invoke(); } void OnDuressPressed(object sender, EventArgs args) { _viewModel.StartDriverDuress(); } void OnDuressReleased(object sender, EventArgs args) { _viewModel.EndDriverDuress(); } private void BtnPlot_Clicked(object sender, EventArgs e) { //Navigation.PushAsync(new AvailablePlotTabletPage()); } private void OnMapIconTapped(object sender, EventArgs e) { var location = new Location(33.8688, 151.2093); // Replace with desired coordinates var options = new MapLaunchOptions { Name = "Sydney" }; // Replace with desired location name Map.OpenAsync(location, options); } private async void OnWazeIconTapped(object sender, EventArgs e) { // if App Url doesnt work use Browser Url => "https://waze.com/ul?q=" + latLng.latitude + "," + latLng.longitude + "&navigate=yes&zoom=17"; //string latitude = "33.8688"; //string longitude = "151.2093"; string wazeUri = "waze://"; try { // Launch Waze app await Launcher.OpenAsync(wazeUri); } catch (Exception ex) { string errorMessage = "Waze is not installed in your device, Please install the app first"; //Navigation.ShowPopup(new ErrorPopup(errorMessage)); } } } }