mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 08:18:41 +09:00
230 lines
6.6 KiB
Swift
230 lines
6.6 KiB
Swift
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
import UIKit
|
|
|
|
public enum AppBuildChannel: String {
|
|
case release = "release"
|
|
case beta = "beta"
|
|
case developer = "developer"
|
|
}
|
|
|
|
public enum KVOConstants: String {
|
|
case loading = "loading"
|
|
case estimatedProgress = "estimatedProgress"
|
|
case URL = "URL"
|
|
case title = "title"
|
|
case canGoBack = "canGoBack"
|
|
case canGoForward = "canGoForward"
|
|
case contentSize = "contentSize"
|
|
}
|
|
|
|
public struct AppConstants {
|
|
public static let IsRunningTest = NSClassFromString("XCTestCase") != nil || ProcessInfo.processInfo.arguments.contains(LaunchArguments.Test)
|
|
|
|
public static let FxAiOSClientId = "1b1a3e44c54fbb58"
|
|
|
|
/// Build Channel.
|
|
public static let BuildChannel: AppBuildChannel = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return AppBuildChannel.release
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return AppBuildChannel.beta
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return AppBuildChannel.developer
|
|
#endif
|
|
}()
|
|
|
|
public static let scheme: String = {
|
|
guard let identifier = Bundle.main.bundleIdentifier else {
|
|
return "unknown"
|
|
}
|
|
|
|
let scheme = identifier.replacingOccurrences(of: "org.mozilla.ios.", with: "")
|
|
if scheme == "FirefoxNightly.enterprise" {
|
|
return "FirefoxNightly"
|
|
}
|
|
return scheme
|
|
}()
|
|
|
|
public static let PrefSendUsageData = "settings.sendUsageData"
|
|
|
|
/// Whether we just mirror (false) or actively do a full bookmark merge and upload (true).
|
|
public static var shouldMergeBookmarks = false
|
|
|
|
/// Should we try to sync (no merging) the Mobile Folder (if shouldMergeBookmarks is false).
|
|
public static let MOZ_SIMPLE_BOOKMARKS_SYNCING: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Should we send a repair request to other clients when the bookmarks buffer validation fails.
|
|
public static let MOZ_BOOKMARKS_REPAIR_REQUEST: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return false
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Flag indicating if we are running in Debug mode or not.
|
|
public static let isDebug: Bool = {
|
|
#if MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return false
|
|
#endif
|
|
}()
|
|
|
|
/// Enables support for International Domain Names (IDN)
|
|
/// Disabled because of https://bugzilla.mozilla.org/show_bug.cgi?id=1312294
|
|
public static let MOZ_PUNYCODE: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return false
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return false
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Enables/disables deep linking form fill for FxA
|
|
public static let MOZ_FXA_DEEP_LINK_FORM_FILL: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Toggles reporting our ad-hoc bookmark sync ping
|
|
public static let MOZ_ADHOC_SYNC_REPORTING: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return false
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return false
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Toggles the ability to add a custom search engine
|
|
public static let MOZ_CUSTOM_SEARCH_ENGINE: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Enables/disables push notificatuibs for FxA
|
|
public static let MOZ_FXA_PUSH: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Toggle the feature that shows the blue 'Open copied link' banner
|
|
public static let MOZ_CLIPBOARD_BAR: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Toggle pocket stories feature
|
|
public static let MOZ_POCKET_STORIES: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// Toggle the use of Leanplum.
|
|
public static let MOZ_ENABLE_LEANPLUM: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return false
|
|
#endif
|
|
}()
|
|
|
|
/// Toggle the feature that shows updated FxA preferences cell
|
|
public static let MOZ_SHOW_FXA_AVATAR: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return true
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return true
|
|
#endif
|
|
}()
|
|
|
|
/// The maximum length of a URL stored by Firefox. Shared with Places on desktop.
|
|
public static let DB_URL_LENGTH_MAX = 65536
|
|
|
|
/// The maximum length of a page title stored by Firefox. Shared with Places on desktop.
|
|
public static let DB_TITLE_LENGTH_MAX = 4096
|
|
|
|
/// The maximum length of a bookmark description stored by Firefox. Shared with Places on desktop.
|
|
public static let DB_DESCRIPTION_LENGTH_MAX = 1024
|
|
|
|
/// Toggle FxA Leanplum A/B test for prompting push permissions
|
|
public static let MOZ_FXA_LEANPLUM_AB_PUSH_TEST: Bool = {
|
|
#if MOZ_CHANNEL_RELEASE
|
|
return false
|
|
#elseif MOZ_CHANNEL_BETA
|
|
return true
|
|
#elseif MOZ_CHANNEL_FENNEC
|
|
return true
|
|
#else
|
|
return false
|
|
#endif
|
|
}()
|
|
}
|