|
@@ -13,8 +13,8 @@
|
|
|
import Foundation
|
|
|
|
|
|
@objc public protocol VLCURLHandler {
|
|
|
- func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool
|
|
|
- func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool
|
|
|
+ func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool
|
|
|
+ func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool
|
|
|
}
|
|
|
|
|
|
@objc class URLHandlers: NSObject {
|
|
@@ -33,11 +33,11 @@ import Foundation
|
|
|
|
|
|
class DropBoxURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
- @objc func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
return url.scheme == "db-a60fc6qj9zdg7bw"
|
|
|
}
|
|
|
|
|
|
- @objc func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
let authResult = DBClientsManager.handleRedirectURL(url)
|
|
|
|
|
|
if let authResult = authResult, authResult.isSuccess() == true {
|
|
@@ -52,11 +52,11 @@ class GoogleURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
@objc var currentGoogleAuthorizationFlow: OIDAuthorizationFlowSession?
|
|
|
|
|
|
- @objc func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
return url.scheme == "com.googleusercontent.apps.CLIENT"
|
|
|
}
|
|
|
|
|
|
- @objc func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
if currentGoogleAuthorizationFlow?.resumeAuthorizationFlow(with: url) == true {
|
|
|
currentGoogleAuthorizationFlow = nil
|
|
|
return true
|
|
@@ -67,11 +67,11 @@ class GoogleURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
class FileURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
- @objc func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
return url.isFileURL
|
|
|
}
|
|
|
|
|
|
- @objc func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
let subclass = DocumentClass(fileURL: url)
|
|
|
subclass.open { _ in
|
|
|
self.play(url: url) { _ in
|
|
@@ -84,11 +84,11 @@ class FileURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
class XCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
- @objc func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
return url.scheme == "vlc-x-callback" || url.scheme == "x-callback-url"
|
|
|
}
|
|
|
|
|
|
- @objc func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
let action = url.path.replacingOccurrences(of: "/", with: "")
|
|
|
var movieURL: URL?
|
|
|
var successCallback: URL?
|
|
@@ -125,7 +125,7 @@ class XCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
return
|
|
|
}
|
|
|
if #available(iOS 10, *) {
|
|
|
- UIApplication.shared.open(callback, options: [:], completionHandler: nil)
|
|
|
+ UIApplication.shared.open(callback, options: convertToUIApplicationOpenExternalURLOptionsKeyDictionary([:]), completionHandler: nil)
|
|
|
} else {
|
|
|
UIApplication.shared.openURL(callback)
|
|
|
}
|
|
@@ -141,7 +141,7 @@ class XCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
public class VLCCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
|
|
|
- @objc public func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc public func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
return url.scheme == "vlc"
|
|
|
}
|
|
|
|
|
@@ -156,7 +156,7 @@ public class VLCCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
return URL(string: parsedString)!
|
|
|
}
|
|
|
|
|
|
- public func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ public func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
|
|
|
let transformedURL = transformVLCURL(url)
|
|
|
let scheme = transformedURL.scheme
|
|
@@ -179,11 +179,11 @@ public class VLCCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
}
|
|
|
|
|
|
class ElseCallbackURLHandler: NSObject, VLCURLHandler {
|
|
|
- @objc func canHandleOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ @objc func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
- func performOpen(url: URL, options: [UIApplicationOpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
+ func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
|
|
|
self.play(url: url, completion: nil)
|
|
|
return true
|
|
|
}
|
|
@@ -203,3 +203,8 @@ extension VLCURLHandler {
|
|
|
VLCDownloadViewController.sharedInstance().addURL(toDownloadList: url, fileNameOfMedia: fileName)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+// Helper function inserted by Swift 4.2 migrator.
|
|
|
+fileprivate func convertToUIApplicationOpenExternalURLOptionsKeyDictionary(_ input: [String: Any]) -> [UIApplication.OpenExternalURLOptionsKey: Any] {
|
|
|
+ return Dictionary(uniqueKeysWithValues: input.map { key, value in (UIApplication.OpenExternalURLOptionsKey(rawValue: key), value)})
|
|
|
+}
|