22 lines
575 B
C#
22 lines
575 B
C#
using System.Threading.Tasks;
|
|
using Xamarin.Essentials;
|
|
using static Xamarin.Essentials.Permissions;
|
|
|
|
namespace Bit.App.Utilities
|
|
{
|
|
public static class PermissionManager
|
|
{
|
|
public static async Task<PermissionStatus> CheckAndRequestPermissionAsync<T>(T permission)
|
|
where T : BasePermission
|
|
{
|
|
var status = await permission.CheckStatusAsync();
|
|
if (status != PermissionStatus.Granted)
|
|
{
|
|
status = await permission.RequestAsync();
|
|
}
|
|
|
|
return status;
|
|
}
|
|
}
|
|
}
|