Various fixes

This commit is contained in:
Ilya Laktyushin 2022-06-12 16:25:58 +04:00
parent 3481e44afa
commit 970a18c42a
2 changed files with 12 additions and 8 deletions

View File

@ -1190,8 +1190,8 @@ private final class PremiumIntroScreenContentComponent: CombinedComponent {
let controller = environment.controller() as? PremiumIntroScreen, let navigationController = controller.navigationController as? NavigationController {
if url.hasPrefix("https://apps.apple.com/account/subscriptions") {
controller.context.sharedContext.applicationBindings.openSubscriptions()
} else if url.hasPrefix("https://") {
controller.context.sharedContext.openExternalUrl(context: controller.context, urlContext: .generic, url: url, forceExternal: true, presentationData: controller.context.sharedContext.currentPresentationData.with({$0}), navigationController: nil, dismissInput: {})
} else if url.hasPrefix("https://") || url.hasPrefix("tg://") {
controller.context.sharedContext.openExternalUrl(context: controller.context, urlContext: .generic, url: url, forceExternal: !url.hasPrefix("tg://"), presentationData: controller.context.sharedContext.currentPresentationData.with({$0}), navigationController: nil, dismissInput: {})
} else {
let context = controller.context
let signal: Signal<ResolvedUrl, NoError>?

View File

@ -13,6 +13,8 @@ import PassportUI
import UrlHandling
import OpenInExternalAppUI
import BrowserUI
import OverlayStatusController
import PresentationDataUtils
public struct ParsedSecureIdUrl {
public let peerId: PeerId
@ -764,7 +766,12 @@ func openExternalUrlImpl(context: AccountContext, urlContext: OpenURLContext, ur
} else if parsedUrl.host == "premium_offer" {
handleResolvedUrl(.premiumOffer(reference: nil))
} else if parsedUrl.host == "restore_purchases" {
context.inAppPurchaseManager?.restorePurchases(completion: { result in
let statusController = OverlayStatusController(theme: presentationData.theme, type: .loading(cancelled: nil))
context.sharedContext.presentGlobalController(statusController, nil)
context.inAppPurchaseManager?.restorePurchases(completion: { [weak statusController] result in
statusController?.dismiss()
let text: String
switch result {
case .succeed:
@ -772,11 +779,8 @@ func openExternalUrlImpl(context: AccountContext, urlContext: OpenURLContext, ur
case .failed:
text = presentationData.strings.Premium_Restore_ErrorUnknown
}
context.sharedContext.presentGlobalController(standardTextAlertController(theme: AlertControllerTheme(presentationData: presentationData), title: nil, text: text, actions: [
TextAlertAction(type: .genericAction, title: presentationData.strings.Common_OK, action: {
}),
], parseMarkdown: true), nil)
let alertController = textAlertController(context: context, title: nil, text: text, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: {})])
context.sharedContext.presentGlobalController(alertController, nil)
})
}
}