using Plugin.Permissions;
using Plugin.Permissions.Abstractions;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace TestFramework.Services.Permissions
{
    public class PermissionsMock : IPermissions
    {
        public async Task<PermissionStatus> CheckPermissionStatusAsync<T>() where T : BasePermission, new()
        {
            return await Task.FromResult(Plugin.Permissions.Abstractions.PermissionStatus.Granted);
        }

        public Task<PermissionStatus> CheckPermissionStatusAsync(Permission permission)
        {
            throw new NotImplementedException();
        }

        public bool OpenAppSettings()
        {
            throw new NotImplementedException();
        }

        public Task<PermissionStatus> RequestPermissionAsync<T>() where T : BasePermission, new()
        {
            throw new NotImplementedException();
        }

        public Task<Dictionary<Permission, PermissionStatus>> RequestPermissionsAsync(params Permission[] permissions)
        {
            throw new NotImplementedException();
        }

        public Task<bool> ShouldShowRequestPermissionRationaleAsync(Permission permission)
        {
            throw new NotImplementedException();
        }
    }
}