Fix multiaccount sharing

This commit is contained in:
Peter 2019-02-19 14:15:50 +03:00
parent ba107fa5ab
commit f18db8e058
3 changed files with 8 additions and 7 deletions

View File

@ -239,8 +239,8 @@ class ShareRootController: UIViewController {
} |> runOn(Queue.mainQueue()) } |> runOn(Queue.mainQueue())
} }
let sentItems: ([PeerId], [PreparedShareItemContent]) -> Signal<ShareControllerExternalStatus, NoError> = { peerIds, contents in let sentItems: ([PeerId], [PreparedShareItemContent], Account) -> Signal<ShareControllerExternalStatus, NoError> = { peerIds, contents, account in
let sentItems = sentShareItems(account: context.account, to: peerIds, items: contents) let sentItems = sentShareItems(account: account, to: peerIds, items: contents)
|> `catch` { _ -> Signal< |> `catch` { _ -> Signal<
Float, NoError> in Float, NoError> in
return .complete() return .complete()
@ -252,10 +252,10 @@ class ShareRootController: UIViewController {
|> then(.single(.done)) |> then(.single(.done))
} }
let shareController = ShareController(context: context, subject: .fromExternal({ peerIds, additionalText in let shareController = ShareController(context: context, subject: .fromExternal({ peerIds, additionalText, account in
if let strongSelf = self, let inputItems = strongSelf.extensionContext?.inputItems, !inputItems.isEmpty, !peerIds.isEmpty { if let strongSelf = self, let inputItems = strongSelf.extensionContext?.inputItems, !inputItems.isEmpty, !peerIds.isEmpty {
let rawSignals = TGItemProviderSignals.itemSignals(forInputItems: inputItems)! let rawSignals = TGItemProviderSignals.itemSignals(forInputItems: inputItems)!
return preparedShareItems(account: context.account, to: peerIds[0], dataItems: rawSignals, additionalText: additionalText) return preparedShareItems(account: account, to: peerIds[0], dataItems: rawSignals, additionalText: additionalText)
|> map(Optional.init) |> map(Optional.init)
|> `catch` { _ -> Signal<PreparedShareItems?, NoError> in |> `catch` { _ -> Signal<PreparedShareItems?, NoError> in
return .single(nil) return .single(nil)
@ -272,10 +272,10 @@ class ShareRootController: UIViewController {
case let .userInteractionRequired(value): case let .userInteractionRequired(value):
return requestUserInteraction(value) return requestUserInteraction(value)
|> mapToSignal { contents -> Signal<ShareControllerExternalStatus, NoError> in |> mapToSignal { contents -> Signal<ShareControllerExternalStatus, NoError> in
return sentItems(peerIds, contents) return sentItems(peerIds, contents, account)
} }
case let .done(contents): case let .done(contents):
return sentItems(peerIds, contents) return sentItems(peerIds, contents, account)
} }
} }
} else { } else {

View File

@ -3849,6 +3849,7 @@ Unused sets are archived when you add more.";
"GroupPermission.ApplyAlertAction" = "Apply"; "GroupPermission.ApplyAlertAction" = "Apply";
"GroupPermission.AddSuccess" = "Exception Added"; "GroupPermission.AddSuccess" = "Exception Added";
"GroupPermission.NotAvailableInPublicGroups" = "This permission is not available in public groups."; "GroupPermission.NotAvailableInPublicGroups" = "This permission is not available in public groups.";
"GroupPermission.AddMembersNotAvailable" = "You don't have persmission to add members.";
"Channel.Management.RemovedBy" = "Removed by %@"; "Channel.Management.RemovedBy" = "Removed by %@";

@ -1 +1 @@
Subproject commit bd77e8c600d9bd521f519f74fb10686ebe5bf5c2 Subproject commit 3062f0548f2031cb12353c3cba834446c1513228