Skip to content

Instantly share code, notes, and snippets.

View bbenetskyy's full-sized avatar
👾
Making Apps with MAUI 😛

Bohdan Benetskyi bbenetskyy

👾
Making Apps with MAUI 😛
View GitHub Profile
using System;
using AVFoundation;
using Foundation;
using TheLordOfTheRings.Services;//used for injecting ILogger
namespace TheLordOfTheRings.MAUI.Services;
public partial class SoundService : IDisposable
{
private AVPlayer _player;
using Android.Content.Res;
using Android.Media;
using Android.OS;
using TheLordOfTheRings.Services;//used for injecting ILogger
using static Microsoft.Maui.ApplicationModel.Platform;
using Uri = Android.Net.Uri;
namespace TheLordOfTheRings.MAUI.Services;
public partial class SoundService : IDisposable
using System;
using CoreLocation;
using LocationUpdates.Models;
namespace LocationUpdates.Services
{
public partial class LocationService
{
private CLLocationManager _iosLocationManager;
using Android.Content;
using Android.Locations;
using Android.OS;
using LocationUpdates.Models;
using Location = Android.Locations.Location;
using AndroidApp = Android.App.Application;
namespace LocationUpdates.Services;
public partial class LocationService : Java.Lang.Object, ILocationListener
using LocationUpdates.Models;
namespace LocationUpdates.Services;
public partial class LocationService
{
public event EventHandler<LocationModel> LocationChanged;
public event EventHandler<string> StatusChanged;
public void Initialize()
using System;
using System.Linq;
using System.Threading.Tasks;
using CoreLocation;
using UIKit;
using Xamarin.Essentials;
namespace sample.iOS;
public class RegionMonitor : IRegionMonitor
using System;
using System.Linq;
using System.Threading.Tasks;
using CoreLocation;
using UIKit;
using Xamarin.Essentials;
namespace sample.iOS;
public class RegionMonitor : IRegionMonitor
using System;
using System.Linq;
using System.Threading.Tasks;
using CoreLocation;
using UIKit;
using Xamarin.Essentials;
namespace sample.iOS;
public class LocationBackgroundWorker : ILocationBackgroundWorker
ublic class BackgroundWorker : IBackgroundWorker
{
/// <summary>
/// Timer Cooldown/Delay
/// </summary>
public const double TIMER_COOLDOWN = 5; //5 seconds
//best time according to iOS is from 5 to 15 minutes,
//but with 30 minutes it may also work
public event EventHandler WorkerStopped;
/// <summary>
/// Current status of background tasks
/// </summary>
public enum BackgroundTaskStatus
{
None,
Running,
Completed,
Failed
}