Skip to content
This repository was archived by the owner on May 15, 2024. It is now read-only.

Commit cb328cb

Browse files
authored
Merge branch 'main' into issue-1999_droid_permission_checkstatusasync
2 parents e8ce50d + 29ad28d commit cb328cb

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

Xamarin.Essentials/Share/Share.ios.cs

+23-6
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ namespace Xamarin.Essentials
88
{
99
public static partial class Share
1010
{
11-
static Task PlatformRequestAsync(ShareTextRequest request)
11+
static async Task PlatformRequestAsync(ShareTextRequest request)
1212
{
13+
var src = new TaskCompletionSource<bool>();
1314
var items = new List<NSObject>();
1415
if (!string.IsNullOrWhiteSpace(request.Text))
1516
{
@@ -21,7 +22,13 @@ static Task PlatformRequestAsync(ShareTextRequest request)
2122
items.Add(new ShareActivityItemSource(NSUrl.FromString(request.Uri), request.Title));
2223
}
2324

24-
var activityController = new UIActivityViewController(items.ToArray(), null);
25+
var activityController = new UIActivityViewController(items.ToArray(), null)
26+
{
27+
CompletionWithItemsHandler = (a, b, c, d) =>
28+
{
29+
src.TrySetResult(true);
30+
}
31+
};
2532

2633
var vc = Platform.GetCurrentViewController();
2734

@@ -33,11 +40,14 @@ static Task PlatformRequestAsync(ShareTextRequest request)
3340
activityController.PopoverPresentationController.SourceRect = request.PresentationSourceBounds.ToPlatformRectangle();
3441
}
3542

36-
return vc.PresentViewControllerAsync(activityController, true);
43+
await vc.PresentViewControllerAsync(activityController, true);
44+
await src.Task;
3745
}
3846

39-
static Task PlatformRequestAsync(ShareMultipleFilesRequest request)
47+
static async Task PlatformRequestAsync(ShareMultipleFilesRequest request)
4048
{
49+
var src = new TaskCompletionSource<bool>();
50+
4151
var items = new List<NSObject>();
4252

4353
var hasTitel = !string.IsNullOrWhiteSpace(request.Title);
@@ -50,7 +60,13 @@ static Task PlatformRequestAsync(ShareMultipleFilesRequest request)
5060
items.Add(fileUrl); // No title specified
5161
}
5262

53-
var activityController = new UIActivityViewController(items.ToArray(), null);
63+
var activityController = new UIActivityViewController(items.ToArray(), null)
64+
{
65+
CompletionWithItemsHandler = (a, b, c, d) =>
66+
{
67+
src.TrySetResult(true);
68+
}
69+
};
5470

5571
var vc = Platform.GetCurrentViewController();
5672

@@ -62,7 +78,8 @@ static Task PlatformRequestAsync(ShareMultipleFilesRequest request)
6278
activityController.PopoverPresentationController.SourceRect = request.PresentationSourceBounds.ToPlatformRectangle();
6379
}
6480

65-
return vc.PresentViewControllerAsync(activityController, true);
81+
await vc.PresentViewControllerAsync(activityController, true);
82+
await src.Task;
6683
}
6784
}
6885

0 commit comments

Comments
 (0)