From 712ca0862ee6a7c839ff593e7afe7b8f71e5738d Mon Sep 17 00:00:00 2001 From: Marco Schmickler Date: Mon, 4 Jun 2018 15:08:24 +0200 Subject: [PATCH] Swift 4 --- .idea/codeStyles/Project.xml | 32 ++++++++++++++++++++++ kplayer.xcodeproj/project.pbxproj | 14 +++++++++- kplayer/Info.plist | 2 ++ kplayer/core/MediaItem.swift | 6 ++-- kplayer/core/NetworkManager.swift | 26 +++++++++--------- kplayer/detail/VideoPlayerController.swift | 2 +- kplayer/master/MasterViewController.swift | 2 +- kplayer/photo/MediaPhotoController.swift | 8 +++--- kplayer/util/stringutil.swift | 2 +- 9 files changed, 70 insertions(+), 24 deletions(-) create mode 100644 .idea/codeStyles/Project.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..45f86bc --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/kplayer.xcodeproj/project.pbxproj b/kplayer.xcodeproj/project.pbxproj index 5ffa168..7960e99 100644 --- a/kplayer.xcodeproj/project.pbxproj +++ b/kplayer.xcodeproj/project.pbxproj @@ -306,7 +306,7 @@ attributes = { LastSwiftMigration = 0700; LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0820; + LastUpgradeCheck = 0920; ORGANIZATIONNAME = "Marco Schmickler"; TargetAttributes = { C98AF5CE1B124D6A00D196CC = { @@ -488,14 +488,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -536,14 +542,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; diff --git a/kplayer/Info.plist b/kplayer/Info.plist index 00780b8..b85200b 100644 --- a/kplayer/Info.plist +++ b/kplayer/Info.plist @@ -53,6 +53,8 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIFileSharingEnabled + NSAppTransportSecurity NSAllowsArbitraryLoads diff --git a/kplayer/core/MediaItem.swift b/kplayer/core/MediaItem.swift index f3fb3ca..c9f7955 100644 --- a/kplayer/core/MediaItem.swift +++ b/kplayer/core/MediaItem.swift @@ -96,7 +96,7 @@ class MediaItem: CustomDebugStringConvertible { fileprivate func computeSortName(_ sname: String) -> String { var lsortName = sname.replacingOccurrences(of: "full", with: "") - var fullNameArr = lsortName.characters.split { + var fullNameArr = lsortName.split { $0 == "_" }.map { String($0) @@ -106,7 +106,7 @@ class MediaItem: CustomDebugStringConvertible { lsortName = fullNameArr[0] } - while lsortName.characters.count < 6 { + while lsortName.count < 6 { lsortName = "0" + lsortName } @@ -118,7 +118,7 @@ class MediaItem: CustomDebugStringConvertible { Absoluter Pfad mit Slash am Ende. */ var snapshotDirPathForVideo: String { - let len = "/srv/samba/ren".characters.count + let len = "/srv/samba/ren".count let rootPostfix = (root as NSString).substring(from: len) let tpath = "/srv/samba/ren/thumb\(rootPostfix)/\(path)/\(name)" let enc = tpath.addingPercentEscapes(using: String.Encoding.isoLatin1)! diff --git a/kplayer/core/NetworkManager.swift b/kplayer/core/NetworkManager.swift index 36dc0b7..db3a978 100644 --- a/kplayer/core/NetworkManager.swift +++ b/kplayer/core/NetworkManager.swift @@ -10,7 +10,7 @@ import Alamofire class NetworkManager { static let sharedInstance = NetworkManager() - let baseurl = "http://linkstation.local/tomcat/media" + let baseurl = "http://linkstation:8080/tomcat/media" var authenticated = false @@ -32,10 +32,10 @@ class NetworkManager { } if root.endsWith("/") { - root = root[root.startIndex.. 1000) { // print(pathlen) @@ -81,11 +81,11 @@ class NetworkManager { } if root.endsWith("/") { - root = root[root.startIndex.. Void) -> Void { - let len = root.characters.count + let len = root.count let url = (root as NSString).replacingOccurrences(of: " ", with: "+") let ux = baseurl + "/service/listdirs" + url @@ -181,7 +181,7 @@ class NetworkManager { hasPics = true let name = (root as NSString).lastPathComponent - let namelen = name.characters.count + let namelen = name.count let rootstart = root.substringRight(namelen) let i = MediaItem(name: name, path: "", root: rootstart, type: ItemType.DETAILS) res.append(i) diff --git a/kplayer/detail/VideoPlayerController.swift b/kplayer/detail/VideoPlayerController.swift index cbc3a68..d2f3e5e 100644 --- a/kplayer/detail/VideoPlayerController.swift +++ b/kplayer/detail/VideoPlayerController.swift @@ -13,7 +13,7 @@ class VideoPlayerController: UIViewController, ItemController { var moviePlayer: ALMoviePlayerController? var currentItem: MediaItem? - var completionHandler: ((Void) -> Void)? + var completionHandler: (() -> Void)? var buttons = Dictionary() diff --git a/kplayer/master/MasterViewController.swift b/kplayer/master/MasterViewController.swift index 0c297bd..dc718b9 100644 --- a/kplayer/master/MasterViewController.swift +++ b/kplayer/master/MasterViewController.swift @@ -42,7 +42,7 @@ class MasterViewController: UITableViewController, UISearchResultsUpdating { let str = search.searchBar.text! if str.hasSuffix("*") { - let txt = str[str.startIndex ..< str.characters.index(str.endIndex, offsetBy: -1)] + let txt = str[str.startIndex ..< str.index(str.endIndex, offsetBy: -1)] if let p = model.items[0].parent { let neu = MediaItem(name: txt, path: p.path + "*" + txt, root: p.root, type: ItemType.DETAILS) model.items.append(neu) diff --git a/kplayer/photo/MediaPhotoController.swift b/kplayer/photo/MediaPhotoController.swift index 76ae044..baa460c 100644 --- a/kplayer/photo/MediaPhotoController.swift +++ b/kplayer/photo/MediaPhotoController.swift @@ -10,7 +10,7 @@ import Alamofire class MediaPhotoController: NIToolbarPhotoViewController, NIPhotoAlbumScrollViewDataSource, NIPhotoScrubberViewDataSource, URLSessionDelegate { var items = [MediaItem]() - var completionHandler: ((Void) -> Void)? + var completionHandler: (() -> Void)? var requests = Array() @@ -240,7 +240,7 @@ class MediaPhotoController: NIToolbarPhotoViewController, NIPhotoAlbumScrollView if (currentItem.type == ItemType.PICS) { let items = currentItem - let len = items.root.characters.count + let len = items.root.count let url = NetworkManager.sharedInstance.baseurl + "/service/listfiles" + items.root + "/" + items.path + "/" + items.name print(items) @@ -255,9 +255,9 @@ class MediaPhotoController: NIToolbarPhotoViewController, NIPhotoAlbumScrollView for s in json as! [String] { if s.hasSuffix(".jpg") { - let l = s.characters.count + let l = s.count let name = NSURL(fileURLWithPath: s).lastPathComponent! - var pathlen = l - len - name.characters.count + var pathlen = l - len - name.count // if (pathlen > 1000) { print(pathlen) diff --git a/kplayer/util/stringutil.swift b/kplayer/util/stringutil.swift index 59a46b7..81cdd13 100644 --- a/kplayer/util/stringutil.swift +++ b/kplayer/util/stringutil.swift @@ -39,6 +39,6 @@ public extension String { } func length() -> Int { - return characters.count + return count } }