mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 01:22:46 +02:00
vector-im/element-ios/issues/5009 - Fixed share extension setup and cleaned up code.
This commit is contained in:
@@ -32,45 +32,36 @@
|
||||
|
||||
@implementation ShareExtensionRootViewController
|
||||
|
||||
- (instancetype)init
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
if(self = [super init]) {
|
||||
|
||||
[ThemeService.shared setThemeId:RiotSettings.shared.userInterfaceTheme];
|
||||
|
||||
_shareManager = [[ShareManager alloc] initWithShareExtensionContext:self.extensionContext
|
||||
extensionItems:self.extensionContext.inputItems];
|
||||
|
||||
MXWeakify(self);
|
||||
[_shareManager setCompletionCallback:^(ShareManagerResult result) {
|
||||
MXStrongifyAndReturnIfNil(self);
|
||||
|
||||
switch (result)
|
||||
{
|
||||
case ShareManagerResultFinished:
|
||||
[self.extensionContext completeRequestReturningItems:nil completionHandler:nil];
|
||||
[self _dismiss];
|
||||
break;
|
||||
case ShareManagerResultCancelled:
|
||||
[self.extensionContext cancelRequestWithError:[NSError errorWithDomain:@"MXUserCancelErrorDomain" code:4201 userInfo:nil]];
|
||||
[self _dismiss];
|
||||
break;
|
||||
case ShareManagerResultFailed:
|
||||
[self.extensionContext cancelRequestWithError:[NSError errorWithDomain:@"MXFailureErrorDomain" code:500 userInfo:nil]];
|
||||
[self _dismiss];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}];
|
||||
}
|
||||
[super viewDidLoad];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated
|
||||
{
|
||||
[super viewWillAppear:animated];
|
||||
[ThemeService.shared setThemeId:RiotSettings.shared.userInterfaceTheme];
|
||||
|
||||
_shareManager = [[ShareManager alloc] initWithItems:self.extensionContext.inputItems];
|
||||
|
||||
MXWeakify(self);
|
||||
[_shareManager setCompletionCallback:^(ShareManagerResult result) {
|
||||
MXStrongifyAndReturnIfNil(self);
|
||||
|
||||
switch (result)
|
||||
{
|
||||
case ShareManagerResultFinished:
|
||||
[self.extensionContext completeRequestReturningItems:nil completionHandler:nil];
|
||||
[self _dismiss];
|
||||
break;
|
||||
case ShareManagerResultCancelled:
|
||||
[self.extensionContext cancelRequestWithError:[NSError errorWithDomain:@"MXUserCancelErrorDomain" code:4201 userInfo:nil]];
|
||||
[self _dismiss];
|
||||
break;
|
||||
case ShareManagerResultFailed:
|
||||
[self.extensionContext cancelRequestWithError:[NSError errorWithDomain:@"MXFailureErrorDomain" code:500 userInfo:nil]];
|
||||
[self _dismiss];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}];
|
||||
|
||||
[self presentViewController:self.shareManager.mainViewController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user