using Android.App;
using Android.Content;
using GMCabsDriverAssistantSolution.Platforms.Android.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Java.Util.Jar.Attributes;

namespace GMCabsDriverAssistantSolution.Platforms.Android
{
    [BroadcastReceiver(Name = "au.com.gmcabs.driverassistant.app.BootBroadcastReceiver", Enabled = true, Exported = true, DirectBootAware = true)]
    [IntentFilter(new[] { Intent.ActionBootCompleted })]
    public class BootBroadcastReceiver : BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
        {
            string isForeground = Preferences.Get("isForeground", null);
            if (intent.Action.Equals(Intent.ActionBootCompleted))
            {
                if (isForeground == "YES")
                {
                    var foreGroundServiceIntent = new Intent(global::Android.App.Application.Context, typeof(AndroidLocationService));
                    if (global::Android.OS.Build.VERSION.SdkInt >= global::Android.OS.BuildVersionCodes.O)
                    {
                        global::Android.App.Application.Context.StartForegroundService(intent);
                        context.StartForegroundService(foreGroundServiceIntent);
                    }
                    else
                    {
                        global::Android.App.Application.Context.StartService(intent);
                        context.StartService(foreGroundServiceIntent);
                    }
                }
            }
        }
    }
}
