mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix location request
This commit is contained in:
parent
982a17c0a9
commit
f7c6e257cb
@ -246,18 +246,20 @@ private func updatedContextQueryResultStateForQuery(context: AccountContext, pee
|
|||||||
|> castError(ChatContextQueryError.self)
|
|> castError(ChatContextQueryError.self)
|
||||||
|> mapToSignal { peer -> Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError> in
|
|> mapToSignal { peer -> Signal<(ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult?, ChatContextQueryError> in
|
||||||
if let user = peer as? TelegramUser, let botInfo = user.botInfo, let _ = botInfo.inlinePlaceholder {
|
if let user = peer as? TelegramUser, let botInfo = user.botInfo, let _ = botInfo.inlinePlaceholder {
|
||||||
let contextResults = requestChatContextResults(account: context.account, botId: user.id, peerId: chatPeer.id, query: query, location: context.sharedContext.locationManager.flatMap { locationManager in
|
let contextResults = requestChatContextResults(account: context.account, botId: user.id, peerId: chatPeer.id, query: query, location: context.sharedContext.locationManager.flatMap { locationManager -> Signal<(Double, Double)?, NoError> in
|
||||||
Queue.mainQueue().async {
|
return `deferred` {
|
||||||
requestBotLocationStatus(user.id)
|
Queue.mainQueue().async {
|
||||||
}
|
requestBotLocationStatus(user.id)
|
||||||
|
}
|
||||||
return ApplicationSpecificNotice.inlineBotLocationRequestStatus(accountManager: context.sharedContext.accountManager, peerId: user.id)
|
|
||||||
|> filter { $0 }
|
return ApplicationSpecificNotice.inlineBotLocationRequestStatus(accountManager: context.sharedContext.accountManager, peerId: user.id)
|
||||||
|> take(1)
|
|> filter { $0 }
|
||||||
|> mapToSignal { _ -> Signal<(Double, Double)?, NoError> in
|
|> take(1)
|
||||||
return currentLocationManagerCoordinate(manager: locationManager, timeout: 5.0)
|
|> mapToSignal { _ -> Signal<(Double, Double)?, NoError> in
|
||||||
|> flatMap { coordinate -> (Double, Double) in
|
return currentLocationManagerCoordinate(manager: locationManager, timeout: 5.0)
|
||||||
return (coordinate.latitude, coordinate.longitude)
|
|> flatMap { coordinate -> (Double, Double) in
|
||||||
|
return (coordinate.latitude, coordinate.longitude)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ?? .single(nil), offset: "")
|
} ?? .single(nil), offset: "")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user