52 lines
1.7 KiB
Swift
52 lines
1.7 KiB
Swift
import Foundation
|
|
import UIKit
|
|
|
|
enum Const {
|
|
// App
|
|
static var appVersion: String {
|
|
let info = Bundle.main.infoDictionary
|
|
let appVersion = info?["CFBundleShortVersionString"] as? String ?? "Unknown"
|
|
let appBuild = info?[kCFBundleVersionKey as String] as? String ?? "Unknown"
|
|
return "v \(appVersion)(\(appBuild))"
|
|
}
|
|
|
|
static var appName: String {
|
|
Bundle.main.bundleIdentifier ?? "Conversations Classic iOS"
|
|
}
|
|
|
|
// Trusted servers
|
|
enum TrustedServers: String {
|
|
case narayana = "narayana.im"
|
|
case conversations = "conversations.im"
|
|
}
|
|
|
|
// Limit for video for sharing
|
|
static let videoDurationLimit = 60.0
|
|
|
|
// Grid size for gallery preview (3 in a row)
|
|
static let galleryGridSize = UIScreen.main.bounds.width / 3
|
|
|
|
// Size for map preview for location messages
|
|
static let mapPreviewSize = UIScreen.main.bounds.width * 0.5
|
|
|
|
// Size for attachment preview
|
|
static let attachmentPreviewSize = UIScreen.main.bounds.width * 0.5
|
|
|
|
// MAM request page size
|
|
static let mamRequestPageSize = 50
|
|
}
|
|
|
|
final class FolderWrapper {
|
|
static let shared = FolderWrapper()
|
|
let fileFolder: URL
|
|
private init() {
|
|
// swiftlint:disable:next force_unwrapping
|
|
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
|
|
let subdirectoryURL = documentsURL.appendingPathComponent("Downloads")
|
|
if !FileManager.default.fileExists(atPath: subdirectoryURL.path) {
|
|
try? FileManager.default.createDirectory(at: subdirectoryURL, withIntermediateDirectories: true, attributes: nil)
|
|
}
|
|
fileFolder = subdirectoryURL
|
|
}
|
|
}
|