@@ -102,48 +102,6 @@ static void initializeActivityTypeMapping(void) {
102
102
return [result copy ];
103
103
}
104
104
105
- // We need the companion to avoid ARC deadlock
106
- @interface UIActivityViewSuccessCompanion : NSObject
107
-
108
- @property FlutterResult result;
109
- @property NSString *activityType;
110
- @property BOOL completed;
111
-
112
- - (id )initWithResult : (FlutterResult)result ;
113
-
114
- @end
115
-
116
- @implementation UIActivityViewSuccessCompanion
117
-
118
- - (id )initWithResult : (FlutterResult)result {
119
- if (self = [super init ]) {
120
- self.result = result;
121
- self.completed = false ;
122
- }
123
- return self;
124
- }
125
-
126
- // We use dealloc as the share-sheet might disappear (e.g. iCloud photo album
127
- // creation) and could then reappear if the user cancels
128
- - (void )dealloc {
129
- if (self.completed ) {
130
- self.result (self.activityType );
131
- } else {
132
- self.result (@" " );
133
- }
134
- }
135
-
136
- @end
137
-
138
- @interface UIActivityViewSuccessController : UIActivityViewController
139
-
140
- @property UIActivityViewSuccessCompanion *companion;
141
-
142
- @end
143
-
144
- @implementation UIActivityViewSuccessController
145
- @end
146
-
147
105
@interface SharePlusData : NSObject <UIActivityItemSource>
148
106
149
107
@property (readonly , nonatomic , copy ) NSString *subject;
@@ -317,7 +275,8 @@ + (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar> *)registrar {
317
275
NSNumber *originY = arguments[@" originY" ];
318
276
NSNumber *originWidth = arguments[@" originWidth" ];
319
277
NSNumber *originHeight = arguments[@" originHeight" ];
320
- NSArray *excludedActivityTypeStrings = arguments[@" excludedCupertinoActivities" ];
278
+ NSArray *excludedActivityTypeStrings =
279
+ arguments[@" excludedCupertinoActivities" ];
321
280
NSArray <UIActivityType> *excludedActivityTypes =
322
281
activityTypesForStrings (excludedActivityTypeStrings);
323
282
@@ -445,9 +404,9 @@ + (void)share:(NSArray *)shareItems
445
404
withController : (UIViewController *)controller
446
405
atSource : (CGRect)origin
447
406
toResult : (FlutterResult)result {
448
- UIActivityViewSuccessController *activityViewController =
449
- [[UIActivityViewSuccessController alloc ] initWithActivityItems: shareItems
450
- applicationActivities: nil ];
407
+ UIActivityViewController *activityViewController =
408
+ [[UIActivityViewController alloc ] initWithActivityItems: shareItems
409
+ applicationActivities: nil ];
451
410
452
411
activityViewController.excludedActivityTypes = excludedActivityTypes;
453
412
@@ -483,14 +442,14 @@ + (void)share:(NSArray *)shareItems
483
442
activityViewController.popoverPresentationController .sourceRect = origin;
484
443
}
485
444
486
- UIActivityViewSuccessCompanion *companion =
487
- [[UIActivityViewSuccessCompanion alloc ] initWithResult: result];
488
- activityViewController.companion = companion;
489
445
activityViewController.completionWithItemsHandler =
490
446
^(UIActivityType activityType, BOOL completed, NSArray *returnedItems,
491
447
NSError *activityError) {
492
- companion.activityType = activityType;
493
- companion.completed = completed;
448
+ if (completed) {
449
+ result (activityType);
450
+ } else {
451
+ result (@" " );
452
+ }
494
453
};
495
454
496
455
[controller presentViewController: activityViewController
0 commit comments