/// <summary>Checks the status of <see cref="SaveMediaPermission"/>.</summary> /// <returns>The current status of the permission.</returns> public override Task <PermissionStatus> CheckStatusAsync() { EnsureDeclared(); var auth = MediaGallery.HasOSVersion(14) ? PHPhotoLibrary.GetAuthorizationStatus(PHAccessLevel.AddOnly) : PHPhotoLibrary.AuthorizationStatus; return(Task.FromResult(Convert(auth))); }
/// <summary>Request <see cref="SaveMediaPermission"/> from the user.</summary> /// <returns>The status of the permission that was requested.</returns> public override async Task <PermissionStatus> RequestAsync() { var status = await CheckStatusAsync(); if (status == PermissionStatus.Granted) { return(status); } var auth = MediaGallery.HasOSVersion(14) ? await PHPhotoLibrary.RequestAuthorizationAsync(PHAccessLevel.AddOnly) : await PHPhotoLibrary.RequestAuthorizationAsync(); return(Convert(auth)); }