diff --git a/.buckconfig b/.buckconfig index 0323a3127b..1d8e0db3c0 100644 --- a/.buckconfig +++ b/.buckconfig @@ -1,14 +1,14 @@ [cxx] - default_platform = iphoneos-armv7 - cflags = -fmodules -fobjc-arc -D BUCK -D DEBUG -w -fno-optimize-sibling-calls $(config custom.other_cflags) - cxxflags = -fobjc-arc -std=c++14 -D BUCK -D DEBUG -w -fno-optimize-sibling-calls $(config custom.other_cxxflags) + default_platform = iphonesimulator-x86_64 + cflags = -g -fmodules -fobjc-arc -D BUCK -DTARGET_OS_IOS=1 -g -w $(config custom.other_cflags) + cxxflags = -fobjc-arc -std=c++14 -D BUCK -DTARGET_OS_IOS=1 -g $(config custom.other_cxxflags) combined_preprocess_and_compile = true pch_enabled = false - ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -dead_strip -Xlinker -no_deduplicate $(config custom.other_cxxflags) + ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime $(config custom.other_cxxflags) [swift] version = 5 - compiler_flags = -DBUCK -enable-testing -O -whole-module-optimization -suppress-warnings -Xcc -fno-optimize-sibling-calls $(config custom.other_swift_compiler_flags) + compiler_flags = -g -DBUCK $(config custom.optimization) $(config custom.config_swift_compiler_flags) $(config custom.other_swift_compiler_flags) use_filelist = true [apple] @@ -19,8 +19,7 @@ iphoneos_target_sdk_version = 8.0 provisioning_profile_read_command = security cms -Di xctool_default_destination_specifier = platform=iOS Simulator,OS=latest - ;provisioning_profile_search_path = ./ - ;xctool_path = tools/xctool/bin/xctool + xctool_path = tools/xctool/bin/xctool [parser] polyglot_parsing_enabled = true @@ -33,6 +32,4 @@ allow_symlinks = forbid ignore = tools, \ .git, \ - -[build] - thread_core_ratio = 2.0 + \ No newline at end of file diff --git a/BUCK b/BUCK index b1443dbcae..555f98f385 100644 --- a/BUCK +++ b/BUCK @@ -1,182 +1,499 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS') +load("//Config:configs.bzl", + "app_binary_configs", + "share_extension_configs", + "widget_extension_configs", + "notification_content_extension_configs", + "notification_service_extension_configs", + "intents_extension_configs", + "watch_extension_binary_configs", + "watch_binary_configs", + "library_configs", + "info_plist_substitutions", + "app_info_plist_substitutions", + "share_extension_info_plist_substitutions", + "widget_extension_info_plist_substitutions", + "notification_content_extension_info_plist_substitutions", + "notification_service_extension_info_plist_substitutions", + "intents_extension_info_plist_substitutions", + "watch_extension_info_plist_substitutions", + "watch_info_plist_substitutions", + "DEVELOPMENT_LANGUAGE", +) -# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004. See the -# longer comment in `ViewController.swift` for more details. -ALL_LOAD_LINKER_FLAG = '-all_load' +load("//Config:buck_rule_macros.bzl", + "apple_lib", + "framework_binary_dependencies", + "framework_bundle_dependencies", + "glob_map", + "glob_sub_map", + "merge_maps", +) -BUILD_NUMBER = '2001' +framework_dependencies = [ + "//submodules/MtProtoKit:MtProtoKit", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", + "//submodules/Postbox:Postbox", + "//submodules/TelegramCore:TelegramCore", + "//submodules/AsyncDisplayKit:AsyncDisplayKit", + "//submodules/Display:Display", + "//submodules/TelegramUI:TelegramUI", +] -APP_CONFIGS = { - 'ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES': 'YES', - 'DEVELOPMENT_LANGUAGE': 'Swift', - 'PRODUCT_BUNDLE_IDENTIFIER': 'ph.telegra.Telegraph', - 'PROVISIONING_PROFILE_SPECIFIER': 'match Development ph.telegra.Telegraph', - 'TARGETED_DEVICE_FAMILY': '1,2', - 'APP_NAME': 'Telegram', - 'BUILD_NUMBER': BUILD_NUMBER, - 'CODE_SIGN_ENTITLEMENTS': 'Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements', -} -APP_CONFIGS.update(SHARED_CONFIGS) +resource_dependencies = [ + "//submodules/LegacyComponents:LegacyComponentsResources", + "//submodules/TelegramUI:TelegramUIAssets", + "//submodules/TelegramUI:TelegramUIResources", + "//:AppResources", + "//:AppStringResources", + "//:AppIntentVocabularyResources", + "//:Icons", + "//:AdditionalIcons", + "//:LaunchScreen", +] + +build_phase_scripts = [ +] apple_resource( - name = 'LaunchScreenXib', - files = [ - 'Telegram-iOS/Base.lproj/LaunchScreen.xib', - ], + name = "AppResources", + files = glob([ + "Telegram-iOS/Resources/**/*", + ], exclude = ["Telegram-iOS/Resources/**/.*"]), + visibility = ["PUBLIC"], ) apple_resource( - name = "StringResources", + name = "AppStringResources", files = [], variants = glob([ "Telegram-iOS/*.lproj/Localizable.strings", ]), + visibility = ["PUBLIC"], ) apple_resource( - name = "InfoPlistStringResources", - files = [], - variants = glob([ - "Telegram-iOS/*.lproj/InfoPlist.strings", - ]), -) - -apple_resource( - name = "AppIntentVocabularyStringResources", + name = "AppIntentVocabularyResources", files = [], variants = glob([ "Telegram-iOS/*.lproj/AppIntentVocabulary.plist", ]), + visibility = ["PUBLIC"], ) apple_asset_catalog( - name = 'Images', - dirs = [ - 'Telegram-iOS/Images.xcassets', + name = "Icons", + dirs = [ + "Telegram-iOS/Icons.xcassets", + "Telegram-iOS/AppIcons.xcassets", + ], + app_icon = "AppIconLLC", + visibility = ["PUBLIC"], +) + +apple_resource( + name = "AdditionalIcons", + files = glob([ + "Telegram-iOS/*.png", + ]), + visibility = ["PUBLIC"], +) + +apple_resource( + name = "LaunchScreen", + files = [ + "Telegram-iOS/Base.lproj/LaunchScreen.xib", ], - app_icon = 'AppIconLLC', + visibility = ["PUBLIC"], ) apple_library( - name = 'BuildConfig', - srcs = glob([ - 'Telegram-iOS/BuildConfig.m', - ]), - headers = [ - 'Telegram-iOS/BuildConfig.h', + name = "AppLibrary", + visibility = [ + "//:", + "//...", ], - compiler_flags = [ - '-w', - '-DAPP_CONFIG_IS_INTERNAL_BUILD=false', - '-DAPP_CONFIG_IS_APPSTORE_BUILD=true', - '-DAPP_CONFIG_APPSTORE_ID=686449807', - '-DAPP_SPECIFIC_URL_SCHEME=\"tgapp\"', - '-DAPP_CONFIG_API_ID=8', - '-DAPP_CONFIG_API_HASH=\"7245de8e747a0d6fbe11f7cc14fcc0bb\"', - '-DAPP_CONFIG_HOCKEYAPP_ID=\"ad8831329ffc8f8aff9a2b0b86558b24\"', + configs = library_configs(), + swift_version = native.read_config("swift", "version"), + srcs = [ + "Telegram-iOS/main.m", + "Telegram-iOS/Application.swift" ], - header_namespace = 'BuildConfig', - exported_headers = [ - 'Telegram-iOS/BuildConfig.h', - ], - modular = True, - visibility = ['PUBLIC'], deps = [ - '//submodules/MtProtoKit:MtProtoKit', - ], -) - -apple_library( - name = 'AppBinaryPrivate', - srcs = glob([ - 'Telegram-iOS/TGBridgeServer.m', - 'Telegram-iOS/TGAutoDownloadPreferences.m', - 'Telegram-iOS/TGPresentationAutoNightPreferences.m', - 'Telegram-iOS/TGProxyItem.m', - 'Telegram-iOS/UIImage+ImageEffects.m', - ]), - headers = [ - ], - header_namespace = 'AppBinaryPrivate', - exported_headers = [ - 'Telegram-iOS/TGBridgeServer.h', - 'Telegram-iOS/TGAutoDownloadPreferences.h', - 'Telegram-iOS/TGPresentationAutoNightPreferences.h', - 'Telegram-iOS/TGProxyItem.h', - 'Telegram-iOS/UIImage+ImageEffects.h', - ], - modular = True, - visibility = ['PUBLIC'], - deps = [ - '//submodules/SSignalKit:SSignalKit', - '//Watch:WatchUtils', - '//submodules/LegacyComponents:LegacyComponents', - ], + ] + + framework_binary_dependencies(framework_dependencies), ) apple_binary( - name = 'AppBinary', - configs = configs_with_config(config_with_updated_linker_flags(APP_CONFIGS, ALL_LOAD_LINKER_FLAG)), - #srcs = glob([ - # 'Telegram-iOS/*.swift', - #]) + [ - # 'Telegram-iOS/main.m', - #], - srcs = ['Telegram-iOS/TempMain.m'], - entitlements_file = 'Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements', - deps = [ - ':LaunchScreenXib', - ':StringResources', - ':InfoPlistStringResources', - ':AppIntentVocabularyStringResources', - ':Images', - #'//submodules/AsyncDisplayKit:AsyncDisplayKit', - #'//submodules/MtProtoKit:MtProtoKit', - #'//submodules/SSignalKit:SwiftSignalKit', - #'//submodules/SSignalKit:SSignalKit', - #'//submodules/Display:Display', - #'//submodules/Postbox:Postbox', - #'//submodules/TelegramCore:TelegramCore', - #'//submodules/LegacyComponents:LegacyComponents', - #'//submodules/HockeySDK-iOS:HockeySDK', - #'//submodules/lottie-ios:Lottie', - '//submodules/libtgvoip:tgvoip', - #'//submodules/webp:WebPImage', - #'//submodules/ffmpeg:FFMpeg', - #'//submodules/TelegramUI:TelegramUI', - '//submodules/TelegramUI:TelegramUIFramework', - #'//Watch:WatchUtils', - ':BuildConfig', - ':AppBinaryPrivate', + name = "AppBinary", + visibility = [ + "//:", + "//...", ], + configs = app_binary_configs(), + swift_version = native.read_config("swift", "version"), + srcs = [ + "SupportFiles/Empty.swift", + ], + deps = [ + ":AppLibrary", + ] + + resource_dependencies, +) + +apple_bundle( + name = "Telegram", + visibility = [ + "//:", + ], + extension = "app", + binary = ":AppBinary", + product_name = "Telegram", + info_plist = "Telegram-iOS/Info.plist", + info_plist_substitutions = app_info_plist_substitutions(), + deps = [ + ":ShareExtension", + ":WidgetExtension", + ":NotificationContentExtension", + ":NotificationServiceExtension", + ":IntentsExtension", + ":WatchApp#watch", + ] + + framework_bundle_dependencies(framework_dependencies), +) + +# Share Extension + +apple_binary( + name = "ShareBinary", + srcs = glob([ + "Share/**/*.swift", + ]), + configs = share_extension_configs(), + linker_flags = [ + "-e", + "_NSExtensionMain", + "-Xlinker", + "-rpath", + "-Xlinker", + "/usr/lib/swift", + "-Xlinker", + "-rpath", + "-Xlinker", + "@executable_path/../../Frameworks", + ], + deps = [ + "//submodules/TelegramUI:TelegramUI#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) + +apple_bundle( + name = "ShareExtension", + binary = ":ShareBinary", + extension = "appex", + info_plist = "Share/Info.plist", + info_plist_substitutions = share_extension_info_plist_substitutions(), + deps = [ + ], + xcode_product_type = "com.apple.product-type.app-extension", +) + +# Widget + +apple_binary( + name = "WidgetBinary", + srcs = glob([ + "Widget/**/*.swift", + ]), + configs = widget_extension_configs(), + swift_compiler_flags = [ + "-application-extension", + ], + linker_flags = [ + "-e", + "_NSExtensionMain", + "-Xlinker", + "-rpath", + "-Xlinker", + "/usr/lib/swift", + "-Xlinker", + "-rpath", + "-Xlinker", + "@executable_path/../../Frameworks", + ], + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/BuildConfig:BuildConfig", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/NotificationCenter.framework", + ], +) + +apple_bundle( + name = "WidgetExtension", + binary = ":WidgetBinary", + extension = "appex", + info_plist = "Widget/Info.plist", + info_plist_substitutions = widget_extension_info_plist_substitutions(), + deps = [ + ], + xcode_product_type = "com.apple.product-type.app-extension", +) + +# Notification Content + +apple_binary( + name = "NotificationContentBinary", + srcs = glob([ + "NotificationContent/**/*.swift", + ]), + configs = notification_content_extension_configs(), + swift_compiler_flags = [ + "-application-extension", + ], + linker_flags = [ + "-e", + "_NSExtensionMain", + "-Xlinker", + "-rpath", + "-Xlinker", + "/usr/lib/swift", + "-Xlinker", + "-rpath", + "-Xlinker", + "@executable_path/../../Frameworks", + ], + deps = [ + "//submodules/TelegramUI:TelegramUI#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UserNotificationsUI.framework", + ], +) + +apple_bundle( + name = "NotificationContentExtension", + binary = ":NotificationContentBinary", + extension = "appex", + info_plist = "NotificationContent/Info.plist", + info_plist_substitutions = notification_content_extension_info_plist_substitutions(), + deps = [ + ], + xcode_product_type = "com.apple.product-type.app-extension", +) + +#Notification Service + +apple_binary( + name = "NotificationServiceBinary", + srcs = glob([ + "NotificationService/**/*.m", + ]), + headers = glob([ + "NotificationService/**/*.h", + ]), + configs = notification_service_extension_configs(), + swift_compiler_flags = [ + "-application-extension", + ], + linker_flags = [ + "-e", + "_NSExtensionMain", + "-Xlinker", + "-rpath", + "-Xlinker", + "/usr/lib/swift", + "-Xlinker", + "-rpath", + "-Xlinker", + "@executable_path/../../Frameworks", + ], + deps = [ + "//submodules/BuildConfig:BuildConfig", + "//submodules/MtProtoKit:MtProtoKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UserNotifications.framework", + ], +) + +apple_bundle( + name = "NotificationServiceExtension", + binary = ":NotificationServiceBinary", + extension = "appex", + info_plist = "NotificationService/Info.plist", + info_plist_substitutions = notification_service_extension_info_plist_substitutions(), + deps = [ + ], + xcode_product_type = "com.apple.product-type.app-extension", +) + +# Intents + +apple_binary( + name = "IntentsBinary", + srcs = glob([ + "SiriIntents/**/*.swift", + ]), + configs = intents_extension_configs(), + swift_compiler_flags = [ + "-application-extension", + ], + linker_flags = [ + "-e", + "_NSExtensionMain", + "-Xlinker", + "-rpath", + "-Xlinker", + "/usr/lib/swift", + "-Xlinker", + "-rpath", + "-Xlinker", + "@executable_path/../../Frameworks", + ], + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/BuildConfig:BuildConfig", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) + +apple_bundle( + name = "IntentsExtension", + binary = ":IntentsBinary", + extension = "appex", + info_plist = "SiriIntents/Info.plist", + info_plist_substitutions = intents_extension_info_plist_substitutions(), + deps = [ + ], + xcode_product_type = "com.apple.product-type.app-extension", +) + +# Watch + +apple_binary( + name = "WatchAppExtensionBinary", + srcs = glob([ + "Watch/Extension/**/*.m", + "Watch/SSignalKit/**/*.m", + "Watch/Bridge/**/*.m", + "Watch/WatchCommonWatch/**/*.m", + ]), + headers = merge_maps([ + glob_map(glob([ + "Watch/Extension/*.h", + "Watch/Bridge/*.h", + ])), + glob_sub_map("Watch/Extension/", glob([ + "Watch/Extension/SSignalKit/*.h", + ])), + glob_sub_map("Watch/", glob([ + "Watch/WatchCommonWatch/*.h", + ])), + ]), + compiler_flags = [ + "-DTARGET_OS_WATCH=1", + ], + configs = watch_extension_binary_configs(), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/UserNotifications.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + "$SDKROOT/System/Library/Frameworks/CoreGraphics.framework", + ], +) + +apple_bundle( + name = "WatchAppExtension", + binary = ":WatchAppExtensionBinary", + extension = "appex", + info_plist = "Watch/Extension/Info.plist", + info_plist_substitutions = watch_extension_info_plist_substitutions(), + xcode_product_type = "com.apple.product-type.watchkit2-extension", +) + +apple_resource( + name = "WatchAppResources", + dirs = [], + files = glob(["Watch/Extension/Resources/*.png"]) +) + +apple_asset_catalog( + name = "WatchAppAssets", + dirs = [ + "Watch/App/Assets.xcassets", + ], + app_icon = "AppIcon", + visibility = ["PUBLIC"], +) + +apple_resource( + name = "WatchAppInterface", + files = [ + "Watch/App/Base.lproj/Interface.storyboard", + ], + visibility = ["PUBLIC"], +) + +apple_resource( + name = "WatchAppStringResources", + files = [], + variants = glob([ + "Telegram-iOS/*.lproj/Localizable.strings", + ]), + visibility = ["PUBLIC"], +) + +apple_binary( + name = "WatchAppBinary", + configs = watch_binary_configs(), + deps = [ + ":WatchAppResources", + ":WatchAppAssets", + ":WatchAppInterface", + ":WatchAppStringResources", + ], +) + +apple_bundle( + name = "WatchApp", + binary = ":WatchAppBinary", + visibility = [ + "//:", + ], + extension = "app", + info_plist = "Watch/App/Info.plist", + info_plist_substitutions = watch_info_plist_substitutions(), + xcode_product_type = "com.apple.product-type.application.watchapp2", + deps = [ + ":WatchAppExtension", + ], +) + +# Package + +apple_package( + name = "AppPackage", + bundle = ":Telegram", ) xcode_workspace_config( name = "workspace", - workspace_name = "Telegram", - src_target = ":AppBinary", -) - -apple_bundle( - name = 'AppBundle', - extension = 'app', - binary = ':AppBinary', - product_name = 'Telegram', - info_plist = 'Telegram-iOS/Info.plist', - info_plist_substitutions = { - 'DEVELOPMENT_LANGUAGE': 'en-us', - 'APP_NAME': 'Telegram', - 'EXECUTABLE_NAME': 'Telegram', - 'PRODUCT_BUNDLE_IDENTIFIER': 'ph.telegra.Telegraph', - 'PRODUCT_NAME': 'Telegram', - 'APP_SPECIFIC_URL_SCHEME': 'tgapp', - 'VERSION': '5.8', - 'BUILD_NUMBER': BUILD_NUMBER, - }, -) - -apple_package( - name = 'AppPackage', - bundle = ':AppBundle', -) + workspace_name = "Telegram_Buck", + src_target = ":Telegram", +) \ No newline at end of file diff --git a/Config/BUCK b/Config/BUCK new file mode 100644 index 0000000000..babd7d22cd --- /dev/null +++ b/Config/BUCK @@ -0,0 +1,10 @@ +# This file can be depended upon for any apple_test_lib rules. +genrule( + name = "test_info_plist", + visibility = ["PUBLIC"], + srcs = [ + "BuckSupportFiles/TestInfo.plist", + ], + out = 'TestInfo.plist', + cmd = 'cp $SRCDIR/BuckSupportFiles/TestInfo.plist $OUT', +) diff --git a/Config/BuckSupportFiles/TestInfo.plist b/Config/BuckSupportFiles/TestInfo.plist new file mode 100644 index 0000000000..6c40a6cd0c --- /dev/null +++ b/Config/BuckSupportFiles/TestInfo.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/Config/app_configuration.bzl b/Config/app_configuration.bzl new file mode 100644 index 0000000000..dbc6f547a5 --- /dev/null +++ b/Config/app_configuration.bzl @@ -0,0 +1,20 @@ + +def appConfig(): + apiId = native.read_config("custom", "apiId") + apiHash = native.read_config("custom", "apiHash") + hockeyAppId = native.read_config("custom", "hockeyAppId") + isInternalBuild = native.read_config("custom", "isInternalBuild") + isAppStoreBuild = native.read_config("custom", "isAppStoreBuild") + appStoreId = native.read_config("custom", "appStoreId") + appSpecificUrlScheme = native.read_config("custom", "appSpecificUrlScheme") + buildNumber = native.read_config("custom", "buildNumber") + return { + "apiId": apiId, + "apiHash": apiHash, + "hockeyAppId": hockeyAppId, + "isInternalBuild": isInternalBuild, + "isAppStoreBuild": isAppStoreBuild, + "appStoreId": appStoreId, + "appSpecificUrlScheme": appSpecificUrlScheme, + "buildNumber": buildNumber, + } diff --git a/Config/buck_rule_macros.bzl b/Config/buck_rule_macros.bzl new file mode 100644 index 0000000000..c00d4a7bff --- /dev/null +++ b/Config/buck_rule_macros.bzl @@ -0,0 +1,282 @@ +load("//Config:configs.bzl", "library_configs", "dynamic_library_configs", "info_plist_substitutions") + +def apple_lib( + name, + visibility = ["PUBLIC"], + srcs = [], + headers = [], + exported_headers = [], + extra_xcode_files = [], + deps = [], + exported_deps = [], + additional_linker_flags = None, + frameworks = [], + swift_version = None, + modular = True, + compiler_flags = None, + platform_compiler_flags = None, + swift_compiler_flags = None, + warning_as_error = False, + suppress_warnings = False, + has_cpp = False, + framework = False): + swift_version = swift_version or native.read_config('swift', 'version') + swift_compiler_flags = swift_compiler_flags or [] + + if native.read_config("xcode", "beta") == "True": + warning_as_error = False + + if platform_compiler_flags != None: + if compiler_flags != None: + fail("compiler_flags and platform_compiler_flags are mutually exclusive") + compiler_flags = [] + for i in range(len(platform_compiler_flags)): + if warning_as_error: + platform_compiler_flags[i][1].append("-Werror") + elif suppress_warnings: + platform_compiler_flags[i][1].append("-w") + else: + compiler_flags = compiler_flags or [] + if warning_as_error: + compiler_flags.append("-Werror") + elif suppress_warnings: + compiler_flags.append("-w") + + if warning_as_error: + swift_compiler_flags.append("-warnings-as-errors") + elif suppress_warnings: + swift_compiler_flags.append("-suppress-warnings") + + if framework: + additional_linker_flags = additional_linker_flags or [] + if has_cpp: + linker_flags = [ + "-lc++", + "-lz" + ] + else: + linker_flags = [] + + if native.read_config("custom", "mode") == "project": + resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/lib%s.dylib" % (name)] + else: + resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/%s.framework/%s" % (name, name)] + native.apple_library( + name = name + "", + srcs = srcs, + header_namespace = name, + module_name = name, + soname = "lib" + name + ".dylib", + headers = headers, + exported_headers = exported_headers, + deps = deps, + exported_deps = exported_deps, + extra_xcode_files = extra_xcode_files, + frameworks = frameworks, + visibility = visibility, + swift_version = swift_version, + configs = dynamic_library_configs(), + modular = modular, + compiler_flags = compiler_flags, + platform_compiler_flags = platform_compiler_flags, + swift_compiler_flags = swift_compiler_flags, + preferred_linkage = "shared", + #link_style = "static", + linker_flags = resolved_linker_flags, + ) + else: + additional_linker_flags = additional_linker_flags or [] + if has_cpp: + linker_flags = [ + "-lc++", + "-lz" + ] + else: + linker_flags = [] + + resolved_exported_linker_flags = linker_flags + additional_linker_flags + native.apple_library( + name = name, + srcs = srcs, + headers = headers, + exported_headers = exported_headers, + deps = deps, + exported_deps = exported_deps, + exported_linker_flags = resolved_exported_linker_flags, + extra_xcode_files = extra_xcode_files, + frameworks = frameworks, + visibility = visibility, + swift_version = swift_version, + configs = library_configs(), + modular = modular, + compiler_flags = compiler_flags, + platform_compiler_flags = platform_compiler_flags, + swift_compiler_flags = swift_compiler_flags, + preferred_linkage = "static", + ) + +def static_library( + name, + visibility = ["PUBLIC"], + has_cpp = False, + srcs = [], + headers = [], + exported_headers = [], + extra_xcode_files = [], + deps = [], + additional_linker_flags = None, + frameworks = [], + info_plist = None, + info_plist_substitutions = {}, + modular = True, + compiler_flags = None, + platform_compiler_flags = None, + swift_compiler_flags = None, + warning_as_error = False, + suppress_warnings = True): + apple_lib( + name = name, + srcs = srcs, + has_cpp = has_cpp, + exported_headers = exported_headers, + headers = headers, + modular = modular, + compiler_flags = compiler_flags, + platform_compiler_flags = platform_compiler_flags, + swift_compiler_flags = swift_compiler_flags, + extra_xcode_files = extra_xcode_files, + deps = deps, + additional_linker_flags = additional_linker_flags, + frameworks = frameworks, + warning_as_error = warning_as_error, + suppress_warnings = suppress_warnings + ) + +def framework( + name, + visibility = ["PUBLIC"], + has_cpp = False, + srcs = [], + headers = [], + exported_headers = [], + extra_xcode_files = [], + deps = [], + exported_deps = [], + additional_linker_flags = None, + frameworks = [], + info_plist = None, + info_plist_substitutions = {}, + modular = True, + compiler_flags = None, + platform_compiler_flags = None, + swift_compiler_flags = None, + warning_as_error = False, + suppress_warnings = True): + apple_lib( + name = name, + srcs = srcs, + has_cpp = has_cpp, + exported_headers = exported_headers, + headers = headers, + modular = modular, + compiler_flags = compiler_flags, + platform_compiler_flags = platform_compiler_flags, + swift_compiler_flags = swift_compiler_flags, + extra_xcode_files = extra_xcode_files, + deps = deps, + exported_deps = exported_deps, + additional_linker_flags = additional_linker_flags, + frameworks = frameworks, + warning_as_error = warning_as_error, + suppress_warnings = suppress_warnings, + framework = True + ) + + +CXX_SRC_EXT = ["mm", "cpp", "S"] +def apple_cxx_lib( + srcs = [], + additional_exported_linker_flags = [], + **kwargs): + c_srcs, cxx_srcs = [], [] + + cxx_compile_flags = native.read_config("cxx", "cxxflags").split(" ") + cxx_compile_flags.append("-w") + + for file_ in srcs: + if file_.split(".")[-1] in CXX_SRC_EXT: + cxx_srcs.append((file_, cxx_compile_flags)) + else: + c_srcs.append(file_) + apple_lib( + srcs = c_srcs + cxx_srcs, + exported_linker_flags = [ + "-lc++", + "-lz" + ] + additional_exported_linker_flags, + **kwargs + ) + +def framework_binary_dependencies(names): + result = [] + for name in names: + result.append(name + "#shared") + return result + +def framework_bundle_dependencies(names): + result = [] + if native.read_config("custom", "mode") == "project": + for name in names: + pass + else: + for name in names: + result.append(name + "#shared") + return result + +def gen_header_targets(header_paths, prefix, flavor, source_rule, source_path): + result = dict() + for header_path in header_paths: + name = prefix + header_path.replace('/', '_sub_') + native.genrule( + name = name + flavor, + cmd = 'cp $(location :' + source_rule + ')/' + source_path + '/' + header_path + ' $OUT', + out = name, + ) + result[header_path] = ':' + name + flavor + return result + +def merge_maps(dicts): + result = dict() + for d in dicts: + for key in d: + if key in result and result[key] != d[key]: + fail( + "Conflicting files in file search paths. " + + "\"%s\" maps to both \"%s\" and \"%s\"." % + (key, result[key], d[key]), + ) + result.update(d) + return result + +def basename(p): + return p.rpartition("/")[-1] + +def glob_map(glob_results): + result = dict() + for path in glob_results: + file_name = basename(path) + if file_name in result: + fail('\"%s\" maps to both \"%s\" and \"%s\"' % (file_name, result[file_name], path)) + result[file_name] = path + return result + +def glob_sub_map(prefix, glob_specs): + result = dict() + for path in native.glob(glob_specs): + if not path.startswith(prefix): + fail('\"%s\" does not start with \"%s\"' % (path, prefix)) + file_key = path[len(prefix):] + if file_key in result: + fail('\"%s\" maps to both \"%s\" and \"%s\"' % (file_key, result[file_key], path)) + result[file_key] = path + return result diff --git a/Config/configs.bzl b/Config/configs.bzl new file mode 100644 index 0000000000..5ef6de43d9 --- /dev/null +++ b/Config/configs.bzl @@ -0,0 +1,457 @@ +load("//Config:utils.bzl", "config_with_updated_linker_flags", "configs_with_config") +load("//Config:app_configuration.bzl", "appConfig") + +DEVELOPMENT_LANGUAGE = "en" + +def merge_dict(a, b): + d = {} + d.update(a) + d.update(b) + return d + +def pretty(dict, current = ""): + current = "\n" + indent = 0 + for key, value in dict.items(): + current = current + str(key) + ": " + if type(value) == type({}): + current = current + "\n" + indent = 1 + for key2, value2 in value.items(): + current = current + "\t" * indent + str(key2) + current = current + ": " + str(value2) + "\n" + else: + current = current + "\t" * (indent + 1) + str(value) + "\n" + + return current + +SHARED_CONFIGS = { + "IPHONEOS_DEPLOYMENT_TARGET": "8.0", + "SDKROOT": "iphoneos", + "GCC_OPTIMIZATION_LEVEL": "0", + "SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO", + "ONLY_ACTIVE_ARCH": "YES", + "LD_RUNPATH_SEARCH_PATHS": "@executable_path/Frameworks", + "ENABLE_BITCODE": "NO", +} + +def optimization_config(): + return { + "SWIFT_OPTIMIZATION_LEVEL": native.read_config("custom", "optimization"), + } + +# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004. +ALL_LOAD_LINKER_FLAG = "-all_load" + +def read_config_nonempty(name): + value = native.read_config("custom", name) + if value == None: + fail("Configuration paramter custom.%s should be defined" % name) + elif len(value) == 0: + fail("Configuration paramter custom.%s should not be empty" % name) + else: + return value + +def get_codesign_identity(environment): + if environment == "development": + return read_config_nonempty("developmentCodeSignIdentity") + elif environment == "distribution": + return read_config_nonempty("distributionCodeSignIdentity") + else: + fail("Unknown environment " + environment) + +def get_provisioning_profile(environment, type): + if type == "app": + return read_config_nonempty(environment + "ProvisioningProfileApp") + elif type == "share": + return read_config_nonempty(environment + "ProvisioningProfileExtensionShare") + elif type == "widget": + return read_config_nonempty(environment + "ProvisioningProfileExtensionWidget") + elif type == "notification_service": + return read_config_nonempty(environment + "ProvisioningProfileExtensionNotificationService") + elif type == "notification_content": + return read_config_nonempty(environment + "ProvisioningProfileExtensionNotificationContent") + elif type == "intents": + return read_config_nonempty(environment + "ProvisioningProfileExtensionIntents") + elif type == "watch_app": + return read_config_nonempty(environment + "ProvisioningProfileWatchApp") + elif type == "watch_extension": + return read_config_nonempty(environment + "ProvisioningProfileWatchExtension") + else: + fail("Unknown provisioning profile type " + type) + +def get_development_team(): + return read_config_nonempty("developmentTeam") + +def add_item_to_subdict(superdict, key, subkey, item): + subdict = dict(superdict[key]) + subdict[subkey] = item + superdict[key] = subdict + +valid_configurations = ["Debug", "Profile", "Release"] + +def add_provisioning_profile_specifier(configs, type): + for configuration in configs: + if configuration not in valid_configurations: + fail("Unknown configuration " + configuration) + + configs = dict(configs) + for configuration in valid_configurations: + if configuration == "Debug": + add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="development", type=type)) + elif configuration == "Profile": + add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="development", type=type)) + elif configuration == "Release": + add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="distribution", type=type)) + return configs + +def add_codesign_identity(configs): + for configuration in configs: + if configuration not in valid_configurations: + fail("Unknown configuration " + configuration) + + configs = dict(configs) + for configuration in valid_configurations: + if configuration == "Debug": + add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="development")) + elif configuration == "Profile": + add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="development")) + elif configuration == "Release": + add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="distribution")) + return configs + +def get_codesign_entitlements(type): + if type == "app": + return read_config_nonempty("entitlementsApp") + elif type == "share": + return read_config_nonempty("entitlementsExtensionShare") + elif type == "widget": + return read_config_nonempty("entitlementsExtensionWidget") + elif type == "notification_service": + return read_config_nonempty("entitlementsExtensionNotificationService") + elif type == "notification_content": + return read_config_nonempty("entitlementsExtensionNotificationContent") + elif type == "intents": + return read_config_nonempty("entitlementsExtensionIntents") + else: + fail("unknown provisioning profile type") + +def get_build_number(): + return read_config_nonempty("buildNumber") + +def bundle_identifier(suffix): + return read_config_nonempty("baseApplicationBundleId") + suffix + +def library_configs(): + lib_specific_config = { + "SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO", + + # Setting SKIP_INSTALL to NO for static library configs would create + # create a generic xcode archive which can not be uploaded the app store + # https://developer.apple.com/library/archive/technotes/tn2215/_index.html + "SKIP_INSTALL": "YES", + } + library_config = merge_dict(SHARED_CONFIGS, lib_specific_config) + library_config = merge_dict(library_config, optimization_config()) + configs = { + "Debug": library_config, + "Profile": library_config, + "Release": library_config, + } + return configs + +def dynamic_library_configs(): + lib_specific_config = { + "SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO", + + # Setting SKIP_INSTALL to NO for static library configs would create + # create a generic xcode archive which can not be uploaded the app store + # https://developer.apple.com/library/archive/technotes/tn2215/_index.html + "SKIP_INSTALL": "YES", + "MACH_O_TYPE": "mh_dylib", + "CODE_SIGNING_ALLOWED": "NO", + } + + library_config = merge_dict(SHARED_CONFIGS, lib_specific_config) + library_config = merge_dict(library_config, optimization_config()) + #library_config = config_with_updated_linker_flags(library_config, ALL_LOAD_LINKER_FLAG) + configs = { + "Debug": library_config, + "Profile": library_config, + "Release": library_config, + } + return configs + +def app_binary_configs(): + config = { + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "YES", + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""), + "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("app"), + "DEVELOPMENT_TEAM": get_development_team(), + "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon", + "BUILD_NUMBER": get_build_number(), + "APP_NAME": "Telegram", + "PRODUCT_NAME": "Telegram", + "TARGETED_DEVICE_FAMILY": "1,2", + } + config = merge_dict(SHARED_CONFIGS, config) + config = merge_dict(config, optimization_config()) + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "app") + configs = add_codesign_identity(configs) + return configs + +def share_extension_configs(): + config = { + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO", + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Share"), + "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("share"), + "DEVELOPMENT_TEAM": get_development_team(), + "BUILD_NUMBER": get_build_number(), + "APP_NAME": "Telegram", + "PRODUCT_NAME": "ShareExtension", + } + config = merge_dict(SHARED_CONFIGS, config) + config = merge_dict(config, optimization_config()) + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "share") + configs = add_codesign_identity(configs) + return configs + +def widget_extension_configs(): + config = { + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO", + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Widget"), + "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("widget"), + "DEVELOPMENT_TEAM": get_development_team(), + "BUILD_NUMBER": get_build_number(), + "APP_NAME": "Telegram", + "PRODUCT_NAME": "WidgetExtension", + } + config = merge_dict(SHARED_CONFIGS, config) + config = merge_dict(config, optimization_config()) + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "widget") + configs = add_codesign_identity(configs) + return configs + +def notification_content_extension_configs(): + config = { + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO", + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationContent"), + "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("notification_content"), + "DEVELOPMENT_TEAM": get_development_team(), + "BUILD_NUMBER": get_build_number(), + "APP_NAME": "Telegram", + "PRODUCT_NAME": "NotificationContentExtension", + } + config = merge_dict(SHARED_CONFIGS, config) + config = merge_dict(config, optimization_config()) + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "notification_content") + configs = add_codesign_identity(configs) + return configs + +def notification_service_extension_configs(): + config = { + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO", + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationService"), + "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("notification_service"), + "DEVELOPMENT_TEAM": get_development_team(), + "BUILD_NUMBER": get_build_number(), + "APP_NAME": "Telegram", + "PRODUCT_NAME": "NotificationServiceExtension", + } + config = merge_dict(SHARED_CONFIGS, config) + config = merge_dict(config, optimization_config()) + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "notification_service") + configs = add_codesign_identity(configs) + return configs + +def intents_extension_configs(): + config = { + "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO", + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".SiriIntents"), + "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("intents"), + "DEVELOPMENT_TEAM": get_development_team(), + "BUILD_NUMBER": get_build_number(), + "APP_NAME": "Telegram", + "PRODUCT_NAME": "IntentsExtension", + } + config = merge_dict(SHARED_CONFIGS, config) + config = merge_dict(config, optimization_config()) + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "intents") + configs = add_codesign_identity(configs) + return configs + +def watch_extension_binary_configs(): + config = { + "SDKROOT": "watchos", + "WATCHOS_DEPLOYMENT_TARGET": "4.0", + "TARGETED_DEVICE_FAMILY": "4", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp.watchkitextension"), + "DEVELOPMENT_TEAM": get_development_team(), + "LD_RUNPATH_SEARCH_PATHS": "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks", + "WK_COMPANION_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""), + "WK_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"), + "APP_NAME": "Telegram", + "APP_BUNDLE_ID": bundle_identifier(suffix=""), + "BUILD_NUMBER": get_build_number(), + "ENABLE_BITCODE": "YES", + } + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "watch_extension") + configs = add_codesign_identity(configs) + return configs + +def watch_binary_configs(): + config = { + "SDKROOT": "watchos", + "WATCHOS_DEPLOYMENT_TARGET": "4.0", + "TARGETED_DEVICE_FAMILY": "4", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"), + "DEVELOPMENT_TEAM": get_development_team(), + "LD_RUNPATH_SEARCH_PATHS": "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks", + "WK_COMPANION_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""), + "WK_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"), + "APP_NAME": "Telegram", + "APP_BUNDLE_ID": bundle_identifier(suffix=""), + "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon", + "BUILD_NUMBER": get_build_number(), + "ENABLE_BITCODE": "YES", + } + config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG) + configs = configs_with_config(config) + configs = add_provisioning_profile_specifier(configs, "watch_app") + configs = add_codesign_identity(configs) + return configs + +def info_plist_substitutions(name): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": name, + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(name), + "PRODUCT_NAME": name, + "CURRENT_PROJECT_VERSION": "1", + } + return substitutions + +def app_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "Telegram", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""), + "PRODUCT_NAME": "Telegram", + "APP_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"], + "BUILD_NUMBER": get_build_number(), + "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon", + "TARGETED_DEVICE_FAMILY": "1,2", + } + return substitutions + +def share_extension_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "ShareExtension", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Share"), + "PRODUCT_NAME": "Share", + "APP_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"], + "BUILD_NUMBER": get_build_number(), + } + return substitutions + +def widget_extension_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "WidgetExtension", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Widget"), + "PRODUCT_NAME": "Widget", + "APP_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"], + "BUILD_NUMBER": get_build_number(), + } + return substitutions + +def notification_content_extension_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "NotificationContentExtension", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationContent"), + "PRODUCT_NAME": "Telegram", + "APP_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "BUILD_NUMBER": get_build_number(), + } + return substitutions + +def notification_service_extension_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "NotificationServiceExtension", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationService"), + "PRODUCT_NAME": "Telegram", + "APP_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "BUILD_NUMBER": get_build_number(), + } + return substitutions + +def intents_extension_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "IntentsExtension", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".SiriIntents"), + "PRODUCT_NAME": "Telegram", + "APP_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"], + "BUILD_NUMBER": get_build_number(), + "PRODUCT_MODULE_NAME": "SiriIntents", + } + return substitutions + +def watch_extension_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "WatchAppExtension", + "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp.watchkitextension"), + "APP_NAME": "Telegram", + "APP_BUNDLE_ID": bundle_identifier(suffix=""), + "PRODUCT_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "BUILD_NUMBER": get_build_number(), + } + return substitutions + +def watch_info_plist_substitutions(): + substitutions = { + "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE, + "EXECUTABLE_NAME": "WatchApp", + "PRODUCT_BUNDLE_IDENTIFIER":bundle_identifier(suffix=".watchkitapp"), + "APP_NAME": "Telegram", + "APP_BUNDLE_ID": bundle_identifier(suffix=""), + "PRODUCT_NAME": "Telegram", + "CURRENT_PROJECT_VERSION": "1", + "BUILD_NUMBER": get_build_number(), + } + return substitutions diff --git a/Config/utils.bzl b/Config/utils.bzl new file mode 100644 index 0000000000..bb2b6c70f4 --- /dev/null +++ b/Config/utils.bzl @@ -0,0 +1,35 @@ +OTHER_LINKER_FLAGS_KEY = 'OTHER_LDFLAGS' + +def configs_with_config(config): + return { + "Debug": config, + "Profile": config, + "Release": config, + } + +def configs_with_updated_linker_flags(configs, other_linker_flags): + if other_linker_flags == None: + return configs + else: + updated_configs = { } + for build_configuration in configs: + updated_configs[build_configuration] = config_with_updated_linker_flags( + configs[build_configuration], + other_linker_flags) + return updated_configs + +def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHER_LINKER_FLAGS_KEY): + new_config = { } + config_key_found = False + for key in config: + if key == config_key: + new_config[key] = config[key] + (" %s" % other_linker_flags) + config_key_found = True + else: + new_config[key] = config[key] + + if config_key_found == False: + # If `config` does not currently contain `config_key`, add it. Inherit for good measure. + new_config[config_key] = '$(inherited) ' + other_linker_flags + + return new_config diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..2bf1da1109 --- /dev/null +++ b/Makefile @@ -0,0 +1,264 @@ +.PHONY : check_env build build_arm64 build_debug_arm64 package package_arm64 app app_arm64 app_debug_arm64 build_buckdebug build_verbose kill_xcode clean project project_buckdebug temp + + +BUCK_DEBUG_OPTIONS=\ + --config custom.other_cflags="-O0 -D DEBUG" \ + --config custom.other_cxxflags="-O0 -D DEBUG" \ + --config custom.optimization="-Onone" \ + --config custom.config_swift_compiler_flags="" + +BUCK_RELEASE_OPTIONS=\ + --config custom.other_cflags="-Os" \ + --config custom.other_cxxflags="-Os" \ + --config custom.optimization="-O" \ + --config custom.config_swift_compiler_flags="-whole-module-optimization" + +BUCK_OPTIONS=\ + --config custom.developmentCodeSignIdentity="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \ + --config custom.distributionCodeSignIdentity="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \ + --config custom.developmentTeam="${DEVELOPMENT_TEAM}" \ + --config custom.baseApplicationBundleId="${BUNDLE_ID}" \ + --config custom.apiId="${API_ID}" \ + --config custom.apiHash="${API_HASH}" \ + --config custom.hockeyAppId="${HOCKEYAPP_ID}" \ + --config custom.isInternalBuild="${IS_INTERNAL_BUILD}" \ + --config custom.isAppStoreBuild="${IS_APPSTORE_BUILD}" \ + --config custom.appStoreId="${APPSTORE_ID}" \ + --config custom.appSpecificUrlScheme="${APP_SPECIFIC_URL_SCHEME}" \ + --config custom.buildNumber="${BUILD_NUMBER}" \ + --config custom.entitlementsApp="${ENTITLEMENTS_APP}" \ + --config custom.developmentProvisioningProfileApp="${DEVELOPMENT_PROVISIONING_PROFILE_APP}" \ + --config custom.distributionProvisioningProfileApp="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \ + --config custom.entitlementsExtensionShare="${ENTITLEMENTS_EXTENSION_SHARE}" \ + --config custom.developmentProvisioningProfileExtensionShare="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE}" \ + --config custom.distributionProvisioningProfileExtensionShare="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \ + --config custom.entitlementsExtensionWidget="${ENTITLEMENTS_EXTENSION_WIDGET}" \ + --config custom.developmentProvisioningProfileExtensionWidget="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \ + --config custom.distributionProvisioningProfileExtensionWidget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \ + --config custom.entitlementsExtensionNotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \ + --config custom.developmentProvisioningProfileExtensionNotificationService="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \ + --config custom.distributionProvisioningProfileExtensionNotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \ + --config custom.entitlementsExtensionNotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \ + --config custom.developmentProvisioningProfileExtensionNotificationContent="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \ + --config custom.distributionProvisioningProfileExtensionNotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \ + --config custom.entitlementsExtensionIntents="${ENTITLEMENTS_EXTENSION_INTENTS}" \ + --config custom.developmentProvisioningProfileExtensionIntents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \ + --config custom.distributionProvisioningProfileExtensionIntents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \ + --config custom.developmentProvisioningProfileWatchApp="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \ + --config custom.distributionProvisioningProfileWatchApp="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \ + --config custom.developmentProvisioningProfileWatchExtension="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \ + --config custom.distributionProvisioningProfileWatchExtension="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" + +BUCK_THREADS_OPTIONS=--config build.threads=$(shell sysctl -n hw.logicalcpu) + +BUCK_CACHE_OPTIONS= + +ifneq ($(BUCK_HTTP_CACHE),) + ifeq ($(BUCK_CACHE_MODE),) + BUCK_CACHE_MODE=readwrite + endif + BUCK_CACHE_OPTIONS=\ + --config cache.mode=http \ + --config cache.http_url="$(BUCK_HTTP_CACHE)" \ + --config cache.http_mode="$(BUCK_CACHE_MODE)" +endif + +check_env: +ifndef BUCK + $(error BUCK is not set) +endif + sh check_env.sh + +build_arm64: check_env + $(BUCK) build \ + //:AppPackage#iphoneos-arm64 \ + //:Telegram#dwarf-and-dsym,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \ + //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Display:Display#shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \ + //:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \ + //:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \ + ${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS} + +build_debug_arm64: check_env + $(BUCK) build \ + //:AppPackage#iphoneos-arm64 \ + //:Telegram#dwarf-and-dsym,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \ + //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Display:Display#shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \ + //:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \ + //:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \ + ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS} + +build: check_env + $(BUCK) build \ + //:AppPackage#iphoneos-arm64,iphoneos-armv7 \ + //:Telegram#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \ + //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/Postbox:Postbox#shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/Display:Display#shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \ + //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64,iphoneos-armv7 \ + //:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \ + //:ShareExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \ + //:WidgetExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \ + //:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \ + //:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \ + //:IntentsExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \ + ${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS} + +package_arm64: + PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \ + PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \ + PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \ + PACKAGE_ENTITLEMENTS_APP="${ENTITLEMENTS_APP}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_Share="${ENTITLEMENTS_EXTENSION_SHARE}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_Widget="${ENTITLEMENTS_EXTENSION_WIDGET}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \ + PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \ + PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \ + PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \ + sh package_app.sh iphoneos-arm64 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS} + +package: + PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \ + PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \ + PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \ + PACKAGE_ENTITLEMENTS_APP="${ENTITLEMENTS_APP}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_Share="${ENTITLEMENTS_EXTENSION_SHARE}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_Widget="${ENTITLEMENTS_EXTENSION_WIDGET}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \ + PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \ + PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \ + PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \ + PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \ + PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \ + sh package_app.sh iphoneos-arm64,iphoneos-armv7 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS} + +app: build package + +app_arm64: build_arm64 package_arm64 + +app_debug_arm64: build_debug_arm64 package_arm64 + +build_buckdebug: check_env + BUCK_DEBUG_MODE=1 $(BUCK) build \ + //:AppPackage#iphoneos-arm64 \ + //:Telegram#dwarf-and-dsym,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \ + //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Display:Display#shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \ + //:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \ + //:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \ + --verbose 7 ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} + +build_verbose: check_env + $(BUCK) build \ + //:AppPackage#iphoneos-arm64 \ + //:Telegram#dwarf-and-dsym,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Postbox:Postbox#shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \ + //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/Display:Display#shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \ + //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \ + //:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \ + //:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \ + //:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \ + --verbose 8 ${BUCK_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_DEBUG_OPTIONS} + +kill_xcode: + killall Xcode || true + +clean: kill_xcode + sh clean.sh + +project: check_env kill_xcode + $(BUCK) project //:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} + open Telegram_Buck.xcworkspace + +project_buckdebug: check_env kill_xcode + BUCK_DEBUG_MODE=1 $(BUCK) project //:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} + open Telegram_Buck.xcworkspace + +temp_project: check_env kill_xcode + $(BUCK) project //Temp:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} + open Temp/Telegram_Buck.xcworkspace diff --git a/NotificationContent/ChatHistoryFragmentView.swift b/NotificationContent/ChatHistoryFragmentView.swift deleted file mode 100644 index c252aa9651..0000000000 --- a/NotificationContent/ChatHistoryFragmentView.swift +++ /dev/null @@ -1,260 +0,0 @@ -import Foundation -import Display -import TelegramCore -import TelegramUI -import Postbox -import SwiftSignalKit - -private let accountCache = Atomic<[AccountRecordId: Account]>(value: [:]) - -private struct ChatHistoryFragmentEntry: Comparable, Identifiable { - let message: Message - let read: Bool - - var stableId: UInt32 { - return self.message.stableId - } -} - -private func==(lhs: ChatHistoryFragmentEntry, rhs: ChatHistoryFragmentEntry) -> Bool { - if MessageIndex(lhs.message) == MessageIndex(rhs.message) && lhs.message.flags == rhs.message.flags { - if lhs.message.media.count != rhs.message.media.count { - return false - } - if lhs.read != rhs.read { - return false - } - for i in 0 ..< lhs.message.media.count { - if !lhs.message.media[i].isEqual(rhs.message.media[i]) { - return false - } - } - return true - } else { - return false - } -} - -private func <(lhs: ChatHistoryFragmentEntry, rhs: ChatHistoryFragmentEntry) -> Bool { - return MessageIndex(lhs.message) < MessageIndex(rhs.message) -} - -private final class ChatHistoryFragmentDisplayItem { - fileprivate let item: ListViewItem - fileprivate var node: ListViewItemNode? - - init(item: ListViewItem) { - self.item = item - } - - init(item: ListViewItem, node: ListViewItemNode?) { - self.item = item - self.node = node - } -} - -final class ChatHistoryFragmentView: UIView { - private let sizeUpdated: (CGSize) -> Void - - private var layoutWidth: CGFloat? - private var displayItems: [ChatHistoryFragmentDisplayItem] = [] - - private let disposable = MetaDisposable() - - let account = Promise() - - init(peerId: PeerId, width: CGFloat, sizeUpdated: @escaping (CGSize) -> Void) { - self.sizeUpdated = sizeUpdated - self.layoutWidth = width - - super.init(frame: CGRect()) - - /*let appBundleIdentifier = Bundle.main.bundleIdentifier! - guard let lastDotRange = appBundleIdentifier.range(of: ".", options: [.backwards]) else { - return - } - - let appGroupName = "group.\(appBundleIdentifier.substring(to: lastDotRange.lowerBound))" - let maybeAppGroupUrl = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupName) - - guard let appGroupUrl = maybeAppGroupUrl else { - return - } - - let accountPromise = self.account - - let accountId = currentAccountId(appGroupPath: appGroupUrl.path, testingEnvironment: false) - - let authorizedAccount: Signal - let cachedAccount = accountCache.with { dict -> Account? in - if let account = dict[accountId] { - return account - } else { - return nil - } - } - if let cachedAccount = cachedAccount { - authorizedAccount = .single(cachedAccount) - } else { - authorizedAccount = accountWithId(accountId, appGroupPath: appGroupUrl.path, logger: .named("notification-content"), testingEnvironment: false) |> mapToSignal { account -> Signal in - switch account { - case .left: - return .complete() - case let .right(authorizedAccount): - setupAccount(authorizedAccount) - let _ = accountCache.modify { dict in - var dict = dict - dict[accountId] = authorizedAccount - return dict - } - return .single(authorizedAccount) - } - } - } - - let view = authorizedAccount - |> take(1) - |> mapToSignal { account -> Signal<(Account, MessageHistoryView, ViewUpdateType), NoError> in - accountPromise.set(.single(account)) - account.stateManager.reset() - account.shouldBeServiceTaskMaster.set(.single(.now)) - let view = account.viewTracker.aroundMessageHistoryViewForPeerId(peerId, index: MessageIndex.upperBound(peerId: peerId), count: 20, anchorIndex: MessageIndex.upperBound(peerId: peerId), fixedCombinedReadStates: nil, tagMask: nil) - |> map { view, updateType, _ -> (Account, MessageHistoryView, ViewUpdateType) in - return (account, view, updateType) - } - return view - } - - let previousEntries = Atomic<[ChatHistoryFragmentEntry]>(value: []) - - let controllerInteraction = ChatControllerInteraction(openMessage: { _ in }, openSecretMessagePreview: { _ in }, closeSecretMessagePreview: { }, openPeer: { _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _ in }, navigateToMessage: { _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _ in }, sendMessage: { _ in }, sendSticker: { _ in }, requestMessageActionCallback: { _ in }, openUrl: { _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _ in }, openHashtag: { _ in }, updateInputState: { _ in }) - - let messages = view - |> map { (account, view, viewUpdateType) -> (Account, [ChatHistoryFragmentEntry], [Int: Int]) in - var entries: [ChatHistoryFragmentEntry] = [] - for entry in view.entries.reversed() { - switch entry { - case let .MessageEntry(message, read, _): - entries.append(ChatHistoryFragmentEntry(message: message, read: read)) - default: - break - } - } - - var previousIndices: [Int: Int] = [:] - let _ = previousEntries.modify { previousEntries in - var index = 0 - for entry in entries { - var previousIndex = 0 - for previousEntry in previousEntries { - if previousEntry.stableId == entry.stableId { - previousIndices[index] = previousIndex - break - } - previousIndex += 1 - } - index += 1 - } - - return entries - } - - return (account, entries, previousIndices) - } - - let displayItems = messages - |> map { (account, messages, previousIndices) -> ([ChatHistoryFragmentDisplayItem], [Int: Int]) in - var result: [ChatHistoryFragmentDisplayItem] = [] - for entry in messages { - result.append(ChatHistoryFragmentDisplayItem(item: ChatMessageItem(account: account, peerId: peerId, controllerInteraction: controllerInteraction, message: entry.message, read: entry.read))) - } - return (result, previousIndices) - } - - let semaphore = DispatchSemaphore(value: 0) - var resultItems: [ChatHistoryFragmentDisplayItem]? - disposable.set(displayItems.start(next: { [weak self] (displayItems, previousIndices) in - if resultItems == nil { - resultItems = displayItems - semaphore.signal() - } else { - Queue.mainQueue().async { - if let strongSelf = self { - var updatedDisplayItems: [ChatHistoryFragmentDisplayItem] = [] - for i in 0 ..< displayItems.count { - if let previousIndex = previousIndices[i] { - updatedDisplayItems.append(ChatHistoryFragmentDisplayItem(item: displayItems[i].item, node: strongSelf.displayItems[previousIndex].node)) - } else { - updatedDisplayItems.append(displayItems[i]) - } - } - let previousIndexSet = Set(previousIndices.values) - for i in 0 ..< strongSelf.displayItems.count { - if !previousIndexSet.contains(i) { - strongSelf.displayItems[i].node?.removeFromSupernode() - } - } - strongSelf.displayItems = updatedDisplayItems - if let layoutWidth = strongSelf.layoutWidth { - strongSelf.updateDisplayItems(width: layoutWidth) - } - } - } - } - })) - semaphore.wait() - if let resultItems = resultItems { - self.displayItems = resultItems - } - if let layoutWidth = self.layoutWidth { - self.updateDisplayItems(width: layoutWidth) - }*/ - } - - required init?(coder aDecoder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - deinit { - self.disposable.dispose() - } - - private func updateDisplayItems(width: CGFloat) { - for i in 0 ..< self.displayItems.count { - if let node = self.displayItems[i].node { - self.displayItems[i].item.updateNode(async: { $0() }, node: node, width: width, previousItem: i == 0 ? nil : self.displayItems[i - 1].item, nextItem: i == self.displayItems.count - 1 ? nil : self.displayItems[i + 1].item, animation: .None, completion: { layout, apply in - node.insets = layout.insets - node.contentSize = layout.contentSize - apply() - }) - node.layoutForWidth(width, item: self.displayItems[i].item, previousItem: i == 0 ? nil : self.displayItems[i - 1].item, nextItem: i == self.displayItems.count - 1 ? nil : self.displayItems[i + 1].item) - } else { - self.displayItems[i].item.nodeConfiguredForWidth(async: { $0() }, width: width, previousItem: i == 0 ? nil : self.displayItems[i - 1].item, nextItem: i == self.displayItems.count - 1 ? nil : self.displayItems[i + 1].item, completion: { node, apply in - apply() - self.displayItems[i].node = node - self.addSubnode(node) - }) - } - } - - var verticalOffset: CGFloat = 4.0 - for displayItem in self.displayItems { - if let node = displayItem.node { - node.frame = CGRect(origin: CGPoint(x: 0.0, y: verticalOffset), size: node.layout.size) - verticalOffset += node.layout.size.height - } - } - - let displaySize = CGSize(width: width, height: verticalOffset + 4.0) - self.sizeUpdated(displaySize) - } - - override func layoutSubviews() { - super.layoutSubviews() - - if self.layoutWidth != self.bounds.size.width { - self.layoutWidth = self.bounds.size.width - self.updateDisplayItems(width: self.bounds.size.width) - } - } -} diff --git a/NotificationContent/Info.plist b/NotificationContent/Info.plist index 63a5db75f2..f982785438 100644 --- a/NotificationContent/Info.plist +++ b/NotificationContent/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} NSExtension diff --git a/NotificationContent/NotificationViewController.swift b/NotificationContent/NotificationViewController.swift index 2c901bb4a2..f08edd06a7 100644 --- a/NotificationContent/NotificationViewController.swift +++ b/NotificationContent/NotificationViewController.swift @@ -5,6 +5,7 @@ import TelegramUI import BuildConfig @objc(NotificationViewController) +@available(iOSApplicationExtension 10.0, *) class NotificationViewController: UIViewController, UNNotificationContentExtension { private var impl: NotificationViewControllerImpl? diff --git a/NotificationService/Attachments.m b/NotificationService/Attachments.m index e0a86247ba..29d498dc2d 100644 --- a/NotificationService/Attachments.m +++ b/NotificationService/Attachments.m @@ -1,6 +1,11 @@ #import "Attachments.h" -#import +#ifdef BUCK +#import +#else +#import +#endif + #import "Api.h" id _Nullable parseAttachment(NSData * _Nonnull data) { diff --git a/NotificationService/FetchImage.m b/NotificationService/FetchImage.m index 8a1e8921a5..4726cf52ec 100644 --- a/NotificationService/FetchImage.m +++ b/NotificationService/FetchImage.m @@ -1,6 +1,10 @@ #import "FetchImage.h" +#ifdef BUCK +#import +#else #import +#endif #import "Serialization.h" diff --git a/NotificationService/Info.plist b/NotificationService/Info.plist index 14cecfaf70..b9f2e746f9 100644 --- a/NotificationService/Info.plist +++ b/NotificationService/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} NSExtension @@ -27,5 +27,7 @@ NSExtensionPrincipalClass NotificationService + MinimumOSVersion + 10.0 diff --git a/NotificationService/Serialization.h b/NotificationService/Serialization.h index f08453b3f3..d2beb976d6 100644 --- a/NotificationService/Serialization.h +++ b/NotificationService/Serialization.h @@ -1,5 +1,10 @@ #import + +#ifdef BUCK +#import +#else #import +#endif NS_ASSUME_NONNULL_BEGIN diff --git a/NotificationService/Serialization.m b/NotificationService/Serialization.m index a10db76cba..6f6f9191a5 100644 --- a/NotificationService/Serialization.m +++ b/NotificationService/Serialization.m @@ -3,7 +3,7 @@ @implementation Serialization - (NSUInteger)currentLayer { - return 105; + return 106; } - (id _Nullable)parseMessage:(NSData * _Nullable)data { diff --git a/NotificationService/StoredAccountInfos.m b/NotificationService/StoredAccountInfos.m index bdfeb05095..4f60eac49b 100644 --- a/NotificationService/StoredAccountInfos.m +++ b/NotificationService/StoredAccountInfos.m @@ -1,6 +1,11 @@ #import "StoredAccountInfos.h" -#import +#ifdef BUCK +#import +#else +#import +#endif + #import @implementation AccountNotificationKey diff --git a/Share/Info.plist b/Share/Info.plist index 9ce95e61f2..21a471347b 100644 --- a/Share/Info.plist +++ b/Share/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} NSExtension diff --git a/SiriIntents/Info.plist b/SiriIntents/Info.plist index ff9f035c1e..d6b99942eb 100644 --- a/SiriIntents/Info.plist +++ b/SiriIntents/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} NSExtension diff --git a/SiriIntents/IntentContacts.swift b/SiriIntents/IntentContacts.swift index 8b5182c44b..79aa8d3506 100644 --- a/SiriIntents/IntentContacts.swift +++ b/SiriIntents/IntentContacts.swift @@ -45,6 +45,7 @@ private func cleanPhoneNumber(_ text: String) -> String { return result } +@available(iOSApplicationExtension 10.0, *) func matchingDeviceContacts(stableIds: [String]) -> Signal<[MatchingDeviceContact], IntentContactsError> { guard CNContactStore.authorizationStatus(for: .contacts) == .authorized else { return .fail(.generic) @@ -118,6 +119,7 @@ func matchingCloudContact(postbox: Postbox, peerId: PeerId) -> Signal INPerson { var nameComponents = PersonNameComponents() nameComponents.givenName = user.firstName diff --git a/SiriIntents/IntentHandler.swift b/SiriIntents/IntentHandler.swift index 1e3b901f9a..740f539ecb 100644 --- a/SiriIntents/IntentHandler.swift +++ b/SiriIntents/IntentHandler.swift @@ -47,6 +47,7 @@ enum IntentHandlingError { case generic } +@available(iOSApplicationExtension 10.0, *) class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessagesIntentHandling, INSetMessageAttributeIntentHandling, INStartAudioCallIntentHandling, INSearchCallHistoryIntentHandling { private let accountPromise = Promise() diff --git a/SiriIntents/IntentMessages.swift b/SiriIntents/IntentMessages.swift index f3f0042f1e..8f419a8cc2 100644 --- a/SiriIntents/IntentMessages.swift +++ b/SiriIntents/IntentMessages.swift @@ -16,6 +16,7 @@ extension MessageId { } } +@available(iOSApplicationExtension 10.0, *) func getMessages(account: Account, ids: [MessageId]) -> Signal<[INMessage], NoError> { return account.postbox.transaction { transaction -> [INMessage] in var messages: [INMessage] = [] @@ -28,6 +29,7 @@ func getMessages(account: Account, ids: [MessageId]) -> Signal<[INMessage], NoEr } } +@available(iOSApplicationExtension 10.0, *) func unreadMessages(account: Account) -> Signal<[INMessage], NoError> { return account.postbox.tailChatListView(groupId: .root, count: 20, summaryComponents: ChatListEntrySummaryComponents()) |> take(1) @@ -86,6 +88,7 @@ func unreadMessages(account: Account) -> Signal<[INMessage], NoError> { } } +@available(iOSApplicationExtension 10.0, *) struct CallRecord { let identifier: String let date: Date @@ -99,6 +102,7 @@ struct CallRecord { } } +@available(iOSApplicationExtension 10.0, *) func missedCalls(account: Account) -> Signal<[CallRecord], NoError> { return account.viewTracker.callListView(type: .missed, index: MessageIndex.absoluteUpperBound(), count: 30) |> take(1) @@ -120,6 +124,7 @@ func missedCalls(account: Account) -> Signal<[CallRecord], NoError> { } } +@available(iOSApplicationExtension 10.0, *) private func callWithTelegramMessage(_ telegramMessage: Message, account: Account) -> CallRecord? { guard let author = telegramMessage.author, let user = telegramMessage.peers[author.id] as? TelegramUser else { return nil @@ -158,6 +163,7 @@ private func callWithTelegramMessage(_ telegramMessage: Message, account: Accoun return CallRecord(identifier: identifier, date: date, caller: caller, duration: duration, unseen: true) } +@available(iOSApplicationExtension 10.0, *) private func messageWithTelegramMessage(_ telegramMessage: Message) -> INMessage? { guard let author = telegramMessage.author, let user = telegramMessage.peers[author.id] as? TelegramUser, user.id.id != 777000 else { return nil diff --git a/SupportFiles/Empty.swift b/SupportFiles/Empty.swift new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/SupportFiles/Empty.swift @@ -0,0 +1 @@ + diff --git a/Telegram-iOS.xcodeproj/project.pbxproj b/Telegram-iOS.xcodeproj/project.pbxproj index 6e660a20bb..22fa50dc7d 100644 --- a/Telegram-iOS.xcodeproj/project.pbxproj +++ b/Telegram-iOS.xcodeproj/project.pbxproj @@ -219,20 +219,20 @@ 09EC5CDA22CBBF9600292E42 /* telegram_plane1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 09EC5CD922CBBF9600292E42 /* telegram_plane1@2x.png */; }; 09FDAEE62140477F00BF856F /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09FDAEE52140477F00BF856F /* MtProtoKitDynamic.framework */; }; D000CACF21FB6E380011B15D /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D000CAC821FB6E370011B15D /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - D001D5AA1F878DA300DF975A /* PhoneCountries.txt in Resources */ = {isa = PBXBuildFile; fileRef = D001D5A91F878DA300DF975A /* PhoneCountries.txt */; }; D008185022B5797A008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008184F22B5797A008A895F /* BuildConfig.framework */; }; D008185222B57986008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185122B57986008A895F /* BuildConfig.framework */; }; D008185422B57994008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185322B57994008A895F /* BuildConfig.framework */; }; D008185622B579A1008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185522B579A1008A895F /* BuildConfig.framework */; }; D008185822B579AD008A895F /* BuildConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D008185722B579AD008A895F /* BuildConfig.framework */; }; D00818A522B58CCB008A895F /* WatchCommonWatch.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D00818A422B58CCB008A895F /* WatchCommonWatch.framework */; }; - D00859A91B28189D00EAF753 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D00859A81B28189D00EAF753 /* Images.xcassets */; }; + D00859A91B28189D00EAF753 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D00859A81B28189D00EAF753 /* Icons.xcassets */; }; D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = D00859AA1B28189D00EAF753 /* LaunchScreen.xib */; }; D00ED75A1FE94630001F38BD /* AppIntentVocabulary.plist in Resources */ = {isa = PBXBuildFile; fileRef = D00ED7581FE94630001F38BD /* AppIntentVocabulary.plist */; }; D00ED75D1FE95287001F38BD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D00ED75B1FE95287001F38BD /* InfoPlist.strings */; }; D015E04D225D2D8F00CB9E8A /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; D015E050225D303F00CB9E8A /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; }; D015E051225D303F00CB9E8A /* WebP.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D015E04C225D2D8F00CB9E8A /* WebP.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D01748C7231976B200AF3D3A /* LegacyComponentsResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D01748C6231976B100AF3D3A /* LegacyComponentsResources.bundle */; }; D021D4D9219CAEDD0064BEBA /* Config-Fork.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = D021D4D8219CAEDD0064BEBA /* Config-Fork.xcconfig */; }; D02CF5FD215D9ABF00E0F56A /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AA1A671D568BA400152314 /* UserNotifications.framework */; }; D02CF5FE215D9ABF00E0F56A /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AA1A691D568BA400152314 /* UserNotificationsUI.framework */; }; @@ -400,8 +400,95 @@ D0E8C2E02285EA6A009F26E8 /* BlackIcon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E8C2DF2285EA6A009F26E8 /* BlackIcon@3x.png */; }; D0ECCB7F1FE9C38500609802 /* Telegram_iOS_UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECCB7E1FE9C38500609802 /* Telegram_iOS_UITests.swift */; }; D0ECCB8A1FE9C4AC00609802 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECCB891FE9C4AC00609802 /* SnapshotHelper.swift */; }; + D0EFF27C2319835B00CF5164 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27B2319835A00CF5164 /* Images.xcassets */; }; + D0EFF2D52319838800CF5164 /* PhoneCountries.txt in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27D2319838400CF5164 /* PhoneCountries.txt */; }; + D0EFF2D62319838800CF5164 /* currencies.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27E2319838500CF5164 /* currencies.json */; }; + D0EFF2D72319838800CF5164 /* Emoji.mapping in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF27F2319838500CF5164 /* Emoji.mapping */; }; + D0EFF2D82319838800CF5164 /* lol.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2812319838500CF5164 /* lol.tgs */; }; + D0EFF2D92319838800CF5164 /* thumbsup.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2822319838500CF5164 /* thumbsup.tgs */; }; + D0EFF2DA2319838800CF5164 /* poker.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2832319838500CF5164 /* poker.tgs */; }; + D0EFF2DB2319838800CF5164 /* cry.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2842319838500CF5164 /* cry.tgs */; }; + D0EFF2DC2319838800CF5164 /* meh.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2852319838500CF5164 /* meh.tgs */; }; + D0EFF2DD2319838800CF5164 /* sad.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2862319838500CF5164 /* sad.tgs */; }; + D0EFF2DE2319838800CF5164 /* surprised.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2872319838500CF5164 /* surprised.tgs */; }; + D0EFF2DF2319838800CF5164 /* ok.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2882319838500CF5164 /* ok.tgs */; }; + D0EFF2E02319838800CF5164 /* heart.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2892319838500CF5164 /* heart.tgs */; }; + D0EFF2E12319838800CF5164 /* poop.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28A2319838500CF5164 /* poop.tgs */; }; + D0EFF2E22319838800CF5164 /* celebrate.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28B2319838600CF5164 /* celebrate.tgs */; }; + D0EFF2E32319838800CF5164 /* smile.tgs in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28C2319838600CF5164 /* smile.tgs */; }; + D0EFF2E42319838800CF5164 /* ChatWallpaperBuiltin0.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28D2319838600CF5164 /* ChatWallpaperBuiltin0.jpg */; }; + D0EFF2E52319838800CF5164 /* stp_card_visa_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF28F2319838600CF5164 /* stp_card_visa_template@3x.png */; }; + D0EFF2E62319838800CF5164 /* stp_card_form_back@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2902319838600CF5164 /* stp_card_form_back@3x.png */; }; + D0EFF2E72319838800CF5164 /* stp_card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2912319838600CF5164 /* stp_card_amex@3x.png */; }; + D0EFF2E82319838800CF5164 /* stp_card_diners@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2922319838600CF5164 /* stp_card_diners@2x.png */; }; + D0EFF2E92319838800CF5164 /* stp_card_diners_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2932319838600CF5164 /* stp_card_diners_template@2x.png */; }; + D0EFF2EA2319838800CF5164 /* stp_card_amex_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2942319838600CF5164 /* stp_card_amex_template@3x.png */; }; + D0EFF2EB2319838800CF5164 /* stp_card_diners_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2952319838600CF5164 /* stp_card_diners_template@3x.png */; }; + D0EFF2EC2319838800CF5164 /* stp_card_amex_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2962319838600CF5164 /* stp_card_amex_template@2x.png */; }; + D0EFF2ED2319838800CF5164 /* stp_card_diners@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2972319838600CF5164 /* stp_card_diners@3x.png */; }; + D0EFF2EE2319838800CF5164 /* stp_card_amex@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2982319838600CF5164 /* stp_card_amex@2x.png */; }; + D0EFF2EF2319838800CF5164 /* stp_card_form_back@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2992319838600CF5164 /* stp_card_form_back@2x.png */; }; + D0EFF2F02319838800CF5164 /* stp_card_visa_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29A2319838600CF5164 /* stp_card_visa_template@2x.png */; }; + D0EFF2F12319838800CF5164 /* stp_card_form_front@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29B2319838600CF5164 /* stp_card_form_front@2x.png */; }; + D0EFF2F22319838800CF5164 /* stp_card_applepay_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29C2319838600CF5164 /* stp_card_applepay_template@2x.png */; }; + D0EFF2F32319838800CF5164 /* stp_card_cvc_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29D2319838600CF5164 /* stp_card_cvc_amex@3x.png */; }; + D0EFF2F42319838800CF5164 /* stp_card_discover@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29E2319838600CF5164 /* stp_card_discover@3x.png */; }; + D0EFF2F52319838800CF5164 /* stp_card_cvc@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF29F2319838600CF5164 /* stp_card_cvc@2x.png */; }; + D0EFF2F62319838800CF5164 /* stp_card_jcb_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A02319838600CF5164 /* stp_card_jcb_template@3x.png */; }; + D0EFF2F72319838800CF5164 /* stp_card_jcb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A12319838600CF5164 /* stp_card_jcb@3x.png */; }; + D0EFF2F82319838800CF5164 /* stp_card_jcb@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A22319838600CF5164 /* stp_card_jcb@2x.png */; }; + D0EFF2F92319838800CF5164 /* stp_card_cvc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A32319838600CF5164 /* stp_card_cvc@3x.png */; }; + D0EFF2FA2319838800CF5164 /* stp_card_jcb_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A42319838600CF5164 /* stp_card_jcb_template@2x.png */; }; + D0EFF2FB2319838800CF5164 /* stp_card_discover@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A52319838600CF5164 /* stp_card_discover@2x.png */; }; + D0EFF2FC2319838800CF5164 /* stp_card_cvc_amex@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A62319838600CF5164 /* stp_card_cvc_amex@2x.png */; }; + D0EFF2FD2319838800CF5164 /* stp_card_applepay_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A72319838600CF5164 /* stp_card_applepay_template@3x.png */; }; + D0EFF2FE2319838800CF5164 /* stp_card_form_front@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A82319838600CF5164 /* stp_card_form_front@3x.png */; }; + D0EFF2FF2319838800CF5164 /* stp_card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2A92319838600CF5164 /* stp_card_visa@3x.png */; }; + D0EFF3002319838800CF5164 /* stp_card_placeholder_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AA2319838600CF5164 /* stp_card_placeholder_template@3x.png */; }; + D0EFF3012319838800CF5164 /* stp_card_applepay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AB2319838600CF5164 /* stp_card_applepay@2x.png */; }; + D0EFF3022319838800CF5164 /* stp_card_applepay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AC2319838600CF5164 /* stp_card_applepay@3x.png */; }; + D0EFF3032319838800CF5164 /* stp_card_placeholder_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AD2319838600CF5164 /* stp_card_placeholder_template@2x.png */; }; + D0EFF3042319838800CF5164 /* stp_card_visa@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AE2319838600CF5164 /* stp_card_visa@2x.png */; }; + D0EFF3052319838800CF5164 /* stp_card_mastercard_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2AF2319838600CF5164 /* stp_card_mastercard_template@3x.png */; }; + D0EFF3062319838800CF5164 /* stp_card_discover_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B02319838600CF5164 /* stp_card_discover_template@2x.png */; }; + D0EFF3072319838800CF5164 /* stp_card_form_applepay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B12319838600CF5164 /* stp_card_form_applepay@3x.png */; }; + D0EFF3082319838800CF5164 /* stp_card_mastercard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B22319838600CF5164 /* stp_card_mastercard@2x.png */; }; + D0EFF3092319838800CF5164 /* stp_card_mastercard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B32319838600CF5164 /* stp_card_mastercard@3x.png */; }; + D0EFF30A2319838800CF5164 /* stp_card_discover_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B42319838600CF5164 /* stp_card_discover_template@3x.png */; }; + D0EFF30B2319838800CF5164 /* stp_card_form_applepay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B52319838600CF5164 /* stp_card_form_applepay@2x.png */; }; + D0EFF30C2319838800CF5164 /* stp_card_mastercard_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B62319838600CF5164 /* stp_card_mastercard_template@2x.png */; }; + D0EFF30D2319838800CF5164 /* anim_read.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B82319838700CF5164 /* anim_read.json */; }; + D0EFF30E2319838800CF5164 /* anim_archive.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2B92319838700CF5164 /* anim_archive.json */; }; + D0EFF30F2319838800CF5164 /* anim_pin.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BA2319838700CF5164 /* anim_pin.json */; }; + D0EFF3102319838800CF5164 /* anim_infotip.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BB2319838700CF5164 /* anim_infotip.json */; }; + D0EFF3112319838800CF5164 /* anim_unmute.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BC2319838700CF5164 /* anim_unmute.json */; }; + D0EFF3122319838800CF5164 /* anim_unpin.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BD2319838700CF5164 /* anim_unpin.json */; }; + D0EFF3132319838800CF5164 /* anim_success.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BE2319838700CF5164 /* anim_success.json */; }; + D0EFF3142319838800CF5164 /* anim_unread.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2BF2319838700CF5164 /* anim_unread.json */; }; + D0EFF3152319838800CF5164 /* anim_archiveswipe.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C02319838700CF5164 /* anim_archiveswipe.json */; }; + D0EFF3162319838800CF5164 /* anim_delete.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C12319838700CF5164 /* anim_delete.json */; }; + D0EFF3172319838800CF5164 /* anim_archiveAvatar.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C22319838700CF5164 /* anim_archiveAvatar.json */; }; + D0EFF3182319838800CF5164 /* anim_unarchive.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C32319838700CF5164 /* anim_unarchive.json */; }; + D0EFF3192319838800CF5164 /* anim_ungroup.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C42319838700CF5164 /* anim_ungroup.json */; }; + D0EFF31A2319838800CF5164 /* anim_hide.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C52319838700CF5164 /* anim_hide.json */; }; + D0EFF31B2319838800CF5164 /* anim_group.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C62319838700CF5164 /* anim_group.json */; }; + D0EFF31C2319838800CF5164 /* anim_mute.json in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C72319838700CF5164 /* anim_mute.json */; }; + D0EFF31D2319838800CF5164 /* PresentationStrings.mapping in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2C82319838700CF5164 /* PresentationStrings.mapping */; }; + D0EFF31E2319838800CF5164 /* VimeoUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CA2319838700CF5164 /* VimeoUserScript.js */; }; + D0EFF31F2319838800CF5164 /* TwitchUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CB2319838700CF5164 /* TwitchUserScript.js */; }; + D0EFF3202319838800CF5164 /* Youtube.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CC2319838700CF5164 /* Youtube.html */; }; + D0EFF3212319838800CF5164 /* Twitch.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CD2319838700CF5164 /* Twitch.html */; }; + D0EFF3222319838800CF5164 /* Vimeo.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CE2319838700CF5164 /* Vimeo.html */; }; + D0EFF3232319838800CF5164 /* Instagram.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2CF2319838700CF5164 /* Instagram.html */; }; + D0EFF3242319838800CF5164 /* Generic.html in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D02319838700CF5164 /* Generic.html */; }; + D0EFF3252319838800CF5164 /* GenericUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D12319838700CF5164 /* GenericUserScript.js */; }; + D0EFF3262319838800CF5164 /* YoutubeUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D22319838700CF5164 /* YoutubeUserScript.js */; }; + D0EFF3272319838800CF5164 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF2D42319838700CF5164 /* SFCompactRounded-Semibold.otf */; }; + D0EFF32B231983BF00CF5164 /* MessageSent.caf in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF329231983BF00CF5164 /* MessageSent.caf */; }; + D0EFF32C231983BF00CF5164 /* notification.caf in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF32A231983BF00CF5164 /* notification.caf */; }; + D0EFF33023198D3200CF5164 /* NavigationBackArrowLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF32E23198D3200CF5164 /* NavigationBackArrowLight@2x.png */; }; + D0EFF33123198D3200CF5164 /* NavigationShadow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0EFF32F23198D3200CF5164 /* NavigationShadow@2x.png */; }; D0F575132083B96B00F1C1E1 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0F575122083B96B00F1C1E1 /* CloudKit.framework */; }; - D0FC1948201D2DA800FEDBB2 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = D0FC1947201D2DA700FEDBB2 /* SFCompactRounded-Semibold.otf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -547,7 +634,6 @@ 094DDF5222E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = Localizable.strings; sourceTree = ""; }; 094DDF5422E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = InfoPlist.strings; sourceTree = ""; }; 094DDF5622E8C30F004B0256 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = id; path = AppIntentVocabulary.plist; sourceTree = ""; }; - 0956AF2B217B4642008106D0 /* WatchCommunicationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchCommunicationManager.swift; sourceTree = ""; }; 0956AF2D217B8109008106D0 /* TGNeoUnsupportedMessageViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TGNeoUnsupportedMessageViewModel.h; sourceTree = ""; }; 0956AF2E217B8109008106D0 /* TGNeoUnsupportedMessageViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TGNeoUnsupportedMessageViewModel.m; sourceTree = ""; }; 0972C6DF21791D950069E98A /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS5.0.sdk/System/Library/Frameworks/UserNotifications.framework; sourceTree = DEVELOPER_DIR; }; @@ -565,11 +651,8 @@ 09A4192D22B7A4D400637EB4 /* BlueClassicIconLargeIpad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlueClassicIconLargeIpad@2x.png"; sourceTree = ""; }; 09A4192E22B7A4D400637EB4 /* BlackClassicIconIpad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlackClassicIconIpad.png; sourceTree = ""; }; 09A4192F22B7A4D400637EB4 /* BlackClassicIconIpad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlackClassicIconIpad@2x.png"; sourceTree = ""; }; - 09C50E7921738178009E676F /* TGBridgeServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGBridgeServer.h; sourceTree = ""; }; - 09C50E7A21738178009E676F /* TGBridgeServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGBridgeServer.m; sourceTree = ""; }; 09C50E852173854D009E676F /* WatchKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WatchKit.framework; path = System/Library/Frameworks/WatchKit.framework; sourceTree = SDKROOT; }; 09C50E87217385CF009E676F /* WatchConnectivity.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WatchConnectivity.framework; path = System/Library/Frameworks/WatchConnectivity.framework; sourceTree = SDKROOT; }; - 09C50E892173AEDB009E676F /* WatchRequestHandlers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchRequestHandlers.swift; sourceTree = ""; }; 09C56F8B2172797200BDF00F /* Watch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Watch.app; sourceTree = BUILT_PRODUCTS_DIR; }; 09C56F8E2172797200BDF00F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = ""; }; 09C56F902172797400BDF00F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -848,7 +931,6 @@ 09C573132172953800BDF00F /* TGBridgeStickerPack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TGBridgeStickerPack.h; path = Bridge/TGBridgeStickerPack.h; sourceTree = ""; }; 09C573152172953800BDF00F /* TGBridgeLocationVenue+TGTableItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "TGBridgeLocationVenue+TGTableItem.h"; path = "Bridge/TGBridgeLocationVenue+TGTableItem.h"; sourceTree = ""; }; 09CFB211217299E80083F7A3 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS5.0.sdk/System/Library/Frameworks/CoreLocation.framework; sourceTree = DEVELOPER_DIR; }; - 09D304212174335F00C00567 /* WatchBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchBridge.swift; sourceTree = ""; }; 09E9600122C23FF000B13673 /* BlackNotificationIcon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BlackNotificationIcon@3x.png"; sourceTree = ""; }; 09E9600222C23FF000B13673 /* BlackNotificationIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlackNotificationIcon.png; sourceTree = ""; }; 09E9600322C23FF000B13673 /* BlueNotificationIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BlueNotificationIcon.png; sourceTree = ""; }; @@ -881,7 +963,6 @@ D000CAC221FB6E170011B15D /* NotificationService-AppStore.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NotificationService-AppStore.entitlements"; sourceTree = ""; }; D000CAC321FB6E170011B15D /* NotificationService-AppStoreLLC.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NotificationService-AppStoreLLC.entitlements"; sourceTree = ""; }; D000CAC821FB6E370011B15D /* NotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - D001D5A91F878DA300DF975A /* PhoneCountries.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PhoneCountries.txt; path = "Telegram-iOS/Resources/PhoneCountries.txt"; sourceTree = ""; }; D006CFA121A8D12600FDCD32 /* ModernProto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ModernProto.framework; path = "../../../Library/Developer/Xcode/DerivedData/Telegram-iOS-ffbqcdyqpehxdvcwhyaorlehrrdc/Build/Products/Debug Hockeyapp-iphoneos/ModernProto.framework"; sourceTree = ""; }; D008184B22B578EC008A895F /* WatchCommon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WatchCommon.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D008184D22B5796E008A895F /* BuildConfig.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BuildConfig.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -895,13 +976,14 @@ D00818CE22B595DB008A895F /* LightweightAccountData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LightweightAccountData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D008599C1B28189D00EAF753 /* Telegram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Telegram.app; sourceTree = BUILT_PRODUCTS_DIR; }; D00859A01B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D00859A81B28189D00EAF753 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + D00859A81B28189D00EAF753 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = ""; }; D00859AB1B28189D00EAF753 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; D00859B61B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D00859B71B28189D00EAF753 /* Telegram_iOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Telegram_iOSTests.swift; sourceTree = ""; }; D00ED7591FE94630001F38BD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = en; path = en.lproj/AppIntentVocabulary.plist; sourceTree = ""; }; D00ED75C1FE95287001F38BD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; D015E04C225D2D8F00CB9E8A /* WebP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WebP.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D01748C6231976B100AF3D3A /* LegacyComponentsResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = LegacyComponentsResources.bundle; path = submodules/LegacyComponents/LegacyComponents/Resources/LegacyComponentsResources.bundle; sourceTree = ""; }; D01A47521F4DBEB100383CC1 /* libHockeySDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libHockeySDK.a; path = "../../build/HockeySDK-iOS/Support/build/Debug-iphoneos/libHockeySDK.a"; sourceTree = ""; }; D01A47541F4DBED700383CC1 /* HockeySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HockeySDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D021D4D7219CAEDD0064BEBA /* Telegram-iOS-Fork.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "Telegram-iOS-Fork.entitlements"; sourceTree = ""; }; @@ -1129,8 +1211,95 @@ D0ECCB801FE9C38500609802 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D0ECCB891FE9C4AC00609802 /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotHelper.swift; sourceTree = ""; }; D0ED633C21FF3F28001D4648 /* NotificationService-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NotificationService-Bridging-Header.h"; sourceTree = ""; }; + D0EFF27B2319835A00CF5164 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = submodules/TelegramUI/Images.xcassets; sourceTree = ""; }; + D0EFF27D2319838400CF5164 /* PhoneCountries.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PhoneCountries.txt; path = submodules/TelegramUI/TelegramUI/Resources/PhoneCountries.txt; sourceTree = ""; }; + D0EFF27E2319838500CF5164 /* currencies.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = currencies.json; path = submodules/TelegramUI/TelegramUI/Resources/currencies.json; sourceTree = ""; }; + D0EFF27F2319838500CF5164 /* Emoji.mapping */ = {isa = PBXFileReference; lastKnownFileType = file; name = Emoji.mapping; path = submodules/TelegramUI/TelegramUI/Resources/Emoji.mapping; sourceTree = ""; }; + D0EFF2812319838500CF5164 /* lol.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = lol.tgs; sourceTree = ""; }; + D0EFF2822319838500CF5164 /* thumbsup.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbsup.tgs; sourceTree = ""; }; + D0EFF2832319838500CF5164 /* poker.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = poker.tgs; sourceTree = ""; }; + D0EFF2842319838500CF5164 /* cry.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = cry.tgs; sourceTree = ""; }; + D0EFF2852319838500CF5164 /* meh.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = meh.tgs; sourceTree = ""; }; + D0EFF2862319838500CF5164 /* sad.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = sad.tgs; sourceTree = ""; }; + D0EFF2872319838500CF5164 /* surprised.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = surprised.tgs; sourceTree = ""; }; + D0EFF2882319838500CF5164 /* ok.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = ok.tgs; sourceTree = ""; }; + D0EFF2892319838500CF5164 /* heart.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = heart.tgs; sourceTree = ""; }; + D0EFF28A2319838500CF5164 /* poop.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = poop.tgs; sourceTree = ""; }; + D0EFF28B2319838600CF5164 /* celebrate.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = celebrate.tgs; sourceTree = ""; }; + D0EFF28C2319838600CF5164 /* smile.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = smile.tgs; sourceTree = ""; }; + D0EFF28D2319838600CF5164 /* ChatWallpaperBuiltin0.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = ChatWallpaperBuiltin0.jpg; path = submodules/TelegramUI/TelegramUI/Resources/ChatWallpaperBuiltin0.jpg; sourceTree = ""; }; + D0EFF28F2319838600CF5164 /* stp_card_visa_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa_template@3x.png"; sourceTree = ""; }; + D0EFF2902319838600CF5164 /* stp_card_form_back@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_back@3x.png"; sourceTree = ""; }; + D0EFF2912319838600CF5164 /* stp_card_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex@3x.png"; sourceTree = ""; }; + D0EFF2922319838600CF5164 /* stp_card_diners@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners@2x.png"; sourceTree = ""; }; + D0EFF2932319838600CF5164 /* stp_card_diners_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners_template@2x.png"; sourceTree = ""; }; + D0EFF2942319838600CF5164 /* stp_card_amex_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex_template@3x.png"; sourceTree = ""; }; + D0EFF2952319838600CF5164 /* stp_card_diners_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners_template@3x.png"; sourceTree = ""; }; + D0EFF2962319838600CF5164 /* stp_card_amex_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex_template@2x.png"; sourceTree = ""; }; + D0EFF2972319838600CF5164 /* stp_card_diners@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners@3x.png"; sourceTree = ""; }; + D0EFF2982319838600CF5164 /* stp_card_amex@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex@2x.png"; sourceTree = ""; }; + D0EFF2992319838600CF5164 /* stp_card_form_back@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_back@2x.png"; sourceTree = ""; }; + D0EFF29A2319838600CF5164 /* stp_card_visa_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa_template@2x.png"; sourceTree = ""; }; + D0EFF29B2319838600CF5164 /* stp_card_form_front@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_front@2x.png"; sourceTree = ""; }; + D0EFF29C2319838600CF5164 /* stp_card_applepay_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay_template@2x.png"; sourceTree = ""; }; + D0EFF29D2319838600CF5164 /* stp_card_cvc_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc_amex@3x.png"; sourceTree = ""; }; + D0EFF29E2319838600CF5164 /* stp_card_discover@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover@3x.png"; sourceTree = ""; }; + D0EFF29F2319838600CF5164 /* stp_card_cvc@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc@2x.png"; sourceTree = ""; }; + D0EFF2A02319838600CF5164 /* stp_card_jcb_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb_template@3x.png"; sourceTree = ""; }; + D0EFF2A12319838600CF5164 /* stp_card_jcb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb@3x.png"; sourceTree = ""; }; + D0EFF2A22319838600CF5164 /* stp_card_jcb@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb@2x.png"; sourceTree = ""; }; + D0EFF2A32319838600CF5164 /* stp_card_cvc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc@3x.png"; sourceTree = ""; }; + D0EFF2A42319838600CF5164 /* stp_card_jcb_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb_template@2x.png"; sourceTree = ""; }; + D0EFF2A52319838600CF5164 /* stp_card_discover@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover@2x.png"; sourceTree = ""; }; + D0EFF2A62319838600CF5164 /* stp_card_cvc_amex@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc_amex@2x.png"; sourceTree = ""; }; + D0EFF2A72319838600CF5164 /* stp_card_applepay_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay_template@3x.png"; sourceTree = ""; }; + D0EFF2A82319838600CF5164 /* stp_card_form_front@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_front@3x.png"; sourceTree = ""; }; + D0EFF2A92319838600CF5164 /* stp_card_visa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa@3x.png"; sourceTree = ""; }; + D0EFF2AA2319838600CF5164 /* stp_card_placeholder_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_placeholder_template@3x.png"; sourceTree = ""; }; + D0EFF2AB2319838600CF5164 /* stp_card_applepay@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay@2x.png"; sourceTree = ""; }; + D0EFF2AC2319838600CF5164 /* stp_card_applepay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay@3x.png"; sourceTree = ""; }; + D0EFF2AD2319838600CF5164 /* stp_card_placeholder_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_placeholder_template@2x.png"; sourceTree = ""; }; + D0EFF2AE2319838600CF5164 /* stp_card_visa@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa@2x.png"; sourceTree = ""; }; + D0EFF2AF2319838600CF5164 /* stp_card_mastercard_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard_template@3x.png"; sourceTree = ""; }; + D0EFF2B02319838600CF5164 /* stp_card_discover_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover_template@2x.png"; sourceTree = ""; }; + D0EFF2B12319838600CF5164 /* stp_card_form_applepay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_applepay@3x.png"; sourceTree = ""; }; + D0EFF2B22319838600CF5164 /* stp_card_mastercard@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard@2x.png"; sourceTree = ""; }; + D0EFF2B32319838600CF5164 /* stp_card_mastercard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard@3x.png"; sourceTree = ""; }; + D0EFF2B42319838600CF5164 /* stp_card_discover_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover_template@3x.png"; sourceTree = ""; }; + D0EFF2B52319838600CF5164 /* stp_card_form_applepay@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_applepay@2x.png"; sourceTree = ""; }; + D0EFF2B62319838600CF5164 /* stp_card_mastercard_template@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard_template@2x.png"; sourceTree = ""; }; + D0EFF2B82319838700CF5164 /* anim_read.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_read.json; sourceTree = ""; }; + D0EFF2B92319838700CF5164 /* anim_archive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archive.json; sourceTree = ""; }; + D0EFF2BA2319838700CF5164 /* anim_pin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_pin.json; sourceTree = ""; }; + D0EFF2BB2319838700CF5164 /* anim_infotip.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_infotip.json; sourceTree = ""; }; + D0EFF2BC2319838700CF5164 /* anim_unmute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unmute.json; sourceTree = ""; }; + D0EFF2BD2319838700CF5164 /* anim_unpin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unpin.json; sourceTree = ""; }; + D0EFF2BE2319838700CF5164 /* anim_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_success.json; sourceTree = ""; }; + D0EFF2BF2319838700CF5164 /* anim_unread.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unread.json; sourceTree = ""; }; + D0EFF2C02319838700CF5164 /* anim_archiveswipe.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archiveswipe.json; sourceTree = ""; }; + D0EFF2C12319838700CF5164 /* anim_delete.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_delete.json; sourceTree = ""; }; + D0EFF2C22319838700CF5164 /* anim_archiveAvatar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archiveAvatar.json; sourceTree = ""; }; + D0EFF2C32319838700CF5164 /* anim_unarchive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unarchive.json; sourceTree = ""; }; + D0EFF2C42319838700CF5164 /* anim_ungroup.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_ungroup.json; sourceTree = ""; }; + D0EFF2C52319838700CF5164 /* anim_hide.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_hide.json; sourceTree = ""; }; + D0EFF2C62319838700CF5164 /* anim_group.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_group.json; sourceTree = ""; }; + D0EFF2C72319838700CF5164 /* anim_mute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_mute.json; sourceTree = ""; }; + D0EFF2C82319838700CF5164 /* PresentationStrings.mapping */ = {isa = PBXFileReference; lastKnownFileType = file; name = PresentationStrings.mapping; path = submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping; sourceTree = ""; }; + D0EFF2CA2319838700CF5164 /* VimeoUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = VimeoUserScript.js; sourceTree = ""; }; + D0EFF2CB2319838700CF5164 /* TwitchUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = TwitchUserScript.js; sourceTree = ""; }; + D0EFF2CC2319838700CF5164 /* Youtube.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Youtube.html; sourceTree = ""; }; + D0EFF2CD2319838700CF5164 /* Twitch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Twitch.html; sourceTree = ""; }; + D0EFF2CE2319838700CF5164 /* Vimeo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Vimeo.html; sourceTree = ""; }; + D0EFF2CF2319838700CF5164 /* Instagram.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Instagram.html; sourceTree = ""; }; + D0EFF2D02319838700CF5164 /* Generic.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Generic.html; sourceTree = ""; }; + D0EFF2D12319838700CF5164 /* GenericUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = GenericUserScript.js; sourceTree = ""; }; + D0EFF2D22319838700CF5164 /* YoutubeUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = YoutubeUserScript.js; sourceTree = ""; }; + D0EFF2D42319838700CF5164 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = ""; }; + D0EFF329231983BF00CF5164 /* MessageSent.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = MessageSent.caf; sourceTree = ""; }; + D0EFF32A231983BF00CF5164 /* notification.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = notification.caf; sourceTree = ""; }; + D0EFF32E23198D3200CF5164 /* NavigationBackArrowLight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "NavigationBackArrowLight@2x.png"; path = "Telegram-iOS/Resources/NavigationBackArrowLight@2x.png"; sourceTree = ""; }; + D0EFF32F23198D3200CF5164 /* NavigationShadow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "NavigationShadow@2x.png"; path = "Telegram-iOS/Resources/NavigationShadow@2x.png"; sourceTree = ""; }; D0F575122083B96B00F1C1E1 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; }; - D0FC1947201D2DA700FEDBB2 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "SFCompactRounded-Semibold.otf"; path = "Telegram-iOS/Resources/SFCompactRounded-Semibold.otf"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1369,18 +1538,6 @@ name = "App Icons"; sourceTree = ""; }; - 09C50E7821738150009E676F /* Watch */ = { - isa = PBXGroup; - children = ( - 0956AF2B217B4642008106D0 /* WatchCommunicationManager.swift */, - 09C50E892173AEDB009E676F /* WatchRequestHandlers.swift */, - 09D304212174335F00C00567 /* WatchBridge.swift */, - 09C50E7921738178009E676F /* TGBridgeServer.h */, - 09C50E7A21738178009E676F /* TGBridgeServer.m */, - ); - name = Watch; - sourceTree = ""; - }; 09C56F8C2172797200BDF00F /* Watch */ = { isa = PBXGroup; children = ( @@ -1945,13 +2102,12 @@ children = ( 09A218E122A14E5600DE6898 /* App Icons */, D0338729223A8347007A2CE4 /* Config */, - 09C50E7821738150009E676F /* Watch */, D021D4D8219CAEDD0064BEBA /* Config-Fork.xcconfig */, D0ADF913212B398000310BBC /* Telegram-iOS-AppStoreLLC.entitlements */, D079FD001F06BBD10038FADE /* Telegram-iOS-AppStore.entitlements */, D0E3A7071B285B5000A402D9 /* Telegram-iOS-Hockeyapp.entitlements */, D021D4D7219CAEDD0064BEBA /* Telegram-iOS-Fork.entitlements */, - D00859A81B28189D00EAF753 /* Images.xcassets */, + D00859A81B28189D00EAF753 /* Icons.xcassets */, D00859AA1B28189D00EAF753 /* LaunchScreen.xib */, D008599F1B28189D00EAF753 /* Supporting Files */, ); @@ -2085,14 +2241,27 @@ D023EBB31DDB2F0E00BD496D /* Resources */ = { isa = PBXGroup; children = ( + D0EFF32E23198D3200CF5164 /* NavigationBackArrowLight@2x.png */, + D0EFF32F23198D3200CF5164 /* NavigationShadow@2x.png */, + D0EFF328231983BF00CF5164 /* Sounds */, + D0EFF2B72319838700CF5164 /* Animations */, + D0EFF2802319838500CF5164 /* BuiltinReactions */, + D0EFF28D2319838600CF5164 /* ChatWallpaperBuiltin0.jpg */, + D0EFF27E2319838500CF5164 /* currencies.json */, + D0EFF27F2319838500CF5164 /* Emoji.mapping */, + D0EFF2D32319838700CF5164 /* Fonts */, + D0EFF27D2319838400CF5164 /* PhoneCountries.txt */, + D0EFF2C82319838700CF5164 /* PresentationStrings.mapping */, + D0EFF28E2319838600CF5164 /* Stripe */, + D0EFF2C92319838700CF5164 /* WebEmbed */, + D0EFF27B2319835A00CF5164 /* Images.xcassets */, + D01748C6231976B100AF3D3A /* LegacyComponentsResources.bundle */, D0E8B8AC2044496C00605593 /* voip_busy.caf */, D0E8B8A82044496B00605593 /* voip_connecting.mp3 */, D0E8B8A92044496C00605593 /* voip_end.caf */, D0E8B8AA2044496C00605593 /* voip_fail.caf */, D0E8B8AB2044496C00605593 /* voip_ringback.caf */, - D0FC1947201D2DA700FEDBB2 /* SFCompactRounded-Semibold.otf */, D0CFBB921FD88C2900B65C0D /* begin_record.caf */, - D001D5A91F878DA300DF975A /* PhoneCountries.txt */, D04DCC0A1F71C80000B021D7 /* notifications */, D050F21B1E49DEDE00988324 /* intro */, ); @@ -2480,6 +2649,134 @@ path = "Telegram-iOS UITests"; sourceTree = ""; }; + D0EFF2802319838500CF5164 /* BuiltinReactions */ = { + isa = PBXGroup; + children = ( + D0EFF2812319838500CF5164 /* lol.tgs */, + D0EFF2822319838500CF5164 /* thumbsup.tgs */, + D0EFF2832319838500CF5164 /* poker.tgs */, + D0EFF2842319838500CF5164 /* cry.tgs */, + D0EFF2852319838500CF5164 /* meh.tgs */, + D0EFF2862319838500CF5164 /* sad.tgs */, + D0EFF2872319838500CF5164 /* surprised.tgs */, + D0EFF2882319838500CF5164 /* ok.tgs */, + D0EFF2892319838500CF5164 /* heart.tgs */, + D0EFF28A2319838500CF5164 /* poop.tgs */, + D0EFF28B2319838600CF5164 /* celebrate.tgs */, + D0EFF28C2319838600CF5164 /* smile.tgs */, + ); + name = BuiltinReactions; + path = submodules/TelegramUI/TelegramUI/Resources/BuiltinReactions; + sourceTree = ""; + }; + D0EFF28E2319838600CF5164 /* Stripe */ = { + isa = PBXGroup; + children = ( + D0EFF28F2319838600CF5164 /* stp_card_visa_template@3x.png */, + D0EFF2902319838600CF5164 /* stp_card_form_back@3x.png */, + D0EFF2912319838600CF5164 /* stp_card_amex@3x.png */, + D0EFF2922319838600CF5164 /* stp_card_diners@2x.png */, + D0EFF2932319838600CF5164 /* stp_card_diners_template@2x.png */, + D0EFF2942319838600CF5164 /* stp_card_amex_template@3x.png */, + D0EFF2952319838600CF5164 /* stp_card_diners_template@3x.png */, + D0EFF2962319838600CF5164 /* stp_card_amex_template@2x.png */, + D0EFF2972319838600CF5164 /* stp_card_diners@3x.png */, + D0EFF2982319838600CF5164 /* stp_card_amex@2x.png */, + D0EFF2992319838600CF5164 /* stp_card_form_back@2x.png */, + D0EFF29A2319838600CF5164 /* stp_card_visa_template@2x.png */, + D0EFF29B2319838600CF5164 /* stp_card_form_front@2x.png */, + D0EFF29C2319838600CF5164 /* stp_card_applepay_template@2x.png */, + D0EFF29D2319838600CF5164 /* stp_card_cvc_amex@3x.png */, + D0EFF29E2319838600CF5164 /* stp_card_discover@3x.png */, + D0EFF29F2319838600CF5164 /* stp_card_cvc@2x.png */, + D0EFF2A02319838600CF5164 /* stp_card_jcb_template@3x.png */, + D0EFF2A12319838600CF5164 /* stp_card_jcb@3x.png */, + D0EFF2A22319838600CF5164 /* stp_card_jcb@2x.png */, + D0EFF2A32319838600CF5164 /* stp_card_cvc@3x.png */, + D0EFF2A42319838600CF5164 /* stp_card_jcb_template@2x.png */, + D0EFF2A52319838600CF5164 /* stp_card_discover@2x.png */, + D0EFF2A62319838600CF5164 /* stp_card_cvc_amex@2x.png */, + D0EFF2A72319838600CF5164 /* stp_card_applepay_template@3x.png */, + D0EFF2A82319838600CF5164 /* stp_card_form_front@3x.png */, + D0EFF2A92319838600CF5164 /* stp_card_visa@3x.png */, + D0EFF2AA2319838600CF5164 /* stp_card_placeholder_template@3x.png */, + D0EFF2AB2319838600CF5164 /* stp_card_applepay@2x.png */, + D0EFF2AC2319838600CF5164 /* stp_card_applepay@3x.png */, + D0EFF2AD2319838600CF5164 /* stp_card_placeholder_template@2x.png */, + D0EFF2AE2319838600CF5164 /* stp_card_visa@2x.png */, + D0EFF2AF2319838600CF5164 /* stp_card_mastercard_template@3x.png */, + D0EFF2B02319838600CF5164 /* stp_card_discover_template@2x.png */, + D0EFF2B12319838600CF5164 /* stp_card_form_applepay@3x.png */, + D0EFF2B22319838600CF5164 /* stp_card_mastercard@2x.png */, + D0EFF2B32319838600CF5164 /* stp_card_mastercard@3x.png */, + D0EFF2B42319838600CF5164 /* stp_card_discover_template@3x.png */, + D0EFF2B52319838600CF5164 /* stp_card_form_applepay@2x.png */, + D0EFF2B62319838600CF5164 /* stp_card_mastercard_template@2x.png */, + ); + name = Stripe; + path = submodules/TelegramUI/TelegramUI/Resources/Stripe; + sourceTree = ""; + }; + D0EFF2B72319838700CF5164 /* Animations */ = { + isa = PBXGroup; + children = ( + D0EFF2B82319838700CF5164 /* anim_read.json */, + D0EFF2B92319838700CF5164 /* anim_archive.json */, + D0EFF2BA2319838700CF5164 /* anim_pin.json */, + D0EFF2BB2319838700CF5164 /* anim_infotip.json */, + D0EFF2BC2319838700CF5164 /* anim_unmute.json */, + D0EFF2BD2319838700CF5164 /* anim_unpin.json */, + D0EFF2BE2319838700CF5164 /* anim_success.json */, + D0EFF2BF2319838700CF5164 /* anim_unread.json */, + D0EFF2C02319838700CF5164 /* anim_archiveswipe.json */, + D0EFF2C12319838700CF5164 /* anim_delete.json */, + D0EFF2C22319838700CF5164 /* anim_archiveAvatar.json */, + D0EFF2C32319838700CF5164 /* anim_unarchive.json */, + D0EFF2C42319838700CF5164 /* anim_ungroup.json */, + D0EFF2C52319838700CF5164 /* anim_hide.json */, + D0EFF2C62319838700CF5164 /* anim_group.json */, + D0EFF2C72319838700CF5164 /* anim_mute.json */, + ); + name = Animations; + path = submodules/TelegramUI/TelegramUI/Resources/Animations; + sourceTree = ""; + }; + D0EFF2C92319838700CF5164 /* WebEmbed */ = { + isa = PBXGroup; + children = ( + D0EFF2CA2319838700CF5164 /* VimeoUserScript.js */, + D0EFF2CB2319838700CF5164 /* TwitchUserScript.js */, + D0EFF2CC2319838700CF5164 /* Youtube.html */, + D0EFF2CD2319838700CF5164 /* Twitch.html */, + D0EFF2CE2319838700CF5164 /* Vimeo.html */, + D0EFF2CF2319838700CF5164 /* Instagram.html */, + D0EFF2D02319838700CF5164 /* Generic.html */, + D0EFF2D12319838700CF5164 /* GenericUserScript.js */, + D0EFF2D22319838700CF5164 /* YoutubeUserScript.js */, + ); + name = WebEmbed; + path = submodules/TelegramUI/TelegramUI/Resources/WebEmbed; + sourceTree = ""; + }; + D0EFF2D32319838700CF5164 /* Fonts */ = { + isa = PBXGroup; + children = ( + D0EFF2D42319838700CF5164 /* SFCompactRounded-Semibold.otf */, + ); + name = Fonts; + path = submodules/TelegramUI/TelegramUI/Resources/Fonts; + sourceTree = ""; + }; + D0EFF328231983BF00CF5164 /* Sounds */ = { + isa = PBXGroup; + children = ( + D0EFF329231983BF00CF5164 /* MessageSent.caf */, + D0EFF32A231983BF00CF5164 /* notification.caf */, + ); + name = Sounds; + path = submodules/TelegramUI/TelegramUI/Sounds; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -2827,21 +3124,32 @@ buildActionMask = 2147483647; files = ( D0CE6F6B213EDA4400BCD44B /* InfoPlist.strings in Resources */, + D0EFF2E02319838800CF5164 /* heart.tgs in Resources */, D08DB0AC213F4D1D00F2ADBF /* ic_bubble_dot@2x.png in Resources */, D08DB0B0213F4D1D00F2ADBF /* ic_pin@2x.png in Resources */, D04DCC211F71C80000B021D7 /* 0.m4a in Resources */, D04DCC261F71C80000B021D7 /* 103.m4a in Resources */, 09A218F222A1570A00DE6898 /* BlueFilledIcon@2x.png in Resources */, + D0EFF2EC2319838800CF5164 /* stp_card_amex_template@2x.png in Resources */, + D0EFF30B2319838800CF5164 /* stp_card_form_applepay@2x.png in Resources */, + D0EFF2F52319838800CF5164 /* stp_card_cvc@2x.png in Resources */, 09E9600922C23FF200B13673 /* BlueNotificationIcon.png in Resources */, + D0EFF30F2319838800CF5164 /* anim_pin.json in Resources */, 090E777722A6945900CD99F5 /* BlueClassicIcon@2x.png in Resources */, D0CE6F69213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, D08DB0C0213F4D1D00F2ADBF /* telegram_sphere@2x.png in Resources */, + D0EFF3062319838800CF5164 /* stp_card_discover_template@2x.png in Resources */, D08DB0AB213F4D1D00F2ADBF /* ic_bubble@2x.png in Resources */, + D0EFF32C231983BF00CF5164 /* notification.caf in Resources */, D04DCC341F71C80000B021D7 /* 7.m4a in Resources */, 09E9600722C23FF200B13673 /* BlackNotificationIcon@3x.png in Resources */, 09EBE2A522B004EA00F670AB /* BlueFilledIconIpad.png in Resources */, 094DDF5C22E8C310004B0256 /* AppIntentVocabulary.plist in Resources */, 094DDF3C22E7A98E004B0256 /* Localizable.strings in Resources */, + D0EFF2F62319838800CF5164 /* stp_card_jcb_template@3x.png in Resources */, + D0EFF2D92319838800CF5164 /* thumbsup.tgs in Resources */, + D0EFF3022319838800CF5164 /* stp_card_applepay@3x.png in Resources */, + D0EFF2E62319838800CF5164 /* stp_card_form_back@3x.png in Resources */, 094DDF3422E7A61B004B0256 /* AppIntentVocabulary.plist in Resources */, D0CE6F60213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, D0CE6F63213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, @@ -2855,21 +3163,40 @@ D0CE6F68213EDA4400BCD44B /* InfoPlist.strings in Resources */, 09A218EE22A1570A00DE6898 /* BlueFilledIcon@3x.png in Resources */, 09E9600C22C23FF200B13673 /* BlueNotificationIcon@3x.png in Resources */, + D0EFF2FE2319838800CF5164 /* stp_card_form_front@3x.png in Resources */, 09E9601422C2441000B13673 /* BlackClassicNotificationIcon@3x.png in Resources */, D0CE6F6A213EDA4400BCD44B /* Localizable.strings in Resources */, + D0EFF3132319838800CF5164 /* anim_success.json in Resources */, + D0EFF3212319838800CF5164 /* Twitch.html in Resources */, + D0EFF2FF2319838800CF5164 /* stp_card_visa@3x.png in Resources */, + D0EFF2F02319838800CF5164 /* stp_card_visa_template@2x.png in Resources */, 09A4193522B7A4D500637EB4 /* BlackClassicIconIpad@2x.png in Resources */, + D0EFF3122319838800CF5164 /* anim_unpin.json in Resources */, + D0EFF3112319838800CF5164 /* anim_unmute.json in Resources */, + D0EFF2E32319838800CF5164 /* smile.tgs in Resources */, + D0EFF3142319838800CF5164 /* anim_unread.json in Resources */, 09E9601622C2441000B13673 /* BlueClassicNotificationIcon@2x.png in Resources */, + D0EFF2D52319838800CF5164 /* PhoneCountries.txt in Resources */, 09E9601322C2441000B13673 /* BlackClassicNotificationIcon@2x.png in Resources */, + D0EFF3052319838800CF5164 /* stp_card_mastercard_template@3x.png in Resources */, D0E8C2DE2285EA55009F26E8 /* BlackIcon@2x.png in Resources */, + D0EFF3272319838800CF5164 /* SFCompactRounded-Semibold.otf in Resources */, D09DCBB71D0C856B00F51FFE /* Localizable.strings in Resources */, 094DDF5722E8C310004B0256 /* Localizable.strings in Resources */, + D0EFF2E92319838800CF5164 /* stp_card_diners_template@2x.png in Resources */, D0CE6F66213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, + D0EFF2E72319838800CF5164 /* stp_card_amex@3x.png in Resources */, D08DB0B8213F4D1D00F2ADBF /* powerful_mask@2x.png in Resources */, D08DB0B4213F4D1D00F2ADBF /* knot_down@2x.png in Resources */, + D0EFF2DB2319838800CF5164 /* cry.tgs in Resources */, + D0EFF2F72319838800CF5164 /* stp_card_jcb@3x.png in Resources */, 094DDF4822E7A9A8004B0256 /* AppIntentVocabulary.plist in Resources */, 09EC5CDA22CBBF9600292E42 /* telegram_plane1@2x.png in Resources */, + D0EFF3082319838800CF5164 /* stp_card_mastercard@2x.png in Resources */, D08DB0BC213F4D1D00F2ADBF /* start_arrow@2x.png in Resources */, + D0EFF2FB2319838800CF5164 /* stp_card_discover@2x.png in Resources */, D08DB0B6213F4D1D00F2ADBF /* powerful_infinity@2x.png in Resources */, + D0EFF3042319838800CF5164 /* stp_card_visa@2x.png in Resources */, 094DDF5B22E8C310004B0256 /* InfoPlist.strings in Resources */, 09EBE2AA22B004EA00F670AB /* BlueIconLargeIpad@2x.png in Resources */, D0CE6F5B213EDA4400BCD44B /* Localizable.strings in Resources */, @@ -2877,10 +3204,13 @@ 094DDF5922E8C310004B0256 /* AppIntentVocabulary.plist in Resources */, 09A4193422B7A4D500637EB4 /* BlackClassicIconIpad.png in Resources */, 094DDF4622E7A9A8004B0256 /* Localizable.strings in Resources */, + D0EFF27C2319835B00CF5164 /* Images.xcassets in Resources */, 09A4193222B7A4D500637EB4 /* BlueClassicIconIpad.png in Resources */, + D0EFF2D82319838800CF5164 /* lol.tgs in Resources */, D0CE6F62213EDA4400BCD44B /* InfoPlist.strings in Resources */, D08DB0A8213F4D1D00F2ADBF /* fast_arrow_shadow@2x.png in Resources */, D0CFBB931FD88C2900B65C0D /* begin_record.caf in Resources */, + D0EFF3002319838800CF5164 /* stp_card_placeholder_template@3x.png in Resources */, D04DCC2C1F71C80000B021D7 /* 109.m4a in Resources */, D08DB0BD213F4D1D00F2ADBF /* start_arrow_ipad.png in Resources */, 09EBE2AB22B004EA00F670AB /* BlackIconLargeIpad@2x.png in Resources */, @@ -2888,92 +3218,146 @@ D0CE6F64213EDA4400BCD44B /* Localizable.strings in Resources */, D0CE6F6C213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, 094DDF3E22E7A98E004B0256 /* AppIntentVocabulary.plist in Resources */, + D0EFF3252319838800CF5164 /* GenericUserScript.js in Resources */, 094DDF3D22E7A98E004B0256 /* InfoPlist.strings in Resources */, D04DCC231F71C80000B021D7 /* 100.m4a in Resources */, + D0EFF2EF2319838800CF5164 /* stp_card_form_back@2x.png in Resources */, + D0EFF33123198D3200CF5164 /* NavigationShadow@2x.png in Resources */, + D0EFF31D2319838800CF5164 /* PresentationStrings.mapping in Resources */, + D0EFF2EE2319838800CF5164 /* stp_card_amex@2x.png in Resources */, 09E9600A22C23FF200B13673 /* BlueNotificationIcon@2x.png in Resources */, 094DDF3222E7A61B004B0256 /* Localizable.strings in Resources */, 09A218EF22A1570A00DE6898 /* BlueIcon@2x.png in Resources */, D04DCC281F71C80000B021D7 /* 105.m4a in Resources */, + D0EFF32B231983BF00CF5164 /* MessageSent.caf in Resources */, D08DB0BB213F4D1D00F2ADBF /* private_screw@2x.png in Resources */, D0CE6F5F213EDA4400BCD44B /* InfoPlist.strings in Resources */, + D0EFF2EA2319838800CF5164 /* stp_card_amex_template@3x.png in Resources */, D04DCC2D1F71C80000B021D7 /* 110.m4a in Resources */, 094DDF5A22E8C310004B0256 /* Localizable.strings in Resources */, + D0EFF2DF2319838800CF5164 /* ok.tgs in Resources */, D04DCC2B1F71C80000B021D7 /* 108.m4a in Resources */, D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */, D08DB0B5213F4D1D00F2ADBF /* knot_up1@2x.png in Resources */, D0E8B8AD2044496C00605593 /* voip_connecting.mp3 in Resources */, + D0EFF31F2319838800CF5164 /* TwitchUserScript.js in Resources */, + D0EFF2F42319838800CF5164 /* stp_card_discover@3x.png in Resources */, D08DB0BE213F4D1D00F2ADBF /* start_arrow_ipad@2x.png in Resources */, D08DB0A9213F4D1D00F2ADBF /* fast_body@2x.png in Resources */, D04DCC321F71C80000B021D7 /* 5.m4a in Resources */, D04DCC241F71C80000B021D7 /* 101.m4a in Resources */, 09A4193122B7A4D500637EB4 /* BlackClassicIconLargeIpad@2x.png in Resources */, + D0EFF3262319838800CF5164 /* YoutubeUserScript.js in Resources */, + D0EFF2E42319838800CF5164 /* ChatWallpaperBuiltin0.jpg in Resources */, D04DCC351F71C80000B021D7 /* 8.m4a in Resources */, + D0EFF3182319838800CF5164 /* anim_unarchive.json in Resources */, + D0EFF2DA2319838800CF5164 /* poker.tgs in Resources */, D08DB0B1213F4D1D00F2ADBF /* ic_smile@2x.png in Resources */, + D0EFF3102319838800CF5164 /* anim_infotip.json in Resources */, + D0EFF2DC2319838800CF5164 /* meh.tgs in Resources */, 09EBE2A722B004EA00F670AB /* BlueIconIpad.png in Resources */, + D0EFF33023198D3200CF5164 /* NavigationBackArrowLight@2x.png in Resources */, D0CE6F57213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, + D0EFF2FD2319838800CF5164 /* stp_card_applepay_template@3x.png in Resources */, D0CE6F59213EDA4400BCD44B /* InfoPlist.strings in Resources */, D08DB0B9213F4D1D00F2ADBF /* powerful_star@2x.png in Resources */, D04DCC271F71C80000B021D7 /* 104.m4a in Resources */, 09E9600B22C23FF200B13673 /* BlackNotificationIcon@2x.png in Resources */, 090E777522A6945900CD99F5 /* BlueClassicIcon@3x.png in Resources */, + D0EFF2F92319838800CF5164 /* stp_card_cvc@3x.png in Resources */, + D0EFF2FA2319838800CF5164 /* stp_card_jcb_template@2x.png in Resources */, + D0EFF2F12319838800CF5164 /* stp_card_form_front@2x.png in Resources */, 09A218F122A1570A00DE6898 /* BlackFilledIcon@3x.png in Resources */, D04DCC2A1F71C80000B021D7 /* 107.m4a in Resources */, D08DB0BA213F4D1D00F2ADBF /* private_door@2x.png in Resources */, + D0EFF2E52319838800CF5164 /* stp_card_visa_template@3x.png in Resources */, 09A218F022A1570A00DE6898 /* BlackFilledIcon@2x.png in Resources */, + D0EFF30C2319838800CF5164 /* stp_card_mastercard_template@2x.png in Resources */, D08DB0AE213F4D1D00F2ADBF /* ic_cam_lens@2x.png in Resources */, + D0EFF3192319838800CF5164 /* anim_ungroup.json in Resources */, + D0EFF30D2319838800CF5164 /* anim_read.json in Resources */, + D0EFF2D72319838800CF5164 /* Emoji.mapping in Resources */, + D0EFF3202319838800CF5164 /* Youtube.html in Resources */, 09A218F322A1570A00DE6898 /* BlueIcon@3x.png in Resources */, + D0EFF2F32319838800CF5164 /* stp_card_cvc_amex@3x.png in Resources */, + D0EFF2D62319838800CF5164 /* currencies.json in Resources */, D04DCC2F1F71C80000B021D7 /* 2.m4a in Resources */, + D0EFF2DE2319838800CF5164 /* surprised.tgs in Resources */, 09EBE2AC22B004EA00F670AB /* BlackIconIpad.png in Resources */, + D0EFF2E12319838800CF5164 /* poop.tgs in Resources */, + D0EFF31B2319838800CF5164 /* anim_group.json in Resources */, 09EBE2B022B004EA00F670AB /* BlueFilledIconLargeIpad@2x.png in Resources */, + D0EFF3222319838800CF5164 /* Vimeo.html in Resources */, + D0EFF2E22319838800CF5164 /* celebrate.tgs in Resources */, D0CE6F58213EDA4400BCD44B /* Localizable.strings in Resources */, D08DB0AF213F4D1D00F2ADBF /* ic_pencil@2x.png in Resources */, 094DDF5822E8C310004B0256 /* InfoPlist.strings in Resources */, + D0EFF2DD2319838800CF5164 /* sad.tgs in Resources */, 09E9601822C2441000B13673 /* BlueClassicNotificationIcon@3x.png in Resources */, + D01748C7231976B200AF3D3A /* LegacyComponentsResources.bundle in Resources */, D0CE6F67213EDA4400BCD44B /* Localizable.strings in Resources */, + D0EFF3242319838800CF5164 /* Generic.html in Resources */, 09A4193322B7A4D500637EB4 /* BlueClassicIconLargeIpad@2x.png in Resources */, D04DCC291F71C80000B021D7 /* 106.m4a in Resources */, D0CE6F5E213EDA4400BCD44B /* Localizable.strings in Resources */, D052974622B0073F004ABAF6 /* WhiteFilledIcon@3x.png in Resources */, D08DB0B7213F4D1D00F2ADBF /* powerful_infinity_white@2x.png in Resources */, - D00859A91B28189D00EAF753 /* Images.xcassets in Resources */, + D00859A91B28189D00EAF753 /* Icons.xcassets in Resources */, 094DDF0922E7A0D3004B0256 /* InfoPlist.strings in Resources */, - D001D5AA1F878DA300DF975A /* PhoneCountries.txt in Resources */, + D0EFF3172319838800CF5164 /* anim_archiveAvatar.json in Resources */, + D0EFF3092319838800CF5164 /* stp_card_mastercard@3x.png in Resources */, + D0EFF2F22319838800CF5164 /* stp_card_applepay_template@2x.png in Resources */, 094DDF0822E7A0D3004B0256 /* Localizable.strings in Resources */, 094DDF4722E7A9A8004B0256 /* InfoPlist.strings in Resources */, D0CE6F56213EDA4400BCD44B /* InfoPlist.strings in Resources */, D0CE6F65213EDA4400BCD44B /* InfoPlist.strings in Resources */, + D0EFF31E2319838800CF5164 /* VimeoUserScript.js in Resources */, D0E8B8B12044496C00605593 /* voip_busy.caf in Resources */, + D0EFF3072319838800CF5164 /* stp_card_form_applepay@3x.png in Resources */, + D0EFF3152319838800CF5164 /* anim_archiveswipe.json in Resources */, + D0EFF3032319838800CF5164 /* stp_card_placeholder_template@2x.png in Resources */, 09EBE2A622B004EA00F670AB /* BlueIconIpad@2x.png in Resources */, D08DB0A7213F4D1D00F2ADBF /* fast_arrow@2x.png in Resources */, 094DDF0A22E7A0D3004B0256 /* AppIntentVocabulary.plist in Resources */, D0E8B8AF2044496C00605593 /* voip_fail.caf in Resources */, D0CE6F55213EDA4400BCD44B /* Localizable.strings in Resources */, + D0EFF2E82319838800CF5164 /* stp_card_diners@2x.png in Resources */, D08DB0B2213F4D1D00F2ADBF /* ic_smile_eye@2x.png in Resources */, D08DB0B3213F4D1D00F2ADBF /* ic_videocam@2x.png in Resources */, D04DCC2E1F71C80000B021D7 /* 111.m4a in Resources */, D08DB0AA213F4D1D00F2ADBF /* fast_spiral@2x.png in Resources */, + D0EFF2EB2319838800CF5164 /* stp_card_diners_template@3x.png in Resources */, D0CE6F5C213EDA4400BCD44B /* InfoPlist.strings in Resources */, D052974722B0073F004ABAF6 /* WhiteFilledIcon@2x.png in Resources */, D0CE6F5D213EDA4400BCD44B /* AppIntentVocabulary.plist in Resources */, D0CE6F61213EDA4400BCD44B /* Localizable.strings in Resources */, D04DCC311F71C80000B021D7 /* 4.m4a in Resources */, - D0FC1948201D2DA800FEDBB2 /* SFCompactRounded-Semibold.otf in Resources */, + D0EFF31C2319838800CF5164 /* anim_mute.json in Resources */, D04DCC331F71C80000B021D7 /* 6.m4a in Resources */, D04DCC251F71C80000B021D7 /* 102.m4a in Resources */, 09EBE2A822B004EA00F670AB /* BlackFilledIconIpad@2x.png in Resources */, D021D4D9219CAEDD0064BEBA /* Config-Fork.xcconfig in Resources */, + D0EFF31A2319838800CF5164 /* anim_hide.json in Resources */, D08DB0AD213F4D1D00F2ADBF /* ic_cam@2x.png in Resources */, + D0EFF3232319838800CF5164 /* Instagram.html in Resources */, + D0EFF30E2319838800CF5164 /* anim_archive.json in Resources */, 094DDF3322E7A61B004B0256 /* InfoPlist.strings in Resources */, 090E777622A6945900CD99F5 /* BlackClassicIcon@3x.png in Resources */, D0E8B8B02044496C00605593 /* voip_ringback.caf in Resources */, 09E9600822C23FF200B13673 /* BlackNotificationIcon.png in Resources */, + D0EFF2ED2319838800CF5164 /* stp_card_diners@3x.png in Resources */, + D0EFF2F82319838800CF5164 /* stp_card_jcb@2x.png in Resources */, + D0EFF3012319838800CF5164 /* stp_card_applepay@2x.png in Resources */, 09EBE2A922B004EA00F670AB /* BlackFilledIconLargeIpad@2x.png in Resources */, + D0EFF30A2319838800CF5164 /* stp_card_discover_template@3x.png in Resources */, 090E777422A6945900CD99F5 /* BlackClassicIcon@2x.png in Resources */, + D0EFF2FC2319838800CF5164 /* stp_card_cvc_amex@2x.png in Resources */, D00ED75A1FE94630001F38BD /* AppIntentVocabulary.plist in Resources */, D04DCC221F71C80000B021D7 /* 1.m4a in Resources */, 09EBE2AD22B004EA00F670AB /* BlackFilledIconIpad.png in Resources */, 09E9601522C2441000B13673 /* BlueClassicNotificationIcon.png in Resources */, D0E8C2E02285EA6A009F26E8 /* BlackIcon@3x.png in Resources */, + D0EFF3162319838800CF5164 /* anim_delete.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Telegram-iOS.xcworkspace/contents.xcworkspacedata b/Telegram-iOS.xcworkspace/contents.xcworkspacedata index 9b8384320d..9e47100447 100644 --- a/Telegram-iOS.xcworkspace/contents.xcworkspacedata +++ b/Telegram-iOS.xcworkspace/contents.xcworkspacedata @@ -63,6 +63,9 @@ + + @@ -180,7 +183,7 @@ location = "container:" name = "Image Processing"> + location = "group:submodules/YuvConversion/YuvConversion_Xcode.xcodeproj"> diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/Contents.json b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/Contents.json rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/Contents.json diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@1024px.png b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@1024px.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@1024px.png rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@1024px.png diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@120px.png b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@120px.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@120px.png rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@120px.png diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@152px.png b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@152px.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@152px.png rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@152px.png diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@167px.png b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@167px.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@167px.png rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@167px.png diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@180px.png b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@180px.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@180px.png rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@180px.png diff --git a/Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@76px.png b/Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@76px.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIcon.appiconset/icon@76px.png rename to Telegram-iOS/Icons.xcassets/AppIcon.appiconset/icon@76px.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIcon@2x-1.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIcon@2x-1.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIcon@2x-1.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIcon@2x-1.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIcon@2x.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIcon@2x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIcon@2x.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIcon@2x.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIcon@3x.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIcon@3x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIcon@3x.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIcon@3x.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIconIpad.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIconIpad.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIconIpad.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIconIpad.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIconIpad@2x.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIconIpad@2x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIconIpad@2x.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIconIpad@2x.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIconLargeIpad@2x.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIconLargeIpad@2x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueIconLargeIpad@2x.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueIconLargeIpad@2x.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x-1.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x-1.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x-1.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x-1.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@2x.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@3x.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@3x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@3x.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/BlueNotificationIcon@3x.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Contents.json b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Contents.json similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Contents.json rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Contents.json diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple-iTunesArtwork.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple-iTunesArtwork.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple-iTunesArtwork.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple-iTunesArtwork.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@29x29.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@29x29.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@29x29.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@29x29.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@40x40-1.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@40x40-1.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@40x40-1.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@40x40-1.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@58x58-1.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@58x58-1.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@58x58-1.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@58x58-1.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@58x58.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@58x58.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@58x58.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@58x58.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@80x80-1.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@80x80-1.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@80x80-1.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@80x80-1.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@80x80.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@80x80.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@80x80.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@80x80.png diff --git a/Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@87x87.png b/Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@87x87.png similarity index 100% rename from Telegram-iOS/Images.xcassets/AppIconLLC.appiconset/Simple@87x87.png rename to Telegram-iOS/Icons.xcassets/AppIconLLC.appiconset/Simple@87x87.png diff --git a/Telegram-iOS/Images.xcassets/Contents.json b/Telegram-iOS/Icons.xcassets/Contents.json similarity index 100% rename from Telegram-iOS/Images.xcassets/Contents.json rename to Telegram-iOS/Icons.xcassets/Contents.json diff --git a/Telegram-iOS/Images.xcassets/Shortcuts/Contents.json b/Telegram-iOS/Icons.xcassets/Shortcuts/Contents.json similarity index 100% rename from Telegram-iOS/Images.xcassets/Shortcuts/Contents.json rename to Telegram-iOS/Icons.xcassets/Shortcuts/Contents.json diff --git a/Telegram-iOS/Images.xcassets/Shortcuts/SavedMessages.imageset/Contents.json b/Telegram-iOS/Icons.xcassets/Shortcuts/SavedMessages.imageset/Contents.json similarity index 100% rename from Telegram-iOS/Images.xcassets/Shortcuts/SavedMessages.imageset/Contents.json rename to Telegram-iOS/Icons.xcassets/Shortcuts/SavedMessages.imageset/Contents.json diff --git a/Telegram-iOS/Images.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@2x.png b/Telegram-iOS/Icons.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@2x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@2x.png rename to Telegram-iOS/Icons.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@2x.png diff --git a/Telegram-iOS/Images.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@3x.png b/Telegram-iOS/Icons.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@3x.png similarity index 100% rename from Telegram-iOS/Images.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@3x.png rename to Telegram-iOS/Icons.xcassets/Shortcuts/SavedMessages.imageset/SavedMessagesIcon@3x.png diff --git a/Telegram-iOS/Info.plist b/Telegram-iOS/Info.plist index 0c3c9d00ae..f65788504f 100644 --- a/Telegram-iOS/Info.plist +++ b/Telegram-iOS/Info.plist @@ -185,7 +185,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 5.11 + 5.12 CFBundleSignature ???? CFBundleURLTypes @@ -356,5 +356,10 @@ + UIDeviceFamily + + 1 + 2 + diff --git a/submodules/Display/Display/NavigationBackArrowLight@2x.png b/Telegram-iOS/Resources/NavigationBackArrowLight@2x.png similarity index 100% rename from submodules/Display/Display/NavigationBackArrowLight@2x.png rename to Telegram-iOS/Resources/NavigationBackArrowLight@2x.png diff --git a/submodules/Display/Display/NavigationShadow@2x.png b/Telegram-iOS/Resources/NavigationShadow@2x.png similarity index 100% rename from submodules/Display/Display/NavigationShadow@2x.png rename to Telegram-iOS/Resources/NavigationShadow@2x.png diff --git a/Telegram-iOS/Resources/PhoneCountries.txt b/Telegram-iOS/Resources/PhoneCountries.txt deleted file mode 100644 index 0f0932ed27..0000000000 --- a/Telegram-iOS/Resources/PhoneCountries.txt +++ /dev/null @@ -1,232 +0,0 @@ -1876;JM;Jamaica -1869;KN;Saint Kitts & Nevis -1868;TT;Trinidad & Tobago -1784;VC;Saint Vincent & the Grenadines -1767;DM;Dominica -1758;LC;Saint Lucia -1721;SX;Sint Maarten -1684;AS;American Samoa -1671;GU;Guam -1670;MP;Northern Mariana Islands -1664;MS;Montserrat -1649;TC;Turks & Caicos Islands -1473;GD;Grenada -1441;BM;Bermuda -1345;KY;Cayman Islands -1340;VI;US Virgin Islands -1284;VG;British Virgin Islands -1268;AG;Antigua & Barbuda -1264;AI;Anguilla -1246;BB;Barbados -1242;BS;Bahamas -998;UZ;Uzbekistan -996;KG;Kyrgyzstan -995;GE;Georgia -994;AZ;Azerbaijan -993;TM;Turkmenistan -992;TJ;Tajikistan -977;NP;Nepal -976;MN;Mongolia -975;BT;Bhutan -974;QA;Qatar -973;BH;Bahrain -972;IL;Israel -971;AE;United Arab Emirates -970;PS;Palestine -968;OM;Oman -967;YE;Yemen -966;SA;Saudi Arabia -965;KW;Kuwait -964;IQ;Iraq -963;SY;Syrian Arab Republic -962;JO;Jordan -961;LB;Lebanon -960;MV;Maldives -886;TW;Taiwan -880;BD;Bangladesh -856;LA;Laos -855;KH;Cambodia -853;MO;Macau -852;HK;Hong Kong -850;KP;North Korea -692;MH;Marshall Islands -691;FM;Micronesia -690;TK;Tokelau -689;PF;French Polynesia -688;TV;Tuvalu -687;NC;New Caledonia -686;KI;Kiribati -685;WS;Samoa -683;NU;Niue -682;CK;Cook Islands -681;WF;Wallis & Futuna -680;PW;Palau -679;FJ;Fiji -678;VU;Vanuatu -677;SB;Solomon Islands -676;TO;Tonga -675;PG;Papua New Guinea -674;NR;Nauru -673;BN;Brunei Darussalam -672;NF;Norfolk Island -670;TL;Timor-Leste -599;BQ;Bonaire, Sint Eustatius & Saba -599;CW;Curaçao -598;UY;Uruguay -597;SR;Suriname -596;MQ;Martinique -595;PY;Paraguay -594;GF;French Guiana -593;EC;Ecuador -592;GY;Guyana -591;BO;Bolivia -590;GP;Guadeloupe -509;HT;Haiti -508;PM;Saint Pierre & Miquelon -507;PA;Panama -506;CR;Costa Rica -505;NI;Nicaragua -504;HN;Honduras -503;SV;El Salvador -502;GT;Guatemala -501;BZ;Belize -500;FK;Falkland Islands -423;LI;Liechtenstein -421;SK;Slovakia -420;CZ;Czech Republic -383;XK;Kosovo -389;MK;Macedonia -387;BA;Bosnia & Herzegovina -386;SI;Slovenia -385;HR;Croatia -382;ME;Montenegro -381;RS;Serbia -380;UA;Ukraine -378;SM;San Marino -377;MC;Monaco -376;AD;Andorra -375;BY;Belarus -374;AM;Armenia -373;MD;Moldova -372;EE;Estonia -371;LV;Latvia -370;LT;Lithuania -359;BG;Bulgaria -358;FI;Finland -357;CY;Cyprus -356;MT;Malta -355;AL;Albania -354;IS;Iceland -353;IE;Ireland -352;LU;Luxembourg -351;PT;Portugal -350;GI;Gibraltar -299;GL;Greenland -298;FO;Faroe Islands -297;AW;Aruba -291;ER;Eritrea -290;SH;Saint Helena -269;KM;Comoros -268;SZ;Swaziland -267;BW;Botswana -266;LS;Lesotho -265;MW;Malawi -264;NA;Namibia -263;ZW;Zimbabwe -262;RE;Réunion -261;MG;Madagascar -260;ZM;Zambia -258;MZ;Mozambique -257;BI;Burundi -256;UG;Uganda -255;TZ;Tanzania -254;KE;Kenya -253;DJ;Djibouti -252;SO;Somalia -251;ET;Ethiopia -250;RW;Rwanda -249;SD;Sudan -248;SC;Seychelles -247;SH;Saint Helena -246;IO;Diego Garcia -245;GW;Guinea-Bissau -244;AO;Angola -243;CD;Congo (Dem. Rep.) -242;CG;Congo (Rep.) -241;GA;Gabon -240;GQ;Equatorial Guinea -239;ST;São Tomé & Príncipe -238;CV;Cape Verde -237;CM;Cameroon -236;CF;Central African Rep. -235;TD;Chad -234;NG;Nigeria -233;GH;Ghana -232;SL;Sierra Leone -231;LR;Liberia -230;MU;Mauritius -229;BJ;Benin -228;TG;Togo -227;NE;Niger -226;BF;Burkina Faso -225;CI;Côte d`Ivoire -224;GN;Guinea -223;ML;Mali -222;MR;Mauritania -221;SN;Senegal -220;GM;Gambia -218;LY;Libya -216;TN;Tunisia -213;DZ;Algeria -212;MA;Morocco -211;SS;South Sudan -98;IR;Iran -95;MM;Myanmar -94;LK;Sri Lanka -93;AF;Afghanistan -92;PK;Pakistan -91;IN;India -90;TR;Turkey -86;CN;China -84;VN;Vietnam -82;KR;South Korea -81;JP;Japan -66;TH;Thailand -65;SG;Singapore -64;NZ;New Zealand -63;PH;Philippines -62;ID;Indonesia -61;AU;Australia -60;MY;Malaysia -58;VE;Venezuela -57;CO;Colombia -56;CL;Chile -55;BR;Brazil -54;AR;Argentina -53;CU;Cuba -52;MX;Mexico -51;PE;Peru -49;DE;Germany -48;PL;Poland -47;NO;Norway -46;SE;Sweden -45;DK;Denmark -44;GB;United Kingdom -43;AT;Austria -41;CH;Switzerland -40;RO;Romania -39;IT;Italy -36;HU;Hungary -34;ES;Spain -33;FR;France -32;BE;Belgium -31;NL;Netherlands -30;GR;Greece -27;ZA;South Africa -20;EG;Egypt -7;RU;Russian Federation -7;KZ;Kazakhstan -1;US;USA -1;PR;Puerto Rico -1;DO;Dominican Rep. -1;CA;Canada diff --git a/Telegram-iOS/Resources/SFCompactRounded-Semibold.otf b/Telegram-iOS/Resources/SFCompactRounded-Semibold.otf deleted file mode 100644 index 100e58bff7..0000000000 Binary files a/Telegram-iOS/Resources/SFCompactRounded-Semibold.otf and /dev/null differ diff --git a/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements b/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements index 4b8f4137a4..2ee56b1a9a 100644 --- a/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements +++ b/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements @@ -30,7 +30,7 @@ keychain-access-groups - $(AppIdentifierPrefix)org.telegram.Telegram-iOS + X834Q8SBVP.org.telegram.Telegram-iOS diff --git a/Telegram-iOS/en.lproj/Localizable.strings b/Telegram-iOS/en.lproj/Localizable.strings index d07fc5db9c..7ad93f1eda 100644 --- a/Telegram-iOS/en.lproj/Localizable.strings +++ b/Telegram-iOS/en.lproj/Localizable.strings @@ -218,6 +218,7 @@ "PUSH_CHAT_MESSAGE_VIDEOS" = "%1$@ sent %3$@ videos to the group %2$@"; "PUSH_REMINDER_TITLE" = "🗓 Reminder"; +"PUSH_SENDER_YOU" = "📅 You"; "LOCAL_MESSAGE_FWDS" = "%1$@ forwarded you %2$d messages"; "LOCAL_CHANNEL_MESSAGE_FWDS" = "%1$@ posted %2$d forwarded messages"; @@ -243,6 +244,7 @@ "Common.Search" = "Search"; "Common.More" = "More"; "Common.Select" = "Select"; +"Items.NOfM" = "%1$@ of %2$@"; // State "State.Connecting" = "Connecting..."; @@ -309,6 +311,7 @@ "LastSeen.HoursAgo_0" = "last seen %@ hours ago"; "LastSeen.YesterdayAt" = "last seen yesterday at %@"; "LastSeen.AtDate" = "last seen %@"; +"LastSeen.TodayAt" = "last seen today at %@"; "LastSeen.Lately" = "last seen recently"; "LastSeen.WithinAWeek" = "last seen within a week"; "LastSeen.WithinAMonth" = "last seen within a month"; @@ -4679,7 +4682,8 @@ Any member of this group will be able to see messages in the channel."; "EditTheme.Preview" = "CHAT PREVIEW"; "EditTheme.UploadNewTheme" = "Create from File..."; "EditTheme.UploadEditedTheme" = "Update from File..."; -"EditTheme.ThemeTemplateAlert" = "New Theme Added\n\nPress and hold on your theme to edit it or get a sharing link. Users who install your theme will get automatic updates each time you change it.\n\nFor advanced editing purposes, you can find a file with your theme in Saved Messages."; +"EditTheme.ThemeTemplateAlertTitle" = "New Theme Added"; +"EditTheme.ThemeTemplateAlertText" = "Press and hold on your theme to edit it or get a sharing link. Users who install your theme will get automatic updates each time you change it.\n\nFor advanced editing purposes, you can find a file with your theme in Saved Messages."; "EditTheme.FileReadError" = "Invalid theme file"; "EditTheme.Create.TopInfo" = "The theme will be based on your currently selected colors and wallpaper."; @@ -4707,6 +4711,7 @@ Any member of this group will be able to see messages in the channel."; "EditTheme.Edit.Preview.OutgoingText" = "Or upload a theme file"; "EditTheme.ErrorLinkTaken" = "Sorry, this link is already taken"; +"EditTheme.ErrorInvalidCharacters" = "Sorry, this link is invalid."; "Wallpaper.ErrorNotFound" = "Sorry, this chat background doesn't seem to exist."; "Theme.ErrorNotFound" = "Sorry, this color theme doesn't seem to exist."; @@ -4720,3 +4725,27 @@ Any member of this group will be able to see messages in the channel."; "Theme.UsersCount_0" = "%@ people are using this theme"; "Conversation.SendMessageErrorTooMuchScheduled" = "Sorry, you can not schedule more than 100 messages."; + +"ChatList.Context.MarkAllAsRead" = "Mark All as Read"; +"ChatList.Context.HideArchive" = "Hide Above the List"; +"ChatList.Context.UnhideArchive" = "Pin in the list"; +"ChatList.Context.RemoveFromRecents" = "Clear from Recents"; +"ChatList.Context.AddToContacts" = "Add to Contacts"; +"ChatList.Context.MarkAsRead" = "Mark as Read"; +"ChatList.Context.MarkAsUnread" = "Mark as Unread"; +"ChatList.Context.Archive" = "Archive"; +"ChatList.Context.Unarchive" = "Unarchive"; +"ChatList.Context.Pin" = "Pin"; +"ChatList.Context.Unpin" = "Unpin"; +"ChatList.Context.Mute" = "Mute"; +"ChatList.Context.Unmute" = "Unmute"; +"ChatList.Context.JoinChannel" = "Join Channel"; +"ChatList.Context.Delete" = "Delete"; + +"ContactList.Context.SendMessage" = "Send Message"; +"ContactList.Context.StartSecretChat" = "Start Secret Chat"; +"ContactList.Context.Call" = "Cal"; + +"Theme.Context.Apply" = "Apply"; + +"Settings.Context.Logout" = "Logout"; diff --git a/Telegram-iOS/main.m b/Telegram-iOS/main.m index 6e4c714868..dcc092613b 100644 --- a/Telegram-iOS/main.m +++ b/Telegram-iOS/main.m @@ -8,7 +8,8 @@ int main(int argc, char *argv[]) { sleep(1000); void *NotificationService = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationService.appex/NotificationService"] UTF8String], RTLD_LAZY); void *SiriIntents = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/SiriIntents.appex/SiriIntents"] UTF8String], RTLD_LAZY); - void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY);*/ + void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY); + 1*/ @autoreleasepool { return UIApplicationMain(argc, argv, @"Application", @"AppDelegate"); diff --git a/Telegram_Buck.xcworkspace/buck-project.meta.json b/Telegram_Buck.xcworkspace/buck-project.meta.json new file mode 100644 index 0000000000..1156e6950f --- /dev/null +++ b/Telegram_Buck.xcworkspace/buck-project.meta.json @@ -0,0 +1 @@ +{"required-targets":["//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_ac3_parser.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_adts_parser.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_avcodec.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_avdct.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_avfft.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_d3d11va.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_dirac.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_dv_profile.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_dxva2.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_jni.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_mediacodec.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_qsv.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_vaapi.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_vdpau.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_version.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_videotoolbox.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_vorbis_parser.h","//submodules/FFMpeg:ffmpeg_header_libavcodec_sub_xvmc.h","//submodules/FFMpeg:ffmpeg_header_libavformat_sub_avformat.h","//submodules/FFMpeg:ffmpeg_header_libavformat_sub_avio.h","//submodules/FFMpeg:ffmpeg_header_libavformat_sub_version.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_adler32.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_aes.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_aes_ctr.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_attributes.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_audio_fifo.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_avassert.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_avconfig.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_avstring.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_avutil.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_base64.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_blowfish.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_bprint.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_bswap.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_buffer.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_camellia.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_cast5.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_channel_layout.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_common.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_cpu.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_crc.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_des.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_dict.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_display.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_downmix_info.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_encryption_info.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_error.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_eval.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_ffversion.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_fifo.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_file.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_frame.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hash.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hmac.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_cuda.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_d3d11va.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_drm.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_dxva2.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_mediacodec.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_qsv.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_vaapi.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_vdpau.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_hwcontext_videotoolbox.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_imgutils.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_intfloat.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_intreadwrite.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_lfg.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_log.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_lzo.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_macros.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_mastering_display_metadata.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_mathematics.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_md5.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_mem.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_motion_vector.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_murmur3.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_opt.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_parseutils.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_pixdesc.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_pixelutils.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_pixfmt.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_random_seed.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_rational.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_rc4.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_replaygain.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_ripemd.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_samplefmt.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_sha.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_sha512.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_spherical.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_stereo3d.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_tea.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_threadmessage.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_time.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_timecode.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_timestamp.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_tree.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_twofish.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_version.h","//submodules/FFMpeg:ffmpeg_header_libavutil_sub_xtea.h","//submodules/FFMpeg:ffmpeg_header_libswresample_sub_swresample.h","//submodules/FFMpeg:ffmpeg_header_libswresample_sub_version.h","//submodules/FFMpeg:libffmpeg_build","//submodules/MtProtoKit:openssl_libs","//submodules/Opus:opus_lib_file","//submodules/WebP:WebP_lib_file"],"xcconfig-paths":["buck-out/gen/AppLibrary-Debug.xcconfig","buck-out/gen/AppLibrary-Profile.xcconfig","buck-out/gen/AppLibrary-Release.xcconfig","buck-out/gen/IntentsExtension#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/IntentsExtension#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/IntentsExtension#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/NotificationContentExtension#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/NotificationContentExtension#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/NotificationContentExtension#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/NotificationServiceExtension#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/NotificationServiceExtension#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/NotificationServiceExtension#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/ShareExtension#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/ShareExtension#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/ShareExtension#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/Telegram-Debug.xcconfig","buck-out/gen/Telegram-Profile.xcconfig","buck-out/gen/Telegram-Release.xcconfig","buck-out/gen/WatchApp#watchsimulator-i386-Debug.xcconfig","buck-out/gen/WatchApp#watchsimulator-i386-Profile.xcconfig","buck-out/gen/WatchApp#watchsimulator-i386-Release.xcconfig","buck-out/gen/WatchAppExtension#watchsimulator-i386-Debug.xcconfig","buck-out/gen/WatchAppExtension#watchsimulator-i386-Profile.xcconfig","buck-out/gen/WatchAppExtension#watchsimulator-i386-Release.xcconfig","buck-out/gen/WidgetExtension#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/WidgetExtension#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/WidgetExtension#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/submodules/AccountContext/AccountContext-Debug.xcconfig","buck-out/gen/submodules/AccountContext/AccountContext-Profile.xcconfig","buck-out/gen/submodules/AccountContext/AccountContext-Release.xcconfig","buck-out/gen/submodules/ActionSheetPeerItem/ActionSheetPeerItem-Debug.xcconfig","buck-out/gen/submodules/ActionSheetPeerItem/ActionSheetPeerItem-Profile.xcconfig","buck-out/gen/submodules/ActionSheetPeerItem/ActionSheetPeerItem-Release.xcconfig","buck-out/gen/submodules/ActivityIndicator/ActivityIndicator-Debug.xcconfig","buck-out/gen/submodules/ActivityIndicator/ActivityIndicator-Profile.xcconfig","buck-out/gen/submodules/ActivityIndicator/ActivityIndicator-Release.xcconfig","buck-out/gen/submodules/AlertUI/AlertUI-Debug.xcconfig","buck-out/gen/submodules/AlertUI/AlertUI-Profile.xcconfig","buck-out/gen/submodules/AlertUI/AlertUI-Release.xcconfig","buck-out/gen/submodules/AnimationUI/AnimationUI-Debug.xcconfig","buck-out/gen/submodules/AnimationUI/AnimationUI-Profile.xcconfig","buck-out/gen/submodules/AnimationUI/AnimationUI-Release.xcconfig","buck-out/gen/submodules/AppBundle/AppBundle-Debug.xcconfig","buck-out/gen/submodules/AppBundle/AppBundle-Profile.xcconfig","buck-out/gen/submodules/AppBundle/AppBundle-Release.xcconfig","buck-out/gen/submodules/AsyncDisplayKit/AsyncDisplayKit#shared-Debug.xcconfig","buck-out/gen/submodules/AsyncDisplayKit/AsyncDisplayKit#shared-Profile.xcconfig","buck-out/gen/submodules/AsyncDisplayKit/AsyncDisplayKit#shared-Release.xcconfig","buck-out/gen/submodules/AuthorizationUI/AuthorizationUI-Debug.xcconfig","buck-out/gen/submodules/AuthorizationUI/AuthorizationUI-Profile.xcconfig","buck-out/gen/submodules/AuthorizationUI/AuthorizationUI-Release.xcconfig","buck-out/gen/submodules/AvatarNode/AvatarNode-Debug.xcconfig","buck-out/gen/submodules/AvatarNode/AvatarNode-Profile.xcconfig","buck-out/gen/submodules/AvatarNode/AvatarNode-Release.xcconfig","buck-out/gen/submodules/BotPaymentsUI/BotPaymentsUI-Debug.xcconfig","buck-out/gen/submodules/BotPaymentsUI/BotPaymentsUI-Profile.xcconfig","buck-out/gen/submodules/BotPaymentsUI/BotPaymentsUI-Release.xcconfig","buck-out/gen/submodules/BuildConfig/BuildConfig-Debug.xcconfig","buck-out/gen/submodules/BuildConfig/BuildConfig-Profile.xcconfig","buck-out/gen/submodules/BuildConfig/BuildConfig-Release.xcconfig","buck-out/gen/submodules/CallListUI/CallListUI-Debug.xcconfig","buck-out/gen/submodules/CallListUI/CallListUI-Profile.xcconfig","buck-out/gen/submodules/CallListUI/CallListUI-Release.xcconfig","buck-out/gen/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader-Debug.xcconfig","buck-out/gen/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader-Profile.xcconfig","buck-out/gen/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader-Release.xcconfig","buck-out/gen/submodules/ChatListSearchItemNode/ChatListSearchItemNode-Debug.xcconfig","buck-out/gen/submodules/ChatListSearchItemNode/ChatListSearchItemNode-Profile.xcconfig","buck-out/gen/submodules/ChatListSearchItemNode/ChatListSearchItemNode-Release.xcconfig","buck-out/gen/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode-Debug.xcconfig","buck-out/gen/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode-Profile.xcconfig","buck-out/gen/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode-Release.xcconfig","buck-out/gen/submodules/ChatListUI/ChatListUI-Debug.xcconfig","buck-out/gen/submodules/ChatListUI/ChatListUI-Profile.xcconfig","buck-out/gen/submodules/ChatListUI/ChatListUI-Release.xcconfig","buck-out/gen/submodules/ChatTitleActivityNode/ChatTitleActivityNode-Debug.xcconfig","buck-out/gen/submodules/ChatTitleActivityNode/ChatTitleActivityNode-Profile.xcconfig","buck-out/gen/submodules/ChatTitleActivityNode/ChatTitleActivityNode-Release.xcconfig","buck-out/gen/submodules/CheckNode/CheckNode-Debug.xcconfig","buck-out/gen/submodules/CheckNode/CheckNode-Profile.xcconfig","buck-out/gen/submodules/CheckNode/CheckNode-Release.xcconfig","buck-out/gen/submodules/ComposePollUI/ComposePollUI-Debug.xcconfig","buck-out/gen/submodules/ComposePollUI/ComposePollUI-Profile.xcconfig","buck-out/gen/submodules/ComposePollUI/ComposePollUI-Release.xcconfig","buck-out/gen/submodules/ContactListUI/ContactListUI-Debug.xcconfig","buck-out/gen/submodules/ContactListUI/ContactListUI-Profile.xcconfig","buck-out/gen/submodules/ContactListUI/ContactListUI-Release.xcconfig","buck-out/gen/submodules/ContactsPeerItem/ContactsPeerItem-Debug.xcconfig","buck-out/gen/submodules/ContactsPeerItem/ContactsPeerItem-Profile.xcconfig","buck-out/gen/submodules/ContactsPeerItem/ContactsPeerItem-Release.xcconfig","buck-out/gen/submodules/ContextUI/ContextUI-Debug.xcconfig","buck-out/gen/submodules/ContextUI/ContextUI-Profile.xcconfig","buck-out/gen/submodules/ContextUI/ContextUI-Release.xcconfig","buck-out/gen/submodules/CounterContollerTitleView/CounterContollerTitleView-Debug.xcconfig","buck-out/gen/submodules/CounterContollerTitleView/CounterContollerTitleView-Profile.xcconfig","buck-out/gen/submodules/CounterContollerTitleView/CounterContollerTitleView-Release.xcconfig","buck-out/gen/submodules/CountrySelectionUI/CountrySelectionUI-Debug.xcconfig","buck-out/gen/submodules/CountrySelectionUI/CountrySelectionUI-Profile.xcconfig","buck-out/gen/submodules/CountrySelectionUI/CountrySelectionUI-Release.xcconfig","buck-out/gen/submodules/Crc32/Crc32-Debug.xcconfig","buck-out/gen/submodules/Crc32/Crc32-Profile.xcconfig","buck-out/gen/submodules/Crc32/Crc32-Release.xcconfig","buck-out/gen/submodules/DateSelectionUI/DateSelectionUI-Debug.xcconfig","buck-out/gen/submodules/DateSelectionUI/DateSelectionUI-Profile.xcconfig","buck-out/gen/submodules/DateSelectionUI/DateSelectionUI-Release.xcconfig","buck-out/gen/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem-Debug.xcconfig","buck-out/gen/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem-Profile.xcconfig","buck-out/gen/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem-Release.xcconfig","buck-out/gen/submodules/DeviceAccess/DeviceAccess-Debug.xcconfig","buck-out/gen/submodules/DeviceAccess/DeviceAccess-Profile.xcconfig","buck-out/gen/submodules/DeviceAccess/DeviceAccess-Release.xcconfig","buck-out/gen/submodules/DeviceLocationManager/DeviceLocationManager-Debug.xcconfig","buck-out/gen/submodules/DeviceLocationManager/DeviceLocationManager-Profile.xcconfig","buck-out/gen/submodules/DeviceLocationManager/DeviceLocationManager-Release.xcconfig","buck-out/gen/submodules/DeviceProximity/DeviceProximity-Debug.xcconfig","buck-out/gen/submodules/DeviceProximity/DeviceProximity-Profile.xcconfig","buck-out/gen/submodules/DeviceProximity/DeviceProximity-Release.xcconfig","buck-out/gen/submodules/DirectionalPanGesture/DirectionalPanGesture-Debug.xcconfig","buck-out/gen/submodules/DirectionalPanGesture/DirectionalPanGesture-Profile.xcconfig","buck-out/gen/submodules/DirectionalPanGesture/DirectionalPanGesture-Release.xcconfig","buck-out/gen/submodules/Display/Display#shared-Debug.xcconfig","buck-out/gen/submodules/Display/Display#shared-Profile.xcconfig","buck-out/gen/submodules/Display/Display#shared-Release.xcconfig","buck-out/gen/submodules/Emoji/Emoji-Debug.xcconfig","buck-out/gen/submodules/Emoji/Emoji-Profile.xcconfig","buck-out/gen/submodules/Emoji/Emoji-Release.xcconfig","buck-out/gen/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization-Debug.xcconfig","buck-out/gen/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization-Profile.xcconfig","buck-out/gen/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization-Release.xcconfig","buck-out/gen/submodules/FFMpeg/FFMpeg-Debug.xcconfig","buck-out/gen/submodules/FFMpeg/FFMpeg-Profile.xcconfig","buck-out/gen/submodules/FFMpeg/FFMpeg-Release.xcconfig","buck-out/gen/submodules/FFMpeg/libffmpeg-Debug.xcconfig","buck-out/gen/submodules/FFMpeg/libffmpeg-Profile.xcconfig","buck-out/gen/submodules/FFMpeg/libffmpeg-Release.xcconfig","buck-out/gen/submodules/GZip/GZip-Debug.xcconfig","buck-out/gen/submodules/GZip/GZip-Profile.xcconfig","buck-out/gen/submodules/GZip/GZip-Release.xcconfig","buck-out/gen/submodules/GalleryUI/GalleryUI-Debug.xcconfig","buck-out/gen/submodules/GalleryUI/GalleryUI-Profile.xcconfig","buck-out/gen/submodules/GalleryUI/GalleryUI-Release.xcconfig","buck-out/gen/submodules/GameUI/GameUI-Debug.xcconfig","buck-out/gen/submodules/GameUI/GameUI-Profile.xcconfig","buck-out/gen/submodules/GameUI/GameUI-Release.xcconfig","buck-out/gen/submodules/Geocoding/Geocoding-Debug.xcconfig","buck-out/gen/submodules/Geocoding/Geocoding-Profile.xcconfig","buck-out/gen/submodules/Geocoding/Geocoding-Release.xcconfig","buck-out/gen/submodules/GridMessageSelectionNode/GridMessageSelectionNode-Debug.xcconfig","buck-out/gen/submodules/GridMessageSelectionNode/GridMessageSelectionNode-Profile.xcconfig","buck-out/gen/submodules/GridMessageSelectionNode/GridMessageSelectionNode-Release.xcconfig","buck-out/gen/submodules/HashtagSearchUI/HashtagSearchUI-Debug.xcconfig","buck-out/gen/submodules/HashtagSearchUI/HashtagSearchUI-Profile.xcconfig","buck-out/gen/submodules/HashtagSearchUI/HashtagSearchUI-Release.xcconfig","buck-out/gen/submodules/HexColor/HexColor-Debug.xcconfig","buck-out/gen/submodules/HexColor/HexColor-Profile.xcconfig","buck-out/gen/submodules/HexColor/HexColor-Release.xcconfig","buck-out/gen/submodules/HockeySDK-iOS/HockeySDK-Debug.xcconfig","buck-out/gen/submodules/HockeySDK-iOS/HockeySDK-Profile.xcconfig","buck-out/gen/submodules/HockeySDK-iOS/HockeySDK-Release.xcconfig","buck-out/gen/submodules/HorizontalPeerItem/HorizontalPeerItem-Debug.xcconfig","buck-out/gen/submodules/HorizontalPeerItem/HorizontalPeerItem-Profile.xcconfig","buck-out/gen/submodules/HorizontalPeerItem/HorizontalPeerItem-Release.xcconfig","buck-out/gen/submodules/ImageBlur/ImageBlur-Debug.xcconfig","buck-out/gen/submodules/ImageBlur/ImageBlur-Profile.xcconfig","buck-out/gen/submodules/ImageBlur/ImageBlur-Release.xcconfig","buck-out/gen/submodules/ImageCompression/ImageCompression-Debug.xcconfig","buck-out/gen/submodules/ImageCompression/ImageCompression-Profile.xcconfig","buck-out/gen/submodules/ImageCompression/ImageCompression-Release.xcconfig","buck-out/gen/submodules/ImageTransparency/ImageTransparency-Debug.xcconfig","buck-out/gen/submodules/ImageTransparency/ImageTransparency-Profile.xcconfig","buck-out/gen/submodules/ImageTransparency/ImageTransparency-Release.xcconfig","buck-out/gen/submodules/InstantPageCache/InstantPageCache-Debug.xcconfig","buck-out/gen/submodules/InstantPageCache/InstantPageCache-Profile.xcconfig","buck-out/gen/submodules/InstantPageCache/InstantPageCache-Release.xcconfig","buck-out/gen/submodules/InstantPageUI/InstantPageUI-Debug.xcconfig","buck-out/gen/submodules/InstantPageUI/InstantPageUI-Profile.xcconfig","buck-out/gen/submodules/InstantPageUI/InstantPageUI-Release.xcconfig","buck-out/gen/submodules/ItemListAddressItem/ItemListAddressItem-Debug.xcconfig","buck-out/gen/submodules/ItemListAddressItem/ItemListAddressItem-Profile.xcconfig","buck-out/gen/submodules/ItemListAddressItem/ItemListAddressItem-Release.xcconfig","buck-out/gen/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem-Debug.xcconfig","buck-out/gen/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem-Profile.xcconfig","buck-out/gen/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem-Release.xcconfig","buck-out/gen/submodules/ItemListPeerActionItem/ItemListPeerActionItem-Debug.xcconfig","buck-out/gen/submodules/ItemListPeerActionItem/ItemListPeerActionItem-Profile.xcconfig","buck-out/gen/submodules/ItemListPeerActionItem/ItemListPeerActionItem-Release.xcconfig","buck-out/gen/submodules/ItemListPeerItem/ItemListPeerItem-Debug.xcconfig","buck-out/gen/submodules/ItemListPeerItem/ItemListPeerItem-Profile.xcconfig","buck-out/gen/submodules/ItemListPeerItem/ItemListPeerItem-Release.xcconfig","buck-out/gen/submodules/ItemListStickerPackItem/ItemListStickerPackItem-Debug.xcconfig","buck-out/gen/submodules/ItemListStickerPackItem/ItemListStickerPackItem-Profile.xcconfig","buck-out/gen/submodules/ItemListStickerPackItem/ItemListStickerPackItem-Release.xcconfig","buck-out/gen/submodules/ItemListUI/ItemListUI-Debug.xcconfig","buck-out/gen/submodules/ItemListUI/ItemListUI-Profile.xcconfig","buck-out/gen/submodules/ItemListUI/ItemListUI-Release.xcconfig","buck-out/gen/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI-Debug.xcconfig","buck-out/gen/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI-Profile.xcconfig","buck-out/gen/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI-Release.xcconfig","buck-out/gen/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI-Debug.xcconfig","buck-out/gen/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI-Profile.xcconfig","buck-out/gen/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI-Release.xcconfig","buck-out/gen/submodules/LanguageSuggestionUI/LanguageSuggestionUI-Debug.xcconfig","buck-out/gen/submodules/LanguageSuggestionUI/LanguageSuggestionUI-Profile.xcconfig","buck-out/gen/submodules/LanguageSuggestionUI/LanguageSuggestionUI-Release.xcconfig","buck-out/gen/submodules/LegacyComponents/LegacyComponents-Debug.xcconfig","buck-out/gen/submodules/LegacyComponents/LegacyComponents-Profile.xcconfig","buck-out/gen/submodules/LegacyComponents/LegacyComponents-Release.xcconfig","buck-out/gen/submodules/LegacyDataImport/LegacyDataImport-Debug.xcconfig","buck-out/gen/submodules/LegacyDataImport/LegacyDataImport-Profile.xcconfig","buck-out/gen/submodules/LegacyDataImport/LegacyDataImport-Release.xcconfig","buck-out/gen/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI-Debug.xcconfig","buck-out/gen/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI-Profile.xcconfig","buck-out/gen/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI-Release.xcconfig","buck-out/gen/submodules/LegacyUI/LegacyUI-Debug.xcconfig","buck-out/gen/submodules/LegacyUI/LegacyUI-Profile.xcconfig","buck-out/gen/submodules/LegacyUI/LegacyUI-Release.xcconfig","buck-out/gen/submodules/LightweightAccountData/LightweightAccountData-Debug.xcconfig","buck-out/gen/submodules/LightweightAccountData/LightweightAccountData-Profile.xcconfig","buck-out/gen/submodules/LightweightAccountData/LightweightAccountData-Release.xcconfig","buck-out/gen/submodules/ListSectionHeaderNode/ListSectionHeaderNode-Debug.xcconfig","buck-out/gen/submodules/ListSectionHeaderNode/ListSectionHeaderNode-Profile.xcconfig","buck-out/gen/submodules/ListSectionHeaderNode/ListSectionHeaderNode-Release.xcconfig","buck-out/gen/submodules/LiveLocationManager/LiveLocationManager-Debug.xcconfig","buck-out/gen/submodules/LiveLocationManager/LiveLocationManager-Profile.xcconfig","buck-out/gen/submodules/LiveLocationManager/LiveLocationManager-Release.xcconfig","buck-out/gen/submodules/LiveLocationPositionNode/LiveLocationPositionNode-Debug.xcconfig","buck-out/gen/submodules/LiveLocationPositionNode/LiveLocationPositionNode-Profile.xcconfig","buck-out/gen/submodules/LiveLocationPositionNode/LiveLocationPositionNode-Release.xcconfig","buck-out/gen/submodules/LiveLocationTimerNode/LiveLocationTimerNode-Debug.xcconfig","buck-out/gen/submodules/LiveLocationTimerNode/LiveLocationTimerNode-Profile.xcconfig","buck-out/gen/submodules/LiveLocationTimerNode/LiveLocationTimerNode-Release.xcconfig","buck-out/gen/submodules/LocalAuth/LocalAuth-Debug.xcconfig","buck-out/gen/submodules/LocalAuth/LocalAuth-Profile.xcconfig","buck-out/gen/submodules/LocalAuth/LocalAuth-Release.xcconfig","buck-out/gen/submodules/LocalMediaResources/LocalMediaResources-Debug.xcconfig","buck-out/gen/submodules/LocalMediaResources/LocalMediaResources-Profile.xcconfig","buck-out/gen/submodules/LocalMediaResources/LocalMediaResources-Release.xcconfig","buck-out/gen/submodules/LocalizedPeerData/LocalizedPeerData-Debug.xcconfig","buck-out/gen/submodules/LocalizedPeerData/LocalizedPeerData-Profile.xcconfig","buck-out/gen/submodules/LocalizedPeerData/LocalizedPeerData-Release.xcconfig","buck-out/gen/submodules/LocationUI/LocationUI-Debug.xcconfig","buck-out/gen/submodules/LocationUI/LocationUI-Profile.xcconfig","buck-out/gen/submodules/LocationUI/LocationUI-Release.xcconfig","buck-out/gen/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes-Debug.xcconfig","buck-out/gen/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes-Profile.xcconfig","buck-out/gen/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes-Release.xcconfig","buck-out/gen/submodules/MediaPlayer/UniversalMediaPlayer-Debug.xcconfig","buck-out/gen/submodules/MediaPlayer/UniversalMediaPlayer-Profile.xcconfig","buck-out/gen/submodules/MediaPlayer/UniversalMediaPlayer-Release.xcconfig","buck-out/gen/submodules/MediaResources/MediaResources-Debug.xcconfig","buck-out/gen/submodules/MediaResources/MediaResources-Profile.xcconfig","buck-out/gen/submodules/MediaResources/MediaResources-Release.xcconfig","buck-out/gen/submodules/MergeLists/MergeLists-Debug.xcconfig","buck-out/gen/submodules/MergeLists/MergeLists-Profile.xcconfig","buck-out/gen/submodules/MergeLists/MergeLists-Release.xcconfig","buck-out/gen/submodules/MessageReactionListUI/MessageReactionListUI-Debug.xcconfig","buck-out/gen/submodules/MessageReactionListUI/MessageReactionListUI-Profile.xcconfig","buck-out/gen/submodules/MessageReactionListUI/MessageReactionListUI-Release.xcconfig","buck-out/gen/submodules/MimeTypes/MimeTypes-Debug.xcconfig","buck-out/gen/submodules/MimeTypes/MimeTypes-Profile.xcconfig","buck-out/gen/submodules/MimeTypes/MimeTypes-Release.xcconfig","buck-out/gen/submodules/MosaicLayout/MosaicLayout-Debug.xcconfig","buck-out/gen/submodules/MosaicLayout/MosaicLayout-Profile.xcconfig","buck-out/gen/submodules/MosaicLayout/MosaicLayout-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKit#shared-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKit#shared-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKit#shared-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Release.xcconfig","buck-out/gen/submodules/MusicAlbumArtResources/MusicAlbumArtResources-Debug.xcconfig","buck-out/gen/submodules/MusicAlbumArtResources/MusicAlbumArtResources-Profile.xcconfig","buck-out/gen/submodules/MusicAlbumArtResources/MusicAlbumArtResources-Release.xcconfig","buck-out/gen/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI-Debug.xcconfig","buck-out/gen/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI-Profile.xcconfig","buck-out/gen/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI-Release.xcconfig","buck-out/gen/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI-Debug.xcconfig","buck-out/gen/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI-Profile.xcconfig","buck-out/gen/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI-Release.xcconfig","buck-out/gen/submodules/OpenInExternalAppUI/OpenInExternalAppUI-Debug.xcconfig","buck-out/gen/submodules/OpenInExternalAppUI/OpenInExternalAppUI-Profile.xcconfig","buck-out/gen/submodules/OpenInExternalAppUI/OpenInExternalAppUI-Release.xcconfig","buck-out/gen/submodules/Opus/opus-Debug.xcconfig","buck-out/gen/submodules/Opus/opus-Profile.xcconfig","buck-out/gen/submodules/Opus/opus-Release.xcconfig","buck-out/gen/submodules/Opus/opus_lib-Debug.xcconfig","buck-out/gen/submodules/Opus/opus_lib-Profile.xcconfig","buck-out/gen/submodules/Opus/opus_lib-Release.xcconfig","buck-out/gen/submodules/OpusBinding/OpusBinding-Debug.xcconfig","buck-out/gen/submodules/OpusBinding/OpusBinding-Profile.xcconfig","buck-out/gen/submodules/OpusBinding/OpusBinding-Release.xcconfig","buck-out/gen/submodules/OverlayStatusController/OverlayStatusController-Debug.xcconfig","buck-out/gen/submodules/OverlayStatusController/OverlayStatusController-Profile.xcconfig","buck-out/gen/submodules/OverlayStatusController/OverlayStatusController-Release.xcconfig","buck-out/gen/submodules/PasscodeUI/PasscodeUI-Debug.xcconfig","buck-out/gen/submodules/PasscodeUI/PasscodeUI-Profile.xcconfig","buck-out/gen/submodules/PasscodeUI/PasscodeUI-Release.xcconfig","buck-out/gen/submodules/PassportUI/PassportUI-Debug.xcconfig","buck-out/gen/submodules/PassportUI/PassportUI-Profile.xcconfig","buck-out/gen/submodules/PassportUI/PassportUI-Release.xcconfig","buck-out/gen/submodules/PasswordSetupUI/PasswordSetupUI-Debug.xcconfig","buck-out/gen/submodules/PasswordSetupUI/PasswordSetupUI-Profile.xcconfig","buck-out/gen/submodules/PasswordSetupUI/PasswordSetupUI-Release.xcconfig","buck-out/gen/submodules/Pdf/Pdf-Debug.xcconfig","buck-out/gen/submodules/Pdf/Pdf-Profile.xcconfig","buck-out/gen/submodules/Pdf/Pdf-Release.xcconfig","buck-out/gen/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI-Debug.xcconfig","buck-out/gen/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI-Profile.xcconfig","buck-out/gen/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI-Release.xcconfig","buck-out/gen/submodules/PeerInfoUI/PeerInfoUI-Debug.xcconfig","buck-out/gen/submodules/PeerInfoUI/PeerInfoUI-Profile.xcconfig","buck-out/gen/submodules/PeerInfoUI/PeerInfoUI-Release.xcconfig","buck-out/gen/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode-Debug.xcconfig","buck-out/gen/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode-Profile.xcconfig","buck-out/gen/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode-Release.xcconfig","buck-out/gen/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager-Debug.xcconfig","buck-out/gen/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager-Profile.xcconfig","buck-out/gen/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager-Release.xcconfig","buck-out/gen/submodules/PeersNearbyIconNode/PeersNearbyIconNode-Debug.xcconfig","buck-out/gen/submodules/PeersNearbyIconNode/PeersNearbyIconNode-Profile.xcconfig","buck-out/gen/submodules/PeersNearbyIconNode/PeersNearbyIconNode-Release.xcconfig","buck-out/gen/submodules/PeersNearbyUI/PeersNearbyUI-Debug.xcconfig","buck-out/gen/submodules/PeersNearbyUI/PeersNearbyUI-Profile.xcconfig","buck-out/gen/submodules/PeersNearbyUI/PeersNearbyUI-Release.xcconfig","buck-out/gen/submodules/PersistentStringHash/PersistentStringHash-Debug.xcconfig","buck-out/gen/submodules/PersistentStringHash/PersistentStringHash-Profile.xcconfig","buck-out/gen/submodules/PersistentStringHash/PersistentStringHash-Release.xcconfig","buck-out/gen/submodules/PhoneInputNode/PhoneInputNode-Debug.xcconfig","buck-out/gen/submodules/PhoneInputNode/PhoneInputNode-Profile.xcconfig","buck-out/gen/submodules/PhoneInputNode/PhoneInputNode-Release.xcconfig","buck-out/gen/submodules/PhotoResources/PhotoResources-Debug.xcconfig","buck-out/gen/submodules/PhotoResources/PhotoResources-Profile.xcconfig","buck-out/gen/submodules/PhotoResources/PhotoResources-Release.xcconfig","buck-out/gen/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching-Debug.xcconfig","buck-out/gen/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching-Profile.xcconfig","buck-out/gen/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching-Release.xcconfig","buck-out/gen/submodules/Postbox/Postbox#shared-Debug.xcconfig","buck-out/gen/submodules/Postbox/Postbox#shared-Profile.xcconfig","buck-out/gen/submodules/Postbox/Postbox#shared-Release.xcconfig","buck-out/gen/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode-Debug.xcconfig","buck-out/gen/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode-Profile.xcconfig","buck-out/gen/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode-Release.xcconfig","buck-out/gen/submodules/QrCode/QrCode-Debug.xcconfig","buck-out/gen/submodules/QrCode/QrCode-Profile.xcconfig","buck-out/gen/submodules/QrCode/QrCode-Release.xcconfig","buck-out/gen/submodules/RMIntro/RMIntro-Debug.xcconfig","buck-out/gen/submodules/RMIntro/RMIntro-Profile.xcconfig","buck-out/gen/submodules/RMIntro/RMIntro-Release.xcconfig","buck-out/gen/submodules/RadialStatusNode/RadialStatusNode-Debug.xcconfig","buck-out/gen/submodules/RadialStatusNode/RadialStatusNode-Profile.xcconfig","buck-out/gen/submodules/RadialStatusNode/RadialStatusNode-Release.xcconfig","buck-out/gen/submodules/RaiseToListen/RaiseToListen-Debug.xcconfig","buck-out/gen/submodules/RaiseToListen/RaiseToListen-Profile.xcconfig","buck-out/gen/submodules/RaiseToListen/RaiseToListen-Release.xcconfig","buck-out/gen/submodules/ReactionSelectionNode/ReactionSelectionNode-Debug.xcconfig","buck-out/gen/submodules/ReactionSelectionNode/ReactionSelectionNode-Profile.xcconfig","buck-out/gen/submodules/ReactionSelectionNode/ReactionSelectionNode-Release.xcconfig","buck-out/gen/submodules/SSignalKit/SSignalKit/SSignalKit-Debug.xcconfig","buck-out/gen/submodules/SSignalKit/SSignalKit/SSignalKit-Profile.xcconfig","buck-out/gen/submodules/SSignalKit/SSignalKit/SSignalKit-Release.xcconfig","buck-out/gen/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit#shared-Debug.xcconfig","buck-out/gen/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit#shared-Profile.xcconfig","buck-out/gen/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit#shared-Release.xcconfig","buck-out/gen/submodules/SaveToCameraRoll/SaveToCameraRoll-Debug.xcconfig","buck-out/gen/submodules/SaveToCameraRoll/SaveToCameraRoll-Profile.xcconfig","buck-out/gen/submodules/SaveToCameraRoll/SaveToCameraRoll-Release.xcconfig","buck-out/gen/submodules/ScreenCaptureDetection/ScreenCaptureDetection-Debug.xcconfig","buck-out/gen/submodules/ScreenCaptureDetection/ScreenCaptureDetection-Profile.xcconfig","buck-out/gen/submodules/ScreenCaptureDetection/ScreenCaptureDetection-Release.xcconfig","buck-out/gen/submodules/SearchBarNode/SearchBarNode-Debug.xcconfig","buck-out/gen/submodules/SearchBarNode/SearchBarNode-Profile.xcconfig","buck-out/gen/submodules/SearchBarNode/SearchBarNode-Release.xcconfig","buck-out/gen/submodules/SearchUI/SearchUI-Debug.xcconfig","buck-out/gen/submodules/SearchUI/SearchUI-Profile.xcconfig","buck-out/gen/submodules/SearchUI/SearchUI-Release.xcconfig","buck-out/gen/submodules/SelectablePeerNode/SelectablePeerNode-Debug.xcconfig","buck-out/gen/submodules/SelectablePeerNode/SelectablePeerNode-Profile.xcconfig","buck-out/gen/submodules/SelectablePeerNode/SelectablePeerNode-Release.xcconfig","buck-out/gen/submodules/SettingsUI/SettingsUI-Debug.xcconfig","buck-out/gen/submodules/SettingsUI/SettingsUI-Profile.xcconfig","buck-out/gen/submodules/SettingsUI/SettingsUI-Release.xcconfig","buck-out/gen/submodules/ShareController/ShareController-Debug.xcconfig","buck-out/gen/submodules/ShareController/ShareController-Profile.xcconfig","buck-out/gen/submodules/ShareController/ShareController-Release.xcconfig","buck-out/gen/submodules/ShareItems/ShareItems-Debug.xcconfig","buck-out/gen/submodules/ShareItems/ShareItems-Profile.xcconfig","buck-out/gen/submodules/ShareItems/ShareItems-Release.xcconfig","buck-out/gen/submodules/SinglePhoneInputNode/SinglePhoneInputNode-Debug.xcconfig","buck-out/gen/submodules/SinglePhoneInputNode/SinglePhoneInputNode-Profile.xcconfig","buck-out/gen/submodules/SinglePhoneInputNode/SinglePhoneInputNode-Release.xcconfig","buck-out/gen/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode-Debug.xcconfig","buck-out/gen/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode-Profile.xcconfig","buck-out/gen/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode-Release.xcconfig","buck-out/gen/submodules/StickerPackPreviewUI/StickerPackPreviewUI-Debug.xcconfig","buck-out/gen/submodules/StickerPackPreviewUI/StickerPackPreviewUI-Profile.xcconfig","buck-out/gen/submodules/StickerPackPreviewUI/StickerPackPreviewUI-Release.xcconfig","buck-out/gen/submodules/StickerResources/StickerResources-Debug.xcconfig","buck-out/gen/submodules/StickerResources/StickerResources-Profile.xcconfig","buck-out/gen/submodules/StickerResources/StickerResources-Release.xcconfig","buck-out/gen/submodules/Stripe/Stripe-Debug.xcconfig","buck-out/gen/submodules/Stripe/Stripe-Profile.xcconfig","buck-out/gen/submodules/Stripe/Stripe-Release.xcconfig","buck-out/gen/submodules/SwipeToDismissGesture/SwipeToDismissGesture-Debug.xcconfig","buck-out/gen/submodules/SwipeToDismissGesture/SwipeToDismissGesture-Profile.xcconfig","buck-out/gen/submodules/SwipeToDismissGesture/SwipeToDismissGesture-Release.xcconfig","buck-out/gen/submodules/SwitchNode/SwitchNode-Debug.xcconfig","buck-out/gen/submodules/SwitchNode/SwitchNode-Profile.xcconfig","buck-out/gen/submodules/SwitchNode/SwitchNode-Release.xcconfig","buck-out/gen/submodules/TelegramApi/TelegramApi-Debug.xcconfig","buck-out/gen/submodules/TelegramApi/TelegramApi-Profile.xcconfig","buck-out/gen/submodules/TelegramApi/TelegramApi-Release.xcconfig","buck-out/gen/submodules/TelegramAudio/TelegramAudio-Debug.xcconfig","buck-out/gen/submodules/TelegramAudio/TelegramAudio-Profile.xcconfig","buck-out/gen/submodules/TelegramAudio/TelegramAudio-Release.xcconfig","buck-out/gen/submodules/TelegramBaseController/TelegramBaseController-Debug.xcconfig","buck-out/gen/submodules/TelegramBaseController/TelegramBaseController-Profile.xcconfig","buck-out/gen/submodules/TelegramBaseController/TelegramBaseController-Release.xcconfig","buck-out/gen/submodules/TelegramCallsUI/TelegramCallsUI-Debug.xcconfig","buck-out/gen/submodules/TelegramCallsUI/TelegramCallsUI-Profile.xcconfig","buck-out/gen/submodules/TelegramCallsUI/TelegramCallsUI-Release.xcconfig","buck-out/gen/submodules/TelegramCore/TelegramCore#shared-Debug.xcconfig","buck-out/gen/submodules/TelegramCore/TelegramCore#shared-Profile.xcconfig","buck-out/gen/submodules/TelegramCore/TelegramCore#shared-Release.xcconfig","buck-out/gen/submodules/TelegramNotices/TelegramNotices-Debug.xcconfig","buck-out/gen/submodules/TelegramNotices/TelegramNotices-Profile.xcconfig","buck-out/gen/submodules/TelegramNotices/TelegramNotices-Release.xcconfig","buck-out/gen/submodules/TelegramPermissions/TelegramPermissions-Debug.xcconfig","buck-out/gen/submodules/TelegramPermissions/TelegramPermissions-Profile.xcconfig","buck-out/gen/submodules/TelegramPermissions/TelegramPermissions-Release.xcconfig","buck-out/gen/submodules/TelegramPermissionsUI/TelegramPermissionsUI-Debug.xcconfig","buck-out/gen/submodules/TelegramPermissionsUI/TelegramPermissionsUI-Profile.xcconfig","buck-out/gen/submodules/TelegramPermissionsUI/TelegramPermissionsUI-Release.xcconfig","buck-out/gen/submodules/TelegramPresentationData/TelegramPresentationData-Debug.xcconfig","buck-out/gen/submodules/TelegramPresentationData/TelegramPresentationData-Profile.xcconfig","buck-out/gen/submodules/TelegramPresentationData/TelegramPresentationData-Release.xcconfig","buck-out/gen/submodules/TelegramStringFormatting/TelegramStringFormatting-Debug.xcconfig","buck-out/gen/submodules/TelegramStringFormatting/TelegramStringFormatting-Profile.xcconfig","buck-out/gen/submodules/TelegramStringFormatting/TelegramStringFormatting-Release.xcconfig","buck-out/gen/submodules/TelegramUI/TelegramUI#shared-Debug.xcconfig","buck-out/gen/submodules/TelegramUI/TelegramUI#shared-Profile.xcconfig","buck-out/gen/submodules/TelegramUI/TelegramUI#shared-Release.xcconfig","buck-out/gen/submodules/TelegramUIPreferences/TelegramUIPreferences-Debug.xcconfig","buck-out/gen/submodules/TelegramUIPreferences/TelegramUIPreferences-Profile.xcconfig","buck-out/gen/submodules/TelegramUIPreferences/TelegramUIPreferences-Release.xcconfig","buck-out/gen/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent-Debug.xcconfig","buck-out/gen/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent-Profile.xcconfig","buck-out/gen/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent-Release.xcconfig","buck-out/gen/submodules/TelegramUpdateUI/TelegramUpdateUI-Debug.xcconfig","buck-out/gen/submodules/TelegramUpdateUI/TelegramUpdateUI-Profile.xcconfig","buck-out/gen/submodules/TelegramUpdateUI/TelegramUpdateUI-Release.xcconfig","buck-out/gen/submodules/TelegramVoip/TelegramVoip-Debug.xcconfig","buck-out/gen/submodules/TelegramVoip/TelegramVoip-Profile.xcconfig","buck-out/gen/submodules/TelegramVoip/TelegramVoip-Release.xcconfig","buck-out/gen/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager-Debug.xcconfig","buck-out/gen/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager-Profile.xcconfig","buck-out/gen/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager-Release.xcconfig","buck-out/gen/submodules/TextFormat/TextFormat-Debug.xcconfig","buck-out/gen/submodules/TextFormat/TextFormat-Profile.xcconfig","buck-out/gen/submodules/TextFormat/TextFormat-Release.xcconfig","buck-out/gen/submodules/TextSelectionNode/TextSelectionNode-Debug.xcconfig","buck-out/gen/submodules/TextSelectionNode/TextSelectionNode-Profile.xcconfig","buck-out/gen/submodules/TextSelectionNode/TextSelectionNode-Release.xcconfig","buck-out/gen/submodules/TinyThumbnail/TinyThumbnail-Debug.xcconfig","buck-out/gen/submodules/TinyThumbnail/TinyThumbnail-Profile.xcconfig","buck-out/gen/submodules/TinyThumbnail/TinyThumbnail-Release.xcconfig","buck-out/gen/submodules/TouchDownGesture/TouchDownGesture-Debug.xcconfig","buck-out/gen/submodules/TouchDownGesture/TouchDownGesture-Profile.xcconfig","buck-out/gen/submodules/TouchDownGesture/TouchDownGesture-Release.xcconfig","buck-out/gen/submodules/Tuples/Tuples-Debug.xcconfig","buck-out/gen/submodules/Tuples/Tuples-Profile.xcconfig","buck-out/gen/submodules/Tuples/Tuples-Release.xcconfig","buck-out/gen/submodules/UndoUI/UndoUI-Debug.xcconfig","buck-out/gen/submodules/UndoUI/UndoUI-Profile.xcconfig","buck-out/gen/submodules/UndoUI/UndoUI-Release.xcconfig","buck-out/gen/submodules/UrlEscaping/UrlEscaping-Debug.xcconfig","buck-out/gen/submodules/UrlEscaping/UrlEscaping-Profile.xcconfig","buck-out/gen/submodules/UrlEscaping/UrlEscaping-Release.xcconfig","buck-out/gen/submodules/UrlHandling/UrlHandling-Debug.xcconfig","buck-out/gen/submodules/UrlHandling/UrlHandling-Profile.xcconfig","buck-out/gen/submodules/UrlHandling/UrlHandling-Release.xcconfig","buck-out/gen/submodules/WallpaperResources/WallpaperResources-Debug.xcconfig","buck-out/gen/submodules/WallpaperResources/WallpaperResources-Profile.xcconfig","buck-out/gen/submodules/WallpaperResources/WallpaperResources-Release.xcconfig","buck-out/gen/submodules/WatchBridge/WatchBridge-Debug.xcconfig","buck-out/gen/submodules/WatchBridge/WatchBridge-Profile.xcconfig","buck-out/gen/submodules/WatchBridge/WatchBridge-Release.xcconfig","buck-out/gen/submodules/WatchBridgeAudio/WatchBridgeAudio-Debug.xcconfig","buck-out/gen/submodules/WatchBridgeAudio/WatchBridgeAudio-Profile.xcconfig","buck-out/gen/submodules/WatchBridgeAudio/WatchBridgeAudio-Release.xcconfig","buck-out/gen/submodules/WatchCommon/Host/WatchCommon-Debug.xcconfig","buck-out/gen/submodules/WatchCommon/Host/WatchCommon-Profile.xcconfig","buck-out/gen/submodules/WatchCommon/Host/WatchCommon-Release.xcconfig","buck-out/gen/submodules/WebP/WebPImage-Debug.xcconfig","buck-out/gen/submodules/WebP/WebPImage-Profile.xcconfig","buck-out/gen/submodules/WebP/WebPImage-Release.xcconfig","buck-out/gen/submodules/WebP/WebP_lib-Debug.xcconfig","buck-out/gen/submodules/WebP/WebP_lib-Profile.xcconfig","buck-out/gen/submodules/WebP/WebP_lib-Release.xcconfig","buck-out/gen/submodules/WebSearchUI/WebSearchUI-Debug.xcconfig","buck-out/gen/submodules/WebSearchUI/WebSearchUI-Profile.xcconfig","buck-out/gen/submodules/WebSearchUI/WebSearchUI-Release.xcconfig","buck-out/gen/submodules/WebUI/WebUI-Debug.xcconfig","buck-out/gen/submodules/WebUI/WebUI-Profile.xcconfig","buck-out/gen/submodules/WebUI/WebUI-Release.xcconfig","buck-out/gen/submodules/WebsiteType/WebsiteType-Debug.xcconfig","buck-out/gen/submodules/WebsiteType/WebsiteType-Profile.xcconfig","buck-out/gen/submodules/WebsiteType/WebsiteType-Release.xcconfig","buck-out/gen/submodules/YuvConversion/YuvConversion-Debug.xcconfig","buck-out/gen/submodules/YuvConversion/YuvConversion-Profile.xcconfig","buck-out/gen/submodules/YuvConversion/YuvConversion-Release.xcconfig","buck-out/gen/submodules/libphonenumber/libphonenumber-Debug.xcconfig","buck-out/gen/submodules/libphonenumber/libphonenumber-Profile.xcconfig","buck-out/gen/submodules/libphonenumber/libphonenumber-Release.xcconfig","buck-out/gen/submodules/libtgvoip/libtgvoip-Debug.xcconfig","buck-out/gen/submodules/libtgvoip/libtgvoip-Profile.xcconfig","buck-out/gen/submodules/libtgvoip/libtgvoip-Release.xcconfig","buck-out/gen/submodules/lottie-ios/Lottie-Debug.xcconfig","buck-out/gen/submodules/lottie-ios/Lottie-Profile.xcconfig","buck-out/gen/submodules/lottie-ios/Lottie-Release.xcconfig","buck-out/gen/submodules/rlottie/RLottieBinding-Debug.xcconfig","buck-out/gen/submodules/rlottie/RLottieBinding-Profile.xcconfig","buck-out/gen/submodules/rlottie/RLottieBinding-Release.xcconfig","buck-out/gen/submodules/sqlcipher/sqlcipher-Debug.xcconfig","buck-out/gen/submodules/sqlcipher/sqlcipher-Profile.xcconfig","buck-out/gen/submodules/sqlcipher/sqlcipher-Release.xcconfig"],"copy-in-xcode":[]} \ No newline at end of file diff --git a/Telegram_Buck.xcworkspace/contents.xcworkspacedata b/Telegram_Buck.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..87da4a941c --- /dev/null +++ b/Telegram_Buck.xcworkspace/contents.xcworkspacedata @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Telegram_Buck.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Telegram_Buck.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Telegram_Buck.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Telegram_Buck.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000000..115f338bb5 --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + \ No newline at end of file diff --git a/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+IntentsExtension.xcscheme b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+IntentsExtension.xcscheme new file mode 100644 index 0000000000..a48bce0372 --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+IntentsExtension.xcscheme @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+NotificationContentExtension.xcscheme b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+NotificationContentExtension.xcscheme new file mode 100644 index 0000000000..e49afaf107 --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+NotificationContentExtension.xcscheme @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+NotificationServiceExtension.xcscheme b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+NotificationServiceExtension.xcscheme new file mode 100644 index 0000000000..749f43806b --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+NotificationServiceExtension.xcscheme @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+ShareExtension.xcscheme b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+ShareExtension.xcscheme new file mode 100644 index 0000000000..df5967d397 --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+ShareExtension.xcscheme @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+WidgetExtension.xcscheme b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+WidgetExtension.xcscheme new file mode 100644 index 0000000000..e1435ba40b --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck+WidgetExtension.xcscheme @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck.xcscheme b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck.xcscheme new file mode 100644 index 0000000000..7d02338fcb --- /dev/null +++ b/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck.xcscheme @@ -0,0 +1,2518 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Temp/BUCK b/Temp/BUCK new file mode 100644 index 0000000000..7c14d43f5f --- /dev/null +++ b/Temp/BUCK @@ -0,0 +1,80 @@ +load("//Config:configs.bzl", + "app_binary_configs", + "library_configs", + "app_info_plist_substitutions", + "DEVELOPMENT_LANGUAGE", +) + +load("//Config:buck_rule_macros.bzl", + "framework_binary_dependencies", + "framework_bundle_dependencies", + "glob_map", + "glob_sub_map", + "merge_maps", +) + +framework_dependencies = [ + "//submodules/MtProtoKit:MtProtoKit", + #"//submodules/Emoji:Emoji", +] + +apple_library( + name = "AppLibrary", + visibility = [ + "//:", + "//...", + ], + configs = library_configs(), + swift_version = native.read_config("swift", "version"), + srcs = [ + "Telegram-iOS/main.m", + "Telegram-iOS/Application.swift" + ], + deps = [ + "//submodules/MtProtoKit:MtProtoKitFramework", + ] +) + +apple_binary( + name = "AppBinary", + visibility = [ + "//:", + "//...", + ], + configs = app_binary_configs(), + swift_version = native.read_config("swift", "version"), + srcs = [ + "Empty.swift", + ], + deps = [ + ":AppLibrary", + ] +) + +apple_bundle( + name = "Telegram", + visibility = [ + "//:", + ], + extension = "app", + binary = ":AppBinary", + product_name = "Telegram", + info_plist = "Telegram-iOS/Info.plist", + info_plist_substitutions = app_info_plist_substitutions(), + deps = [ + "//submodules/MtProtoKit:MtProtoKitFramework", + ] +) + +# Package + +apple_package( + name = "AppPackage", + bundle = ":Telegram", +) + +xcode_workspace_config( + name = "workspace", + workspace_name = "Telegram_Buck", + src_target = ":Telegram", +) \ No newline at end of file diff --git a/Temp/Empty.swift b/Temp/Empty.swift new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Temp/Empty.swift @@ -0,0 +1 @@ + diff --git a/Temp/Telegram-iOS/Application.swift b/Temp/Telegram-iOS/Application.swift new file mode 100644 index 0000000000..10c08975ea --- /dev/null +++ b/Temp/Telegram-iOS/Application.swift @@ -0,0 +1,5 @@ +import UIKit + +@objc(Application) class Application: UIApplication { + +} diff --git a/Temp/Telegram-iOS/Info.plist b/Temp/Telegram-iOS/Info.plist new file mode 100644 index 0000000000..f65788504f --- /dev/null +++ b/Temp/Telegram-iOS/Info.plist @@ -0,0 +1,365 @@ + + + + + CFBundleAllowMixedLocalizations + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${APP_NAME} + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIcons + + CFBundleAlternateIcons + + Black + + CFBundleIconFiles + + BlackIcon + BlackNotificationIcon + + UIPrerenderedIcon + + + BlackClassic + + CFBundleIconFiles + + BlackClassicIcon + BlackClassicNotificationIcon + + UIPrerenderedIcon + + + BlackFilled + + CFBundleIconFiles + + BlackFilledIcon + + UIPrerenderedIcon + + + Blue + + CFBundleIconFiles + + BlueIcon + BlueNotificationIcon + + UIPrerenderedIcon + + + BlueClassic + + CFBundleIconFiles + + BlueClassicIcon + BlueClassicNotificationIcon + + UIPrerenderedIcon + + + BlueFilled + + CFBundleIconFiles + + BlueFilledIcon + + UIPrerenderedIcon + + + WhiteFilled + + CFBundleIconFiles + + WhiteFilledIcon + + UIPrerenderedIcon + + + + CFBundlePrimaryIcon + + CFBundleIconName + AppIconLLC + UIPrerenderedIcon + + + + CFBundleIcons~ipad + + CFBundleAlternateIcons + + Black + + CFBundleIconFiles + + BlackIconIpad + BlackIconLargeIpad + BlackNotificationIcon + + UIPrerenderedIcon + + + BlackClassic + + CFBundleIconFiles + + BlackClassicIconIpad + BlackClassicIconLargeIpad + BlackClassicNotificationIcon + + UIPrerenderedIcon + + + BlackFilled + + CFBundleIconFiles + + BlackFilledIconIpad + BlackFilledIconLargeIpad + + UIPrerenderedIcon + + + Blue + + CFBundleIconFiles + + BlueIconIpad + BlueIconLargeIpad + BlueNotificationIcon + + UIPrerenderedIcon + + + BlueClassic + + CFBundleIconFiles + + BlueClassicIconIpad + BlueClassicIconLargeIpad + BlueClassicNotificationIcon + + UIPrerenderedIcon + + + BlueFilled + + CFBundleIconFiles + + BlueFilledIconIpad + BlueFilledIconLargeIpad + + UIPrerenderedIcon + + + WhiteFilled + + CFBundleIconFiles + + WhiteFilledIcon + + UIPrerenderedIcon + + + + CFBundlePrimaryIcon + + CFBundleIconName + AppIconLLC + UIPrerenderedIcon + + + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 5.12 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleTypeRole + Viewer + CFBundleURLName + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleURLSchemes + + telegram + + + + CFBundleTypeRole + Editor + CFBundleURLName + $(PRODUCT_BUNDLE_IDENTIFIER).compatibility + CFBundleURLSchemes + + tg + $(APP_SPECIFIC_URL_SCHEME) + + + + CFBundleTypeRole + Viewer + CFBundleURLName + $(PRODUCT_BUNDLE_IDENTIFIER).dropbox + CFBundleURLSchemes + + db-pa9wtoz9l514anx + + + + CFBundleVersion + ${BUILD_NUMBER} + ITSAppUsesNonExemptEncryption + + LSApplicationQueriesSchemes + + instagram + comgooglemaps-x-callback + foursquare + here-location + yandexmaps + yandexnavi + comgooglemaps + youtube + twitter + vk + waze + googlechrome + googlechromes + firefox + touch-http + touch-https + yandexbrowser-open-url + vimeo + vine + coub + uber + citymapper + lyft + opera-http + opera-https + firefox-focus + ddgQuickLink + moovit + + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + NSCameraUsageDescription + We need this so that you can take and share photos and videos. + NSContactsUsageDescription + Telegram stores your contacts heavily encrypted in the cloud to let you connect with your friends across all your devices. + NSFaceIDUsageDescription + You can use Face ID to unlock the app. + NSLocationAlwaysUsageDescription + When you send your location to your friends, Telegram needs access to show them a map. You also need this to send locations from an Apple Watch. + NSLocationWhenInUseUsageDescription + When you send your location to your friends, Telegram needs access to show them a map. + NSMicrophoneUsageDescription + We need this so that you can record and share voice messages and videos with sound. + NSMotionUsageDescription + When you send your location to your friends, Telegram needs access to show them a map. + NSPhotoLibraryAddUsageDescription + We need this so that you can share photos and videos from your photo library. + NSPhotoLibraryUsageDescription + We need this so that you can share photos and videos from your photo library. + NSSiriUsageDescription + You can use Siri to send messages. + NSUserActivityTypes + + INSendMessageIntent + RemindAboutChatIntent + + UIAppFonts + + SFCompactRounded-Semibold.otf + + UIBackgroundModes + + audio + fetch + location + remote-notification + voip + + UIFileSharingEnabled + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UIRequiresPersistentWiFi + + UIStatusBarStyle + UIStatusBarStyleDefault + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + UIViewEdgeAntialiasing + + UIViewGroupOpacity + + UTImportedTypeDeclarations + + + UTTypeConformsTo + + public.data + + UTTypeDescription + Telegram iOS Color Theme File + UTTypeIconFiles + + BlueIcon@3x.png + + UTTypeIdentifier + org.telegram.Telegram-iOS.theme + UTTypeTagSpecification + + public.filename-extension + + tgios-theme + + + + + UIDeviceFamily + + 1 + 2 + + + diff --git a/Temp/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements b/Temp/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements new file mode 100644 index 0000000000..2ee56b1a9a --- /dev/null +++ b/Temp/Telegram-iOS/Telegram-iOS-Hockeyapp.entitlements @@ -0,0 +1,36 @@ + + + + + aps-environment + development + com.apple.developer.associated-domains + + applinks:telegram.me + applinks:t.me + + com.apple.developer.icloud-container-identifiers + + iCloud.org.telegram.Telegram-iOS + + com.apple.developer.icloud-services + + CloudKit + CloudDocuments + + com.apple.developer.siri + + com.apple.developer.ubiquity-container-identifiers + + iCloud.org.telegram.Telegram-iOS + + com.apple.security.application-groups + + group.org.telegram.Telegram-iOS + + keychain-access-groups + + X834Q8SBVP.org.telegram.Telegram-iOS + + + diff --git a/Temp/Telegram-iOS/main.m b/Temp/Telegram-iOS/main.m new file mode 100644 index 0000000000..eeef6ca7fb --- /dev/null +++ b/Temp/Telegram-iOS/main.m @@ -0,0 +1,17 @@ +#import +#import +#import + +int main(int argc, char *argv[]) { + /*NSString *basePath = [[NSString stringWithUTF8String:argv[0]] stringByDeletingLastPathComponent]; + void *Share = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Share.appex/Share"] UTF8String], RTLD_LAZY); + void *NotificationContent = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationContent.appex/NotificationContent"] UTF8String], RTLD_LAZY); + sleep(1000); + void *NotificationService = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/NotificationService.appex/NotificationService"] UTF8String], RTLD_LAZY); + void *SiriIntents = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/SiriIntents.appex/SiriIntents"] UTF8String], RTLD_LAZY); + void *Widget = dlopen([[basePath stringByAppendingPathComponent:@"PlugIns/Widget.appex/Widget"] UTF8String], RTLD_LAZY);*/ + + @autoreleasepool { + return UIApplicationMain(argc, argv, @"Application", @"AppDelegate"); + } +} diff --git a/Temp/Telegram_Buck.xcworkspace/buck-project.meta.json b/Temp/Telegram_Buck.xcworkspace/buck-project.meta.json new file mode 100644 index 0000000000..7a5fbda8d9 --- /dev/null +++ b/Temp/Telegram_Buck.xcworkspace/buck-project.meta.json @@ -0,0 +1 @@ +{"required-targets":["//submodules/MtProtoKit:openssl_libs"],"xcconfig-paths":["buck-out/gen/Temp/AppLibrary-Debug.xcconfig","buck-out/gen/Temp/AppLibrary-Profile.xcconfig","buck-out/gen/Temp/AppLibrary-Release.xcconfig","buck-out/gen/Temp/Telegram-Debug.xcconfig","buck-out/gen/Temp/Telegram-Profile.xcconfig","buck-out/gen/Temp/Telegram-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKitFramework#iphonesimulator-x86_64-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKitFramework#iphonesimulator-x86_64-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKitFramework#iphonesimulator-x86_64-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Release.xcconfig"],"copy-in-xcode":[]} \ No newline at end of file diff --git a/Temp/Telegram_Buck.xcworkspace/contents.xcworkspacedata b/Temp/Telegram_Buck.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..b2c13bdb02 --- /dev/null +++ b/Temp/Telegram_Buck.xcworkspace/contents.xcworkspacedata @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Temp/Telegram_Buck.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Temp/Telegram_Buck.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/Temp/Telegram_Buck.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Temp/Telegram_Buck.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Temp/Telegram_Buck.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000000..115f338bb5 --- /dev/null +++ b/Temp/Telegram_Buck.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + \ No newline at end of file diff --git a/Temp/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck.xcscheme b/Temp/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck.xcscheme new file mode 100644 index 0000000000..2fbbd42372 --- /dev/null +++ b/Temp/Telegram_Buck.xcworkspace/xcshareddata/xcschemes/Telegram_Buck.xcscheme @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Temp/Temp.xcodeproj/project.pbxproj b/Temp/Temp.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..fa0717064c --- /dev/null +++ b/Temp/Temp.xcodeproj/project.pbxproj @@ -0,0 +1,684 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29988E33D500000000 + + isa + PBXFileReference + name + Application.swift + path + Telegram-iOS/Application.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BF88817800000000 + + isa + PBXFileReference + name + main.m + path + Telegram-iOS/main.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29988E33D500000000 + 1DD70E29BF88817800000000 + + + B401C979C43AA77A00000000 + + isa + PBXGroup + name + AppLibrary + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E294E27EDFB00000000 + + isa + PBXFileReference + name + AppLibrary-Debug.xcconfig + path + ../buck-out/gen/Temp/AppLibrary-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294906F2A500000000 + + isa + PBXFileReference + name + AppLibrary-Profile.xcconfig + path + ../buck-out/gen/Temp/AppLibrary-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BC9D9E0700000000 + + isa + PBXFileReference + name + AppLibrary-Release.xcconfig + path + ../buck-out/gen/Temp/AppLibrary-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A8C8657400000000 + + isa + PBXFileReference + name + Telegram-Debug.xcconfig + path + ../buck-out/gen/Temp/Telegram-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297D676FDE00000000 + + isa + PBXFileReference + name + Telegram-Profile.xcconfig + path + ../buck-out/gen/Temp/Telegram-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F0FE1B4000000000 + + isa + PBXFileReference + name + Telegram-Release.xcconfig + path + ../buck-out/gen/Temp/Telegram-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E294E27EDFB00000000 + 1DD70E294906F2A500000000 + 1DD70E29BC9D9E0700000000 + 1DD70E29A8C8657400000000 + 1DD70E297D676FDE00000000 + 1DD70E29F0FE1B4000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E296A34811900000000 + + isa + PBXFileReference + name + MtProtoKitFramework.framework + path + MtProtoKitFramework.framework + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + wrapper.framework + + 1DD70E297ADFB9F200000000 + + isa + PBXFileReference + name + libAppLibrary.a + path + libAppLibrary.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B22505DC00000000 + + isa + PBXFileReference + name + libMtProtoKit.dylib + path + libMtProtoKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E296A34811900000000 + 1DD70E297ADFB9F200000000 + 1DD70E29B22505DC00000000 + + + 1DD70E29D83C37D400000000 + + isa + PBXFileReference + name + Telegram.app + path + Telegram.app + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + wrapper.application + + 1DD70E297ADFB9F200000001 + + isa + PBXFileReference + name + libAppLibrary.a + path + libAppLibrary.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D83C37D400000000 + 1DD70E297ADFB9F200000001 + + + 1DD70E29001F47FB00000001 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E296ABF6A1200000000 + + isa + PBXFileReference + name + Empty.swift + path + Empty.swift + sourceTree + SOURCE_ROOT + + 1DD70E2906C06BEE00000000 + + isa + PBXFileReference + name + Info.plist + path + Telegram-iOS/Info.plist + sourceTree + ]]> + explicitFileType + text.plist + + B401C979EAB5339800000001 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E296ABF6A1200000000 + 1DD70E2906C06BEE00000000 + + + B401C979B2C34D2100000000 + + isa + PBXGroup + name + Telegram + sourceTree + ]]> + children + + 1DD70E29001F47FB00000001 + B401C979EAB5339800000001 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979C43AA77A00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979B2C34D2100000000 + + + E7A30F04988E33D500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29988E33D500000000 + + E7A30F04BF88817800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF88817800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04988E33D500000000 + E7A30F04BF88817800000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E294E27EDFB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E294906F2A500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29BC9D9E0700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EC43AA77A00000000 + + isa + PBXNativeTarget + name + AppLibrary + productName + AppLibrary + productReference + 1DD70E297ADFB9F200000001 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + E7A30F046ABF6A1200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296ABF6A1200000000 + + 1870857F0000000000000001 + + isa + PBXSourcesBuildPhase + files + + E7A30F046ABF6A1200000000 + + + E7A30F047ADFB9F200000000 + + isa + PBXBuildFile + fileRef + 1DD70E297ADFB9F200000000 + + E7A30F04B22505DC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B22505DC00000000 + + 4F426D880000000000000000 + + isa + PBXFrameworksBuildPhase + files + + E7A30F047ADFB9F200000000 + E7A30F04B22505DC00000000 + + + E7A30F04B22505DC00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29B22505DC00000000 + settings + + ATTRIBUTES + + CodeSignOnCopy + RemoveHeadersOnCopy + + + + E7A30F046A34811900000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A34811900000000 + settings + + ATTRIBUTES + + CodeSignOnCopy + RemoveHeadersOnCopy + + + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04B22505DC00000001 + E7A30F046A34811900000000 + + dstSubfolderSpec + 10 + dstPath + + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29A8C8657400000000 + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E297D676FDE00000000 + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29F0FE1B4000000000 + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + E66DC04EB2C34D2100000000 + + isa + PBXNativeTarget + name + Telegram + productName + Telegram + productReference + 1DD70E29D83C37D400000000 + productType + com.apple.product-type.application + dependencies + + + buildPhases + + 1870857F0000000000000001 + 4F426D880000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000001 + + 4952437303EDA63300000002 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000002 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000002 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000002 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000002 + 4952437350C7218900000002 + 49524373A439BFE700000002 + + defaultConfigurationIsVisible + + + 96C847930027B7F400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EC43AA77A00000000 + E66DC04EB2C34D2100000000 + + buildConfigurationList + 218C37090000000000000002 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930027B7F400000000 + + \ No newline at end of file diff --git a/Temp/Temp.xcodeproj/xcshareddata/xcschemes/Temp.xcscheme b/Temp/Temp.xcodeproj/xcshareddata/xcschemes/Temp.xcscheme new file mode 100644 index 0000000000..c475340c95 --- /dev/null +++ b/Temp/Temp.xcodeproj/xcshareddata/xcschemes/Temp.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Watch/App/Info.plist b/Watch/App/Info.plist index dbf2e283c9..70f8f1258b 100644 --- a/Watch/App/Info.plist +++ b/Watch/App/Info.plist @@ -17,9 +17,13 @@ CFBundlePackageType APPL CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} + UIDeviceFamily + + 4 + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/Watch/BUCK b/Watch/BUCK deleted file mode 100644 index 57366e6538..0000000000 --- a/Watch/BUCK +++ /dev/null @@ -1,76 +0,0 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') - -apple_library( - name = 'WatchUtils', - srcs = [ - 'Bridge/TGBridgeCommon.m', - 'Bridge/TGBridgeContactMediaAttachment.m', - 'Bridge/TGBridgeVideoMediaAttachment.m', - 'Bridge/TGBridgeSubscriptions.m', - 'Bridge/TGBridgeLocationVenue.m', - 'Bridge/TGBridgeImageMediaAttachment.m', - 'Bridge/TGBridgeBotInfo.m', - 'Bridge/TGBridgeChatMessages.m', - 'Bridge/TGBridgeMessage.m', - 'Bridge/TGBridgeUnsupportedMediaAttachment.m', - 'Bridge/TGBridgeChat.m', - 'Bridge/TGBridgeForwardedMessageMediaAttachment.m', - 'Bridge/TGBridgeMessageEntities.m', - 'Bridge/TGBridgeLocationMediaAttachment.m', - 'Bridge/TGBridgeMessageEntitiesAttachment.m', - 'Bridge/TGBridgeReplyMarkupMediaAttachment.m', - 'Bridge/TGBridgeWebPageMediaAttachment.m', - 'Bridge/TGBridgeDocumentMediaAttachment.m', - 'Bridge/TGBridgeActionMediaAttachment.m', - 'Bridge/TGBridgeContext.m', - 'Bridge/TGBridgeMediaAttachment.m', - 'Bridge/TGBridgeUser.m', - 'Bridge/TGBridgeBotCommandInfo.m', - 'Bridge/TGBridgeAudioMediaAttachment.m', - 'Bridge/TGBridgeReplyMessageMediaAttachment.m', - ], - headers = glob([ - 'Bridge/*.h', - 'Extension/*.h', - ]), - header_namespace = 'WatchUtils', - exported_headers = [ - 'Bridge/TGBridgeCommon.h', - 'Bridge/TGBridgeContactMediaAttachment.h', - 'Bridge/TGBridgeVideoMediaAttachment.h', - 'Bridge/TGBridgeSubscriptions.h', - 'Bridge/TGBridgeLocationVenue.h', - 'Bridge/TGBridgeImageMediaAttachment.h', - 'Bridge/TGBridgeBotInfo.h', - 'Bridge/TGBridgeChatMessages.h', - 'Bridge/TGBridgeMessage.h', - 'Bridge/TGBridgeUnsupportedMediaAttachment.h', - 'Bridge/TGBridgeChat.h', - 'Bridge/TGBridgeForwardedMessageMediaAttachment.h', - 'Bridge/TGBridgeMessageEntities.h', - 'Bridge/TGBridgeLocationMediaAttachment.h', - 'Bridge/TGBridgeMessageEntitiesAttachment.h', - 'Bridge/TGBridgeReplyMarkupMediaAttachment.h', - 'Bridge/TGBridgeWebPageMediaAttachment.h', - 'Bridge/TGBridgeDocumentMediaAttachment.h', - 'Bridge/TGBridgeActionMediaAttachment.h', - 'Bridge/TGBridgeContext.h', - 'Bridge/TGBridgeMediaAttachment.h', - 'Bridge/TGBridgeUser.h', - 'Bridge/TGBridgeBotCommandInfo.h', - 'Bridge/TGBridgeAudioMediaAttachment.h', - 'Bridge/TGBridgeReplyMessageMediaAttachment.h', - ], - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - compiler_flags = [ - '-w', - ], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - ], -) diff --git a/Watch/Bridge/TGBridgeBotInfo+TGBotInfo.h b/Watch/Bridge/TGBridgeBotInfo+TGBotInfo.h deleted file mode 100644 index be8b1097ba..0000000000 --- a/Watch/Bridge/TGBridgeBotInfo+TGBotInfo.h +++ /dev/null @@ -1,9 +0,0 @@ -#import "TGBridgeBotInfo.h" - -@class TGBotInfo; - -@interface TGBridgeBotInfo (TGBotInfo) - -+ (TGBridgeBotInfo *)botInfoWithTGBotInfo:(TGBotInfo *)botInfo userId:(int32_t)userId; - -@end diff --git a/Watch/Bridge/TGBridgeBotInfo+TGBotInfo.m b/Watch/Bridge/TGBridgeBotInfo+TGBotInfo.m deleted file mode 100644 index 8f48d0d515..0000000000 --- a/Watch/Bridge/TGBridgeBotInfo+TGBotInfo.m +++ /dev/null @@ -1,29 +0,0 @@ -#import "TGBridgeBotInfo+TGBotInfo.h" - -#import - -#import "TGBridgeBotCommandInfo+TGBotCommandInfo.h" - -@implementation TGBridgeBotInfo (TGBotInfo) - -+ (TGBridgeBotInfo *)botInfoWithTGBotInfo:(TGBotInfo *)botInfo userId:(int32_t)userId -{ - TGBridgeBotInfo *bridgeBotInfo = [[TGBridgeBotInfo alloc] init]; - bridgeBotInfo->_version = botInfo.version; - bridgeBotInfo->_userId = userId; - bridgeBotInfo->_shortDescription = botInfo.shortDescription; - bridgeBotInfo->_botDescription = botInfo.botDescription; - - NSMutableArray *commandList = [[NSMutableArray alloc] init]; - for (TGBotComandInfo *commandInfo in botInfo.commandList) - { - TGBridgeBotCommandInfo *bridgeCommandInfo = [TGBridgeBotCommandInfo botCommandInfoWithTGBotCommandInfo:commandInfo]; - if (bridgeCommandInfo != nil) - [commandList addObject:bridgeCommandInfo]; - } - bridgeBotInfo->_commandList = commandList; - - return bridgeBotInfo; -} - -@end diff --git a/Watch/Bridge/TGBridgeImageInfo+TGImageInfo.h b/Watch/Bridge/TGBridgeImageInfo+TGImageInfo.h deleted file mode 100644 index b1786a480d..0000000000 --- a/Watch/Bridge/TGBridgeImageInfo+TGImageInfo.h +++ /dev/null @@ -1,11 +0,0 @@ -#import "TGBridgeImageInfo.h" - -@class TGImageInfo; - -@interface TGBridgeImageInfo (TGImageInfo) - -+ (TGBridgeImageInfo *)imageInfoWithTGImageInfo:(TGImageInfo *)imageInfo; - -+ (TGImageInfo *)tgImageInfoWithBridgeImageInfo:(TGBridgeImageInfo *)bridgeImageInfo; - -@end diff --git a/Watch/Bridge/TGBridgeImageInfo+TGImageInfo.m b/Watch/Bridge/TGBridgeImageInfo+TGImageInfo.m deleted file mode 100644 index 705a71d383..0000000000 --- a/Watch/Bridge/TGBridgeImageInfo+TGImageInfo.m +++ /dev/null @@ -1,43 +0,0 @@ -#import "TGBridgeImageInfo+TGImageInfo.h" - -#import - -@implementation TGBridgeImageInfo (TGImageInfo) - -+ (TGBridgeImageInfo *)imageInfoWithTGImageInfo:(TGImageInfo *)imageInfo -{ - if (imageInfo == nil) - return nil; - - TGBridgeImageInfo *bridgeImageInfo = [[TGBridgeImageInfo alloc] init]; - NSDictionary *allSizes = imageInfo.allSizes; - - NSMutableArray *bridgeEntries = [[NSMutableArray alloc] init]; - for (NSString *url in allSizes.allKeys) - { - TGBridgeImageSizeInfo *bridgeEntry = [[TGBridgeImageSizeInfo alloc] init]; - bridgeEntry.url = url; - bridgeEntry.dimensions = [allSizes[url] CGSizeValue]; - - [bridgeEntries addObject:bridgeEntry]; - } - - bridgeImageInfo->_entries = bridgeEntries; - - return bridgeImageInfo; -} - -+ (TGImageInfo *)tgImageInfoWithBridgeImageInfo:(TGBridgeImageInfo *)bridgeImageInfo -{ - if (bridgeImageInfo == nil) - return nil; - - TGImageInfo *imageInfo = [[TGImageInfo alloc] init]; - - for (TGBridgeImageSizeInfo *entry in bridgeImageInfo.entries) - [imageInfo addImageWithSize:entry.dimensions url:entry.url]; - - return imageInfo; -} - -@end diff --git a/Watch/Bridge/TGBridgeMessageEntity+TGMessageEntity.h b/Watch/Bridge/TGBridgeMessageEntity+TGMessageEntity.h deleted file mode 100644 index 645a079e35..0000000000 --- a/Watch/Bridge/TGBridgeMessageEntity+TGMessageEntity.h +++ /dev/null @@ -1,9 +0,0 @@ -#import "TGBridgeMessageEntities.h" - -#import - -@interface TGBridgeMessageEntity (TGMessageEntity) - -+ (TGBridgeMessageEntity *)entityWithTGMessageEntity:(TGMessageEntity *)entity; - -@end diff --git a/Watch/Bridge/TGBridgeMessageEntity+TGMessageEntity.m b/Watch/Bridge/TGBridgeMessageEntity+TGMessageEntity.m deleted file mode 100644 index 4fccef8cd1..0000000000 --- a/Watch/Bridge/TGBridgeMessageEntity+TGMessageEntity.m +++ /dev/null @@ -1,38 +0,0 @@ -#import "TGBridgeMessageEntity+TGMessageEntity.h" - -#import - -@implementation TGBridgeMessageEntity (TGMessageEntity) - -+ (TGBridgeMessageEntity *)entityWithTGMessageEntity:(TGMessageEntity *)entity -{ - Class bridgeEntityClass = nil; - - if ([entity isKindOfClass:[TGMessageEntityUrl class]]) - bridgeEntityClass = [TGBridgeMessageEntityUrl class]; - else if ([entity isKindOfClass:[TGMessageEntityEmail class]]) - bridgeEntityClass = [TGBridgeMessageEntityEmail class]; - else if ([entity isKindOfClass:[TGMessageEntityTextUrl class]]) - bridgeEntityClass = [TGBridgeMessageEntityTextUrl class]; - else if ([entity isKindOfClass:[TGMessageEntityMention class]]) - bridgeEntityClass = [TGBridgeMessageEntityMention class]; - else if ([entity isKindOfClass:[TGMessageEntityHashtag class]]) - bridgeEntityClass = [TGBridgeMessageEntityHashtag class]; - else if ([entity isKindOfClass:[TGMessageEntityBotCommand class]]) - bridgeEntityClass = [TGBridgeMessageEntityBotCommand class]; - else if ([entity isKindOfClass:[TGMessageEntityBold class]]) - bridgeEntityClass = [TGBridgeMessageEntityBold class]; - else if ([entity isKindOfClass:[TGMessageEntityItalic class]]) - bridgeEntityClass = [TGBridgeMessageEntityItalic class]; - else if ([entity isKindOfClass:[TGMessageEntityCode class]]) - bridgeEntityClass = [TGBridgeMessageEntityCode class]; - else if ([entity isKindOfClass:[TGMessageEntityPre class]]) - bridgeEntityClass = [TGBridgeMessageEntityPre class]; - - if (bridgeEntityClass != nil) - return [bridgeEntityClass entitityWithRange:entity.range]; - - return nil; -} - -@end diff --git a/Watch/Bridge/TGBridgeStickerPack+TGStickerPack.h b/Watch/Bridge/TGBridgeStickerPack+TGStickerPack.h deleted file mode 100644 index 1922da7917..0000000000 --- a/Watch/Bridge/TGBridgeStickerPack+TGStickerPack.h +++ /dev/null @@ -1,9 +0,0 @@ -#import "TGBridgeStickerPack.h" - -@class TGStickerPack; - -@interface TGBridgeStickerPack (TGStickerPack) - -+ (TGBridgeStickerPack *)stickerPackWithTGStickerPack:(TGStickerPack *)stickerPack; - -@end diff --git a/Watch/Bridge/TGBridgeStickerPack+TGStickerPack.m b/Watch/Bridge/TGBridgeStickerPack+TGStickerPack.m deleted file mode 100644 index 219e0cd78d..0000000000 --- a/Watch/Bridge/TGBridgeStickerPack+TGStickerPack.m +++ /dev/null @@ -1,26 +0,0 @@ -#import "TGBridgeStickerPack+TGStickerPack.h" -#import -#import "TGBridgeDocumentMediaAttachment+TGDocumentMediaAttachment.h" - -@implementation TGBridgeStickerPack (TGStickerPack) - -+ (TGBridgeStickerPack *)stickerPackWithTGStickerPack:(TGStickerPack *)stickerPack -{ - TGBridgeStickerPack *bridgeStickerPack = [[TGBridgeStickerPack alloc] init]; - bridgeStickerPack->_builtIn = [stickerPack.packReference isKindOfClass:[TGStickerPackBuiltinReference class]]; - bridgeStickerPack->_title = stickerPack.title; - - NSMutableArray *bridgeDocuments = [[NSMutableArray alloc] init]; - for (TGDocumentMediaAttachment *document in stickerPack.documents) - { - TGBridgeDocumentMediaAttachment *bridgeDocument = [TGBridgeDocumentMediaAttachment attachmentWithTGDocumentMediaAttachment:document]; - if (bridgeDocument != nil) - [bridgeDocuments addObject:bridgeDocument]; - } - - bridgeStickerPack->_documents = bridgeDocuments; - - return bridgeStickerPack; -} - -@end diff --git a/Watch/Bridge/TGBridgeUser+TGUser.h b/Watch/Bridge/TGBridgeUser+TGUser.h deleted file mode 100644 index 15617d77b3..0000000000 --- a/Watch/Bridge/TGBridgeUser+TGUser.h +++ /dev/null @@ -1,10 +0,0 @@ -#import "TGBridgeUser.h" - -@class TGUser; -@class TGBotInfo; - -@interface TGBridgeUser (TGUser) - -+ (TGBridgeUser *)userWithTGUser:(TGUser *)user; - -@end diff --git a/Watch/Bridge/TGBridgeUser+TGUser.m b/Watch/Bridge/TGBridgeUser+TGUser.m deleted file mode 100644 index a57b55c4fc..0000000000 --- a/Watch/Bridge/TGBridgeUser+TGUser.m +++ /dev/null @@ -1,34 +0,0 @@ -#import "TGBridgeUser+TGUser.h" - -#import - -#import "TGBridgeBotInfo+TGBotInfo.h" - -@implementation TGBridgeUser (TGUser) - -+ (TGBridgeUser *)userWithTGUser:(TGUser *)user -{ - if (user == nil) - return nil; - - TGBridgeUser *bridgeUser = [[TGBridgeUser alloc] init]; - bridgeUser->_identifier = user.uid; - bridgeUser->_firstName = user.firstName; - bridgeUser->_lastName = user.lastName; - bridgeUser->_userName = user.userName; - bridgeUser->_phoneNumber = user.phoneNumber; - if (user.phoneNumber != nil) - bridgeUser->_prettyPhoneNumber = [TGPhoneUtils formatPhone:user.phoneNumber forceInternational:false]; - bridgeUser->_online = user.presence.online; - bridgeUser->_lastSeen = user.presence.lastSeen; - bridgeUser->_photoSmall = user.photoUrlSmall; - bridgeUser->_photoBig = user.photoUrlBig; - bridgeUser->_kind = user.kind; - bridgeUser->_botKind = user.botKind; - bridgeUser->_botVersion = user.botInfoVersion; - bridgeUser->_verified = user.isVerified; - - return bridgeUser; -} - -@end diff --git a/Watch/Extension/Info.plist b/Watch/Extension/Info.plist index 08c256367e..963171e6e6 100644 --- a/Watch/Extension/Info.plist +++ b/Watch/Extension/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} NSExtension diff --git a/Watch/Extension/SSignalKit/SAtomic.h b/Watch/Extension/SSignalKit/SAtomic.h new file mode 100644 index 0000000000..6d3e35b4dc --- /dev/null +++ b/Watch/Extension/SSignalKit/SAtomic.h @@ -0,0 +1,12 @@ +#import + +@interface SAtomic : NSObject + +- (instancetype)initWithValue:(id)value; +- (instancetype)initWithValue:(id)value recursive:(bool)recursive; +- (id)swap:(id)newValue; +- (id)value; +- (id)modify:(id (^)(id))f; +- (id)with:(id (^)(id))f; + +@end diff --git a/Watch/Extension/SSignalKit/SAtomic.m b/Watch/Extension/SSignalKit/SAtomic.m new file mode 100644 index 0000000000..5f7f3d1032 --- /dev/null +++ b/Watch/Extension/SSignalKit/SAtomic.m @@ -0,0 +1,93 @@ +#import "SAtomic.h" + +#import + +@interface SAtomic () +{ + pthread_mutex_t _lock; + pthread_mutexattr_t _attr; + bool _isRecursive; + id _value; +} + +@end + +@implementation SAtomic + +- (instancetype)initWithValue:(id)value +{ + self = [super init]; + if (self != nil) + { + pthread_mutex_init(&_lock, NULL); + _value = value; + } + return self; +} + +- (instancetype)initWithValue:(id)value recursive:(bool)recursive { + self = [super init]; + if (self != nil) + { + _isRecursive = recursive; + + if (recursive) { + pthread_mutexattr_init(&_attr); + pthread_mutexattr_settype(&_attr, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&_lock, &_attr); + } else { + pthread_mutex_init(&_lock, NULL); + } + + _value = value; + } + return self; +} + +- (void)dealloc { + if (_isRecursive) { + pthread_mutexattr_destroy(&_attr); + } + pthread_mutex_destroy(&_lock); +} + +- (id)swap:(id)newValue +{ + id previousValue = nil; + pthread_mutex_lock(&_lock); + previousValue = _value; + _value = newValue; + pthread_mutex_unlock(&_lock); + return previousValue; +} + +- (id)value +{ + id previousValue = nil; + pthread_mutex_lock(&_lock); + previousValue = _value; + pthread_mutex_unlock(&_lock); + + return previousValue; +} + +- (id)modify:(id (^)(id))f +{ + id newValue = nil; + pthread_mutex_lock(&_lock); + newValue = f(_value); + _value = newValue; + pthread_mutex_unlock(&_lock); + return newValue; +} + +- (id)with:(id (^)(id))f +{ + id result = nil; + pthread_mutex_lock(&_lock); + result = f(_value); + pthread_mutex_unlock(&_lock); + return result; +} + +@end diff --git a/Watch/Extension/SSignalKit/SBag.h b/Watch/Extension/SSignalKit/SBag.h new file mode 100644 index 0000000000..7b79ead30f --- /dev/null +++ b/Watch/Extension/SSignalKit/SBag.h @@ -0,0 +1,11 @@ +#import + +@interface SBag : NSObject + +- (NSInteger)addItem:(id)item; +- (void)enumerateItems:(void (^)(id))block; +- (void)removeItem:(NSInteger)key; +- (bool)isEmpty; +- (NSArray *)copyItems; + +@end diff --git a/Watch/Extension/SSignalKit/SBag.m b/Watch/Extension/SSignalKit/SBag.m new file mode 100644 index 0000000000..c83f206235 --- /dev/null +++ b/Watch/Extension/SSignalKit/SBag.m @@ -0,0 +1,74 @@ +#import "SBag.h" + +@interface SBag () +{ + NSInteger _nextKey; + NSMutableArray *_items; + NSMutableArray *_itemKeys; +} + +@end + +@implementation SBag + +- (instancetype)init +{ + self = [super init]; + if (self != nil) + { + _items = [[NSMutableArray alloc] init]; + _itemKeys = [[NSMutableArray alloc] init]; + } + return self; +} + +- (NSInteger)addItem:(id)item +{ + if (item == nil) + return -1; + + NSInteger key = _nextKey; + [_items addObject:item]; + [_itemKeys addObject:@(key)]; + _nextKey++; + + return key; +} + +- (void)enumerateItems:(void (^)(id))block +{ + if (block) + { + for (id item in _items) + { + block(item); + } + } +} + +- (void)removeItem:(NSInteger)key +{ + NSUInteger index = 0; + for (NSNumber *itemKey in _itemKeys) + { + if ([itemKey integerValue] == key) + { + [_items removeObjectAtIndex:index]; + [_itemKeys removeObjectAtIndex:index]; + break; + } + index++; + } +} + +- (bool)isEmpty +{ + return _items.count == 0; +} + +- (NSArray *)copyItems +{ + return [[NSArray alloc] initWithArray:_items]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SBlockDisposable.h b/Watch/Extension/SSignalKit/SBlockDisposable.h new file mode 100644 index 0000000000..2914604cba --- /dev/null +++ b/Watch/Extension/SSignalKit/SBlockDisposable.h @@ -0,0 +1,7 @@ +#import + +@interface SBlockDisposable : NSObject + +- (instancetype)initWithBlock:(void (^)())block; + +@end diff --git a/Watch/Extension/SSignalKit/SBlockDisposable.m b/Watch/Extension/SSignalKit/SBlockDisposable.m new file mode 100644 index 0000000000..b8d1f989d4 --- /dev/null +++ b/Watch/Extension/SSignalKit/SBlockDisposable.m @@ -0,0 +1,58 @@ +#import "SBlockDisposable.h" + +#import +#import + +@interface SBlockDisposable () +{ + void *_block; +} + +@end + +@implementation SBlockDisposable + +- (instancetype)initWithBlock:(void (^)())block +{ + self = [super init]; + if (self != nil) + { + _block = (__bridge_retained void *)[block copy]; + } + return self; +} + +- (void)dealloc +{ + void *block = _block; + if (block != NULL) + { + if (OSAtomicCompareAndSwapPtr(block, 0, &_block)) + { + if (block != nil) + { + __strong id strongBlock = (__bridge_transfer id)block; + strongBlock = nil; + } + } + } +} + +- (void)dispose +{ + void *block = _block; + if (block != NULL) + { + if (OSAtomicCompareAndSwapPtr(block, 0, &_block)) + { + if (block != nil) + { + __strong id strongBlock = (__bridge_transfer id)block; + ((dispatch_block_t)strongBlock)(); + strongBlock = nil; + } + } + } +} + +@end diff --git a/Watch/Extension/SSignalKit/SDisposable.h b/Watch/Extension/SSignalKit/SDisposable.h new file mode 100644 index 0000000000..49d9762dae --- /dev/null +++ b/Watch/Extension/SSignalKit/SDisposable.h @@ -0,0 +1,7 @@ +#import + +@protocol SDisposable + +- (void)dispose; + +@end diff --git a/Watch/Extension/SSignalKit/SDisposableSet.h b/Watch/Extension/SSignalKit/SDisposableSet.h new file mode 100644 index 0000000000..7d7515c968 --- /dev/null +++ b/Watch/Extension/SSignalKit/SDisposableSet.h @@ -0,0 +1,10 @@ +#import + +@class SSignal; + +@interface SDisposableSet : NSObject + +- (void)add:(id)disposable; +- (void)remove:(id)disposable; + +@end diff --git a/Watch/Extension/SSignalKit/SDisposableSet.m b/Watch/Extension/SSignalKit/SDisposableSet.m new file mode 100644 index 0000000000..18cb3be965 --- /dev/null +++ b/Watch/Extension/SSignalKit/SDisposableSet.m @@ -0,0 +1,95 @@ +#import "SDisposableSet.h" + +#import "SSignal.h" + +#import + +@interface SDisposableSet () +{ + OSSpinLock _lock; + bool _disposed; + id _singleDisposable; + NSArray *_multipleDisposables; +} + +@end + +@implementation SDisposableSet + +- (void)add:(id)disposable +{ + if (disposable == nil) + return; + + bool dispose = false; + + OSSpinLockLock(&_lock); + dispose = _disposed; + if (!dispose) + { + if (_multipleDisposables != nil) + { + NSMutableArray *multipleDisposables = [[NSMutableArray alloc] initWithArray:_multipleDisposables]; + [multipleDisposables addObject:disposable]; + _multipleDisposables = multipleDisposables; + } + else if (_singleDisposable != nil) + { + NSMutableArray *multipleDisposables = [[NSMutableArray alloc] initWithObjects:_singleDisposable, disposable, nil]; + _multipleDisposables = multipleDisposables; + _singleDisposable = nil; + } + else + { + _singleDisposable = disposable; + } + } + OSSpinLockUnlock(&_lock); + + if (dispose) + [disposable dispose]; +} + +- (void)remove:(id)disposable { + OSSpinLockLock(&_lock); + if (_multipleDisposables != nil) + { + NSMutableArray *multipleDisposables = [[NSMutableArray alloc] initWithArray:_multipleDisposables]; + [multipleDisposables removeObject:disposable]; + _multipleDisposables = multipleDisposables; + } + else if (_singleDisposable == disposable) + { + _singleDisposable = nil; + } + OSSpinLockUnlock(&_lock); +} + +- (void)dispose +{ + id singleDisposable = nil; + NSArray *multipleDisposables = nil; + + OSSpinLockLock(&_lock); + if (!_disposed) + { + _disposed = true; + singleDisposable = _singleDisposable; + multipleDisposables = _multipleDisposables; + _singleDisposable = nil; + _multipleDisposables = nil; + } + OSSpinLockUnlock(&_lock); + + if (singleDisposable != nil) + [singleDisposable dispose]; + if (multipleDisposables != nil) + { + for (id disposable in multipleDisposables) + { + [disposable dispose]; + } + } +} + +@end diff --git a/Watch/Extension/SSignalKit/SMetaDisposable.h b/Watch/Extension/SSignalKit/SMetaDisposable.h new file mode 100644 index 0000000000..8938f9eacb --- /dev/null +++ b/Watch/Extension/SSignalKit/SMetaDisposable.h @@ -0,0 +1,7 @@ +#import + +@interface SMetaDisposable : NSObject + +- (void)setDisposable:(id)disposable; + +@end diff --git a/Watch/Extension/SSignalKit/SMetaDisposable.m b/Watch/Extension/SSignalKit/SMetaDisposable.m new file mode 100644 index 0000000000..4e9c8e4fab --- /dev/null +++ b/Watch/Extension/SSignalKit/SMetaDisposable.m @@ -0,0 +1,53 @@ +#import "SMetaDisposable.h" + +#import + +@interface SMetaDisposable () +{ + OSSpinLock _lock; + bool _disposed; + id _disposable; +} + +@end + +@implementation SMetaDisposable + +- (void)setDisposable:(id)disposable +{ + id previousDisposable = nil; + bool dispose = false; + + OSSpinLockLock(&_lock); + dispose = _disposed; + if (!dispose) + { + previousDisposable = _disposable; + _disposable = disposable; + } + OSSpinLockUnlock(&_lock); + + if (previousDisposable != nil) + [previousDisposable dispose]; + + if (dispose) + [disposable dispose]; +} + +- (void)dispose +{ + id disposable = nil; + + OSSpinLockLock(&_lock); + if (!_disposed) + { + disposable = _disposable; + _disposed = true; + } + OSSpinLockUnlock(&_lock); + + if (disposable != nil) + [disposable dispose]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SMulticastSignalManager.h b/Watch/Extension/SSignalKit/SMulticastSignalManager.h new file mode 100644 index 0000000000..243f015a52 --- /dev/null +++ b/Watch/Extension/SSignalKit/SMulticastSignalManager.h @@ -0,0 +1,11 @@ +#import + +@interface SMulticastSignalManager : NSObject + +- (SSignal *)multicastedSignalForKey:(NSString *)key producer:(SSignal *(^)())producer; +- (void)startStandaloneSignalIfNotRunningForKey:(NSString *)key producer:(SSignal *(^)())producer; + +- (SSignal *)multicastedPipeForKey:(NSString *)key; +- (void)putNext:(id)next toMulticastedPipeForKey:(NSString *)key; + +@end diff --git a/Watch/Extension/SSignalKit/SMulticastSignalManager.m b/Watch/Extension/SSignalKit/SMulticastSignalManager.m new file mode 100644 index 0000000000..1094852dd5 --- /dev/null +++ b/Watch/Extension/SSignalKit/SMulticastSignalManager.m @@ -0,0 +1,171 @@ +#import "SMulticastSignalManager.h" + +#import "SSignal+Multicast.h" +#import "SSignal+SideEffects.h" +#import "SBag.h" +#import "SMetaDisposable.h" +#import "SBlockDisposable.h" + +#import + +@interface SMulticastSignalManager () +{ + OSSpinLock _lock; + NSMutableDictionary *_multicastSignals; + NSMutableDictionary *_standaloneSignalDisposables; + NSMutableDictionary *_pipeListeners; +} + +@end + +@implementation SMulticastSignalManager + +- (instancetype)init +{ + self = [super init]; + if (self != nil) + { + _multicastSignals = [[NSMutableDictionary alloc] init]; + _standaloneSignalDisposables = [[NSMutableDictionary alloc] init]; + _pipeListeners = [[NSMutableDictionary alloc] init]; + } + return self; +} + +- (void)dealloc +{ + NSArray *disposables = nil; + OSSpinLockLock(&_lock); + disposables = [_standaloneSignalDisposables allValues]; + OSSpinLockUnlock(&_lock); + + for (id disposable in disposables) + { + [disposable dispose]; + } +} + +- (SSignal *)multicastedSignalForKey:(NSString *)key producer:(SSignal *(^)())producer +{ + if (key == nil) + { + if (producer) + return producer(); + else + return nil; + } + + SSignal *signal = nil; + OSSpinLockLock(&_lock); + signal = _multicastSignals[key]; + if (signal == nil) + { + __weak SMulticastSignalManager *weakSelf = self; + if (producer) + signal = producer(); + if (signal != nil) + { + signal = [[signal onDispose:^ + { + __strong SMulticastSignalManager *strongSelf = weakSelf; + if (strongSelf != nil) + { + OSSpinLockLock(&strongSelf->_lock); + [strongSelf->_multicastSignals removeObjectForKey:key]; + OSSpinLockUnlock(&strongSelf->_lock); + } + }] multicast]; + _multicastSignals[key] = signal; + } + } + OSSpinLockUnlock(&_lock); + + return signal; +} + +- (void)startStandaloneSignalIfNotRunningForKey:(NSString *)key producer:(SSignal *(^)())producer +{ + if (key == nil) + return; + + bool produce = false; + OSSpinLockLock(&_lock); + if (_standaloneSignalDisposables[key] == nil) + { + _standaloneSignalDisposables[key] = [[SMetaDisposable alloc] init]; + produce = true; + } + OSSpinLockUnlock(&_lock); + + if (produce) + { + __weak SMulticastSignalManager *weakSelf = self; + id disposable = [producer() startWithNext:nil error:^(__unused id error) + { + __strong SMulticastSignalManager *strongSelf = weakSelf; + if (strongSelf != nil) + { + OSSpinLockLock(&strongSelf->_lock); + [strongSelf->_standaloneSignalDisposables removeObjectForKey:key]; + OSSpinLockUnlock(&strongSelf->_lock); + } + } completed:^ + { + __strong SMulticastSignalManager *strongSelf = weakSelf; + if (strongSelf != nil) + { + OSSpinLockLock(&strongSelf->_lock); + [strongSelf->_standaloneSignalDisposables removeObjectForKey:key]; + OSSpinLockUnlock(&strongSelf->_lock); + } + }]; + + OSSpinLockLock(&_lock); + [(SMetaDisposable *)_standaloneSignalDisposables[key] setDisposable:disposable]; + OSSpinLockUnlock(&_lock); + } +} + +- (SSignal *)multicastedPipeForKey:(NSString *)key +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + OSSpinLockLock(&_lock); + SBag *bag = _pipeListeners[key]; + if (bag == nil) + { + bag = [[SBag alloc] init]; + _pipeListeners[key] = bag; + } + NSInteger index = [bag addItem:[^(id next) + { + [subscriber putNext:next]; + } copy]]; + OSSpinLockUnlock(&_lock); + + return [[SBlockDisposable alloc] initWithBlock:^ + { + OSSpinLockLock(&_lock); + SBag *bag = _pipeListeners[key]; + [bag removeItem:index]; + if ([bag isEmpty]) { + [_pipeListeners removeObjectForKey:key]; + } + OSSpinLockUnlock(&_lock); + }]; + }]; +} + +- (void)putNext:(id)next toMulticastedPipeForKey:(NSString *)key +{ + OSSpinLockLock(&_lock); + NSArray *pipeListeners = [(SBag *)_pipeListeners[key] copyItems]; + OSSpinLockUnlock(&_lock); + + for (void (^listener)(id) in pipeListeners) + { + listener(next); + } +} + +@end diff --git a/Watch/Extension/SSignalKit/SQueue.h b/Watch/Extension/SSignalKit/SQueue.h new file mode 100644 index 0000000000..228334c888 --- /dev/null +++ b/Watch/Extension/SSignalKit/SQueue.h @@ -0,0 +1,19 @@ +#import + +@interface SQueue : NSObject + ++ (SQueue *)mainQueue; ++ (SQueue *)concurrentDefaultQueue; ++ (SQueue *)concurrentBackgroundQueue; + ++ (SQueue *)wrapConcurrentNativeQueue:(dispatch_queue_t)nativeQueue; + +- (void)dispatch:(dispatch_block_t)block; +- (void)dispatchSync:(dispatch_block_t)block; +- (void)dispatch:(dispatch_block_t)block synchronous:(bool)synchronous; + +- (dispatch_queue_t)_dispatch_queue; + +- (bool)isCurrentQueue; + +@end diff --git a/Watch/Extension/SSignalKit/SQueue.m b/Watch/Extension/SSignalKit/SQueue.m new file mode 100644 index 0000000000..d5b5553af8 --- /dev/null +++ b/Watch/Extension/SSignalKit/SQueue.m @@ -0,0 +1,124 @@ +#import "SQueue.h" + +static const void *SQueueSpecificKey = &SQueueSpecificKey; + +@interface SQueue () +{ + dispatch_queue_t _queue; + void *_queueSpecific; + bool _specialIsMainQueue; +} + +@end + +@implementation SQueue + ++ (SQueue *)mainQueue +{ + static SQueue *queue = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^ + { + queue = [[SQueue alloc] initWithNativeQueue:dispatch_get_main_queue() queueSpecific:NULL]; + queue->_specialIsMainQueue = true; + }); + + return queue; +} + ++ (SQueue *)concurrentDefaultQueue +{ + static SQueue *queue = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^ + { + queue = [[SQueue alloc] initWithNativeQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) queueSpecific:NULL]; + }); + + return queue; +} + ++ (SQueue *)concurrentBackgroundQueue +{ + static SQueue *queue = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^ + { + queue = [[SQueue alloc] initWithNativeQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0) queueSpecific:NULL]; + }); + + return queue; +} + ++ (SQueue *)wrapConcurrentNativeQueue:(dispatch_queue_t)nativeQueue +{ + return [[SQueue alloc] initWithNativeQueue:nativeQueue queueSpecific:NULL]; +} + +- (instancetype)init +{ + dispatch_queue_t queue = dispatch_queue_create(NULL, NULL); + dispatch_queue_set_specific(queue, SQueueSpecificKey, (__bridge void *)self, NULL); + return [self initWithNativeQueue:queue queueSpecific:(__bridge void *)self]; +} + +- (instancetype)initWithNativeQueue:(dispatch_queue_t)queue queueSpecific:(void *)queueSpecific +{ + self = [super init]; + if (self != nil) + { + _queue = queue; + _queueSpecific = queueSpecific; + } + return self; +} + +- (dispatch_queue_t)_dispatch_queue +{ + return _queue; +} + +- (void)dispatch:(dispatch_block_t)block +{ + if (_queueSpecific != NULL && dispatch_get_specific(SQueueSpecificKey) == _queueSpecific) + block(); + else if (_specialIsMainQueue && [NSThread isMainThread]) + block(); + else + dispatch_async(_queue, block); +} + +- (void)dispatchSync:(dispatch_block_t)block +{ + if (_queueSpecific != NULL && dispatch_get_specific(SQueueSpecificKey) == _queueSpecific) + block(); + else if (_specialIsMainQueue && [NSThread isMainThread]) + block(); + else + dispatch_sync(_queue, block); +} + +- (void)dispatch:(dispatch_block_t)block synchronous:(bool)synchronous { + if (_queueSpecific != NULL && dispatch_get_specific(SQueueSpecificKey) == _queueSpecific) + block(); + else if (_specialIsMainQueue && [NSThread isMainThread]) + block(); + else { + if (synchronous) { + dispatch_sync(_queue, block); + } else { + dispatch_async(_queue, block); + } + } +} + +- (bool)isCurrentQueue +{ + if (_queueSpecific != NULL && dispatch_get_specific(SQueueSpecificKey) == _queueSpecific) + return true; + else if (_specialIsMainQueue && [NSThread isMainThread]) + return true; + return false; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Accumulate.h b/Watch/Extension/SSignalKit/SSignal+Accumulate.h new file mode 100644 index 0000000000..1ea8a51ed0 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Accumulate.h @@ -0,0 +1,8 @@ +#import + +@interface SSignal (Accumulate) + +- (SSignal *)reduceLeft:(id)value with:(id (^)(id, id))f; +- (SSignal *)reduceLeftWithPassthrough:(id)value with:(id (^)(id, id, void (^)(id)))f; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Accumulate.m b/Watch/Extension/SSignalKit/SSignal+Accumulate.m new file mode 100644 index 0000000000..e237e204d0 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Accumulate.m @@ -0,0 +1,52 @@ +#import "SSignal+Accumulate.h" + +@implementation SSignal (Accumulate) + +- (SSignal *)reduceLeft:(id)value with:(id (^)(id, id))f +{ + return [[SSignal alloc] initWithGenerator:^(SSubscriber *subscriber) + { + __block id intermediateResult = value; + + return [self startWithNext:^(id next) + { + intermediateResult = f(intermediateResult, next); + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + if (intermediateResult != nil) + [subscriber putNext:intermediateResult]; + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)reduceLeftWithPassthrough:(id)value with:(id (^)(id, id, void (^)(id)))f +{ + return [[SSignal alloc] initWithGenerator:^(SSubscriber *subscriber) + { + __block id intermediateResult = value; + + void (^emit)(id) = ^(id next) + { + [subscriber putNext:next]; + }; + + return [self startWithNext:^(id next) + { + intermediateResult = f(intermediateResult, next, emit); + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + if (intermediateResult != nil) + [subscriber putNext:intermediateResult]; + [subscriber putCompletion]; + }]; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Catch.h b/Watch/Extension/SSignalKit/SSignal+Catch.h new file mode 100644 index 0000000000..dc8898c062 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Catch.h @@ -0,0 +1,9 @@ +#import + +@interface SSignal (Catch) + +- (SSignal *)catch:(SSignal *(^)(id error))f; +- (SSignal *)restart; +- (SSignal *)retryIf:(bool (^)(id error))predicate; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Catch.m b/Watch/Extension/SSignalKit/SSignal+Catch.m new file mode 100644 index 0000000000..f61e277750 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Catch.m @@ -0,0 +1,147 @@ +#import "SSignal+Catch.h" + +#import "SMetaDisposable.h" +#import "SDisposableSet.h" +#import "SBlockDisposable.h" +#import "SAtomic.h" + +@implementation SSignal (Catch) + +- (SSignal *)catch:(SSignal *(^)(id error))f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SDisposableSet *disposable = [[SDisposableSet alloc] init]; + + [disposable add:[self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + SSignal *signal = f(error); + [disposable add:[signal startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + + return disposable; + }]; +} + +static dispatch_block_t recursiveBlock(void (^block)(dispatch_block_t recurse)) +{ + return ^ + { + block(recursiveBlock(block)); + }; +} + +- (SSignal *)restart +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SAtomic *shouldRestart = [[SAtomic alloc] initWithValue:@true]; + + SMetaDisposable *currentDisposable = [[SMetaDisposable alloc] init]; + + void (^start)() = recursiveBlock(^(dispatch_block_t recurse) + { + NSNumber *currentShouldRestart = [shouldRestart with:^id(NSNumber *current) + { + return current; + }]; + + if ([currentShouldRestart boolValue]) + { + id disposable = [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + recurse(); + }]; + [currentDisposable setDisposable:disposable]; + } + }); + + start(); + + return [[SBlockDisposable alloc] initWithBlock:^ + { + [currentDisposable dispose]; + + [shouldRestart modify:^id(__unused id current) + { + return @false; + }]; + }]; + }]; +} + +- (SSignal *)retryIf:(bool (^)(id error))predicate { + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SAtomic *shouldRestart = [[SAtomic alloc] initWithValue:@true]; + + SMetaDisposable *currentDisposable = [[SMetaDisposable alloc] init]; + + void (^start)() = recursiveBlock(^(dispatch_block_t recurse) + { + NSNumber *currentShouldRestart = [shouldRestart with:^id(NSNumber *current) + { + return current; + }]; + + if ([currentShouldRestart boolValue]) + { + id disposable = [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + if (predicate(error)) { + recurse(); + } else { + [subscriber putError:error]; + } + } completed:^ + { + [shouldRestart modify:^id(__unused id current) { + return @false; + }]; + [subscriber putCompletion]; + }]; + [currentDisposable setDisposable:disposable]; + } else { + [subscriber putCompletion]; + } + }); + + start(); + + return [[SBlockDisposable alloc] initWithBlock:^ + { + [currentDisposable dispose]; + + [shouldRestart modify:^id(__unused id current) + { + return @false; + }]; + }]; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Combine.h b/Watch/Extension/SSignalKit/SSignal+Combine.h new file mode 100644 index 0000000000..d84e065311 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Combine.h @@ -0,0 +1,10 @@ +#import + +@interface SSignal (Combine) + ++ (SSignal *)combineSignals:(NSArray *)signals; ++ (SSignal *)combineSignals:(NSArray *)signals withInitialStates:(NSArray *)initialStates; + ++ (SSignal *)mergeSignals:(NSArray *)signals; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Combine.m b/Watch/Extension/SSignalKit/SSignal+Combine.m new file mode 100644 index 0000000000..4df70c113d --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Combine.m @@ -0,0 +1,177 @@ +#import "SSignal+Combine.h" + +#import "SAtomic.h" +#import "SDisposableSet.h" +#import "SSignal+Single.h" + +@interface SSignalCombineState : NSObject + +@property (nonatomic, strong, readonly) NSDictionary *latestValues; +@property (nonatomic, strong, readonly) NSArray *completedStatuses; +@property (nonatomic) bool error; + +@end + +@implementation SSignalCombineState + +- (instancetype)initWithLatestValues:(NSDictionary *)latestValues completedStatuses:(NSArray *)completedStatuses error:(bool)error +{ + self = [super init]; + if (self != nil) + { + _latestValues = latestValues; + _completedStatuses = completedStatuses; + _error = error; + } + return self; +} + +@end + +@implementation SSignal (Combine) + ++ (SSignal *)combineSignals:(NSArray *)signals +{ + if (signals.count == 0) + return [SSignal single:@[]]; + else + return [self combineSignals:signals withInitialStates:nil]; +} + ++ (SSignal *)combineSignals:(NSArray *)signals withInitialStates:(NSArray *)initialStates +{ + return [[SSignal alloc] initWithGenerator:^(SSubscriber *subscriber) + { + NSMutableArray *completedStatuses = [[NSMutableArray alloc] init]; + for (NSUInteger i = 0; i < signals.count; i++) + { + [completedStatuses addObject:@false]; + } + NSMutableDictionary *initialLatestValues = [[NSMutableDictionary alloc] init]; + for (NSUInteger i = 0; i < initialStates.count; i++) + { + initialLatestValues[@(i)] = initialStates[i]; + } + SAtomic *combineState = [[SAtomic alloc] initWithValue:[[SSignalCombineState alloc] initWithLatestValues:initialLatestValues completedStatuses:completedStatuses error:false]]; + + SDisposableSet *compositeDisposable = [[SDisposableSet alloc] init]; + + NSUInteger index = 0; + NSUInteger count = signals.count; + for (SSignal *signal in signals) + { + id disposable = [signal startWithNext:^(id next) + { + SSignalCombineState *currentState = [combineState modify:^id(SSignalCombineState *state) + { + NSMutableDictionary *latestValues = [[NSMutableDictionary alloc] initWithDictionary:state.latestValues]; + latestValues[@(index)] = next; + return [[SSignalCombineState alloc] initWithLatestValues:latestValues completedStatuses:state.completedStatuses error:state.error]; + }]; + NSMutableArray *latestValues = [[NSMutableArray alloc] init]; + for (NSUInteger i = 0; i < count; i++) + { + id value = currentState.latestValues[@(i)]; + if (value == nil) + { + latestValues = nil; + break; + } + latestValues[i] = value; + } + if (latestValues != nil) + [subscriber putNext:latestValues]; + } + error:^(id error) + { + __block bool hadError = false; + [combineState modify:^id(SSignalCombineState *state) + { + hadError = state.error; + return [[SSignalCombineState alloc] initWithLatestValues:state.latestValues completedStatuses:state.completedStatuses error:true]; + }]; + if (!hadError) + [subscriber putError:error]; + } completed:^ + { + __block bool wasCompleted = false; + __block bool isCompleted = false; + [combineState modify:^id(SSignalCombineState *state) + { + NSMutableArray *completedStatuses = [[NSMutableArray alloc] initWithArray:state.completedStatuses]; + bool everyStatusWasCompleted = true; + for (NSNumber *nStatus in completedStatuses) + { + if (![nStatus boolValue]) + { + everyStatusWasCompleted = false; + break; + } + } + completedStatuses[index] = @true; + bool everyStatusIsCompleted = true; + for (NSNumber *nStatus in completedStatuses) + { + if (![nStatus boolValue]) + { + everyStatusIsCompleted = false; + break; + } + } + + wasCompleted = everyStatusWasCompleted; + isCompleted = everyStatusIsCompleted; + + return [[SSignalCombineState alloc] initWithLatestValues:state.latestValues completedStatuses:completedStatuses error:state.error]; + }]; + if (!wasCompleted && isCompleted) + [subscriber putCompletion]; + }]; + [compositeDisposable add:disposable]; + index++; + } + + return compositeDisposable; + }]; +} + ++ (SSignal *)mergeSignals:(NSArray *)signals +{ + if (signals.count == 0) + return [SSignal complete]; + + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + SDisposableSet *disposables = [[SDisposableSet alloc] init]; + SAtomic *completedStates = [[SAtomic alloc] initWithValue:[[NSSet alloc] init]]; + + NSInteger index = -1; + NSUInteger count = signals.count; + for (SSignal *signal in signals) + { + index++; + + id disposable = [signal startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + NSSet *set = [completedStates modify:^id(NSSet *set) + { + return [set setByAddingObject:@(index)]; + }]; + if (set.count == count) + [subscriber putCompletion]; + }]; + + [disposables add:disposable]; + } + + return disposables; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Dispatch.h b/Watch/Extension/SSignalKit/SSignal+Dispatch.h new file mode 100644 index 0000000000..a22679b372 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Dispatch.h @@ -0,0 +1,14 @@ +#import + +#import +#import + +@interface SSignal (Dispatch) + +- (SSignal *)deliverOn:(SQueue *)queue; +- (SSignal *)deliverOnThreadPool:(SThreadPool *)threadPool; +- (SSignal *)startOn:(SQueue *)queue; +- (SSignal *)startOnThreadPool:(SThreadPool *)threadPool; +- (SSignal *)throttleOn:(SQueue *)queue delay:(NSTimeInterval)delay; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Dispatch.m b/Watch/Extension/SSignalKit/SSignal+Dispatch.m new file mode 100644 index 0000000000..3929f07eff --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Dispatch.m @@ -0,0 +1,212 @@ +#import "SSignal+Dispatch.h" +#import "SAtomic.h" +#import "STimer.h" +#import "SBlockDisposable.h" +#import "SMetaDisposable.h" + +@interface SSignal_ThrottleContainer : NSObject + +@property (nonatomic, strong, readonly) id value; +@property (nonatomic, readonly) bool committed; +@property (nonatomic, readonly) bool last; + +@end + +@implementation SSignal_ThrottleContainer + +- (instancetype)initWithValue:(id)value committed:(bool)committed last:(bool)last { + self = [super init]; + if (self != nil) { + _value = value; + _committed = committed; + _last = last; + } + return self; +} + +@end + +@implementation SSignal (Dispatch) + +- (SSignal *)deliverOn:(SQueue *)queue +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + [queue dispatch:^ + { + [subscriber putNext:next]; + }]; + } error:^(id error) + { + [queue dispatch:^ + { + [subscriber putError:error]; + }]; + } completed:^ + { + [queue dispatch:^ + { + [subscriber putCompletion]; + }]; + }]; + }]; +} + +- (SSignal *)deliverOnThreadPool:(SThreadPool *)threadPool +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SThreadPoolQueue *queue = [threadPool nextQueue]; + return [self startWithNext:^(id next) + { + SThreadPoolTask *task = [[SThreadPoolTask alloc] initWithBlock:^(bool (^cancelled)()) + { + if (!cancelled()) + [subscriber putNext:next]; + }]; + [queue addTask:task]; + } error:^(id error) + { + SThreadPoolTask *task = [[SThreadPoolTask alloc] initWithBlock:^(bool (^cancelled)()) + { + if (!cancelled()) + [subscriber putError:error]; + }]; + [queue addTask:task]; + } completed:^ + { + SThreadPoolTask *task = [[SThreadPoolTask alloc] initWithBlock:^(bool (^cancelled)()) + { + if (!cancelled()) + [subscriber putCompletion]; + }]; + [queue addTask:task]; + }]; + }]; +} + +- (SSignal *)startOn:(SQueue *)queue +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + __block bool isCancelled = false; + SMetaDisposable *disposable = [[SMetaDisposable alloc] init]; + [disposable setDisposable:[[SBlockDisposable alloc] initWithBlock:^ + { + isCancelled = true; + }]]; + + [queue dispatch:^ + { + if (!isCancelled) + { + [disposable setDisposable:[self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + } + }]; + + return disposable; + }]; +} + +- (SSignal *)startOnThreadPool:(SThreadPool *)threadPool +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SMetaDisposable *disposable = [[SMetaDisposable alloc] init]; + + SThreadPoolTask *task = [[SThreadPoolTask alloc] initWithBlock:^(bool (^cancelled)()) + { + if (cancelled && cancelled()) + return; + + [disposable setDisposable:[self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + }]; + + [disposable setDisposable:[[SBlockDisposable alloc] initWithBlock:^ + { + [task cancel]; + }]]; + + [threadPool addTask:task]; + + return disposable; + }]; +} + +- (SSignal *)throttleOn:(SQueue *)queue delay:(NSTimeInterval)delay +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) { + SAtomic *value = [[SAtomic alloc] initWithValue:nil]; + STimer *timer = [[STimer alloc] initWithTimeout:delay repeat:false completion:^{ + [value modify:^id(SSignal_ThrottleContainer *container) { + if (container != nil) { + if (!container.committed) { + [subscriber putNext:container.value]; + container = [[SSignal_ThrottleContainer alloc] initWithValue:container.value committed:true last:container.last]; + } + + if (container.last) { + [subscriber putCompletion]; + } + } + return container; + }]; + } queue:queue]; + + return [[self deliverOn:queue] startWithNext:^(id next) { + [value modify:^id(SSignal_ThrottleContainer *container) { + if (container == nil) { + container = [[SSignal_ThrottleContainer alloc] initWithValue:next committed:false last:false]; + } + return container; + }]; + [timer invalidate]; + [timer start]; + } error:^(id error) { + [timer invalidate]; + [subscriber putError:error]; + } completed:^{ + [timer invalidate]; + __block bool start = false; + [value modify:^id(SSignal_ThrottleContainer *container) { + bool wasCommitted = false; + if (container == nil) { + wasCommitted = true; + container = [[SSignal_ThrottleContainer alloc] initWithValue:nil committed:true last:true]; + } else { + wasCommitted = container.committed; + container = [[SSignal_ThrottleContainer alloc] initWithValue:container.value committed:container.committed last:true]; + } + start = wasCommitted; + return container; + }]; + if (start) { + [timer start]; + } else { + [timer fireAndInvalidate]; + } + }]; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Mapping.h b/Watch/Extension/SSignalKit/SSignal+Mapping.h new file mode 100644 index 0000000000..81a16816e2 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Mapping.h @@ -0,0 +1,9 @@ +#import + +@interface SSignal (Mapping) + +- (SSignal *)map:(id (^)(id))f; +- (SSignal *)filter:(bool (^)(id))f; +- (SSignal *)ignoreRepeated; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Mapping.m b/Watch/Extension/SSignalKit/SSignal+Mapping.m new file mode 100644 index 0000000000..cd3a3ece0a --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Mapping.m @@ -0,0 +1,83 @@ +#import "SSignal+Mapping.h" + +#import "SAtomic.h" + +@interface SSignalIgnoreRepeatedState: NSObject + +@property (nonatomic, strong) id value; +@property (nonatomic) bool hasValue; + +@end + +@implementation SSignalIgnoreRepeatedState + +@end + +@implementation SSignal (Mapping) + +- (SSignal *)map:(id (^)(id))f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + [subscriber putNext:f(next)]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)filter:(bool (^)(id))f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + if (f(next)) + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)ignoreRepeated { + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) { + SAtomic *state = [[SAtomic alloc] initWithValue:[[SSignalIgnoreRepeatedState alloc] init]]; + + return [self startWithNext:^(id next) { + bool shouldPassthrough = [[state with:^id(SSignalIgnoreRepeatedState *state) { + if (!state.hasValue) { + state.hasValue = true; + state.value = next; + return @true; + } else if ((state.value == nil && next == nil) || [(id)state.value isEqual:next]) { + return @false; + } + state.value = next; + return @true; + }] boolValue]; + + if (shouldPassthrough) { + [subscriber putNext:next]; + } + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Meta.h b/Watch/Extension/SSignalKit/SSignal+Meta.h new file mode 100644 index 0000000000..2d90df13f8 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Meta.h @@ -0,0 +1,22 @@ +#import + +@class SQueue; + +@interface SSignal (Meta) + +- (SSignal *)switchToLatest; +- (SSignal *)mapToSignal:(SSignal *(^)(id))f; +- (SSignal *)mapToQueue:(SSignal *(^)(id))f; +- (SSignal *)mapToThrottled:(SSignal *(^)(id))f; +- (SSignal *)then:(SSignal *)signal; +- (SSignal *)queue; +- (SSignal *)throttled; ++ (SSignal *)defer:(SSignal *(^)())generator; + +@end + +@interface SSignalQueue : NSObject + +- (SSignal *)enqueue:(SSignal *)signal; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Meta.m b/Watch/Extension/SSignalKit/SSignal+Meta.m new file mode 100644 index 0000000000..f6ad4124e6 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Meta.m @@ -0,0 +1,325 @@ +#import "SSignal+Meta.h" + +#import "SDisposableSet.h" +#import "SMetaDisposable.h" +#import "SSignal+Mapping.h" +#import "SAtomic.h" +#import "SSignal+Pipe.h" + +#import + +@interface SSignalQueueState : NSObject +{ + OSSpinLock _lock; + bool _executingSignal; + bool _terminated; + + id _disposable; + SMetaDisposable *_currentDisposable; + SSubscriber *_subscriber; + + NSMutableArray *_queuedSignals; + bool _queueMode; + bool _throttleMode; +} + +@end + +@implementation SSignalQueueState + +- (instancetype)initWithSubscriber:(SSubscriber *)subscriber queueMode:(bool)queueMode throttleMode:(bool)throttleMode +{ + self = [super init]; + if (self != nil) + { + _subscriber = subscriber; + _currentDisposable = [[SMetaDisposable alloc] init]; + _queuedSignals = queueMode ? [[NSMutableArray alloc] init] : nil; + _queueMode = queueMode; + _throttleMode = throttleMode; + } + return self; +} + +- (void)beginWithDisposable:(id)disposable +{ + _disposable = disposable; +} + +- (void)enqueueSignal:(SSignal *)signal +{ + bool startSignal = false; + OSSpinLockLock(&_lock); + if (_queueMode && _executingSignal) { + if (_throttleMode) { + [_queuedSignals removeAllObjects]; + } + [_queuedSignals addObject:signal]; + } + else + { + _executingSignal = true; + startSignal = true; + } + OSSpinLockUnlock(&_lock); + + if (startSignal) + { + __weak SSignalQueueState *weakSelf = self; + id disposable = [signal startWithNext:^(id next) + { + [_subscriber putNext:next]; + } error:^(id error) + { + [_subscriber putError:error]; + } completed:^ + { + __strong SSignalQueueState *strongSelf = weakSelf; + if (strongSelf != nil) { + [strongSelf headCompleted]; + } + }]; + + [_currentDisposable setDisposable:disposable]; + } +} + +- (void)headCompleted +{ + SSignal *nextSignal = nil; + + bool terminated = false; + OSSpinLockLock(&_lock); + _executingSignal = false; + + if (_queueMode) + { + if (_queuedSignals.count != 0) + { + nextSignal = _queuedSignals[0]; + [_queuedSignals removeObjectAtIndex:0]; + _executingSignal = true; + } + else + terminated = _terminated; + } + else + terminated = _terminated; + OSSpinLockUnlock(&_lock); + + if (terminated) + [_subscriber putCompletion]; + else if (nextSignal != nil) + { + __weak SSignalQueueState *weakSelf = self; + id disposable = [nextSignal startWithNext:^(id next) + { + [_subscriber putNext:next]; + } error:^(id error) + { + [_subscriber putError:error]; + } completed:^ + { + __strong SSignalQueueState *strongSelf = weakSelf; + if (strongSelf != nil) { + [strongSelf headCompleted]; + } + }]; + + [_currentDisposable setDisposable:disposable]; + } +} + +- (void)beginCompletion +{ + bool executingSignal = false; + OSSpinLockLock(&_lock); + executingSignal = _executingSignal; + _terminated = true; + OSSpinLockUnlock(&_lock); + + if (!executingSignal) + [_subscriber putCompletion]; +} + +- (void)dispose +{ + [_currentDisposable dispose]; + [_disposable dispose]; +} + +@end + +@implementation SSignal (Meta) + +- (SSignal *)switchToLatest +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SSignalQueueState *state = [[SSignalQueueState alloc] initWithSubscriber:subscriber queueMode:false throttleMode:false]; + + [state beginWithDisposable:[self startWithNext:^(id next) + { + [state enqueueSignal:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [state beginCompletion]; + }]]; + + return state; + }]; +} + +- (SSignal *)mapToSignal:(SSignal *(^)(id))f +{ + return [[self map:f] switchToLatest]; +} + +- (SSignal *)mapToQueue:(SSignal *(^)(id))f +{ + return [[self map:f] queue]; +} + +- (SSignal *)mapToThrottled:(SSignal *(^)(id))f { + return [[self map:f] throttled]; +} + +- (SSignal *)then:(SSignal *)signal +{ + return [[SSignal alloc] initWithGenerator:^(SSubscriber *subscriber) + { + SDisposableSet *compositeDisposable = [[SDisposableSet alloc] init]; + + SMetaDisposable *currentDisposable = [[SMetaDisposable alloc] init]; + [compositeDisposable add:currentDisposable]; + + [currentDisposable setDisposable:[self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [compositeDisposable add:[signal startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + }]]; + + return compositeDisposable; + }]; +} + +- (SSignal *)queue +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SSignalQueueState *state = [[SSignalQueueState alloc] initWithSubscriber:subscriber queueMode:true throttleMode:false]; + + [state beginWithDisposable:[self startWithNext:^(id next) + { + [state enqueueSignal:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [state beginCompletion]; + }]]; + + return state; + }]; +} + +- (SSignal *)throttled { + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) { + SSignalQueueState *state = [[SSignalQueueState alloc] initWithSubscriber:subscriber queueMode:true throttleMode:true]; + [state beginWithDisposable:[self startWithNext:^(id next) + { + [state enqueueSignal:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [state beginCompletion]; + }]]; + + return state; + }]; +} + ++ (SSignal *)defer:(SSignal *(^)())generator +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + return [generator() startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +@end + +@interface SSignalQueue () { + SPipe *_pipe; + id _disposable; +} + +@end + +@implementation SSignalQueue + +- (instancetype)init { + self = [super init]; + if (self != nil) { + _pipe = [[SPipe alloc] init]; + _disposable = [[_pipe.signalProducer() queue] startWithNext:nil]; + } + return self; +} + +- (void)dealloc { + [_disposable dispose]; +} + +- (SSignal *)enqueue:(SSignal *)signal { + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) { + SPipe *disposePipe = [[SPipe alloc] init]; + + SSignal *proxy = [[[[signal onNext:^(id next) { + [subscriber putNext:next]; + }] onError:^(id error) { + [subscriber putError:error]; + }] onCompletion:^{ + [subscriber putCompletion]; + }] catch:^SSignal *(__unused id error) { + return [SSignal complete]; + }]; + + _pipe.sink([proxy takeUntilReplacement:disposePipe.signalProducer()]); + + return [[SBlockDisposable alloc] initWithBlock:^{ + disposePipe.sink([SSignal complete]); + }]; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Multicast.h b/Watch/Extension/SSignalKit/SSignal+Multicast.h new file mode 100644 index 0000000000..e0720cc103 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Multicast.h @@ -0,0 +1,7 @@ +#import + +@interface SSignal (Multicast) + +- (SSignal *)multicast; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Multicast.m b/Watch/Extension/SSignalKit/SSignal+Multicast.m new file mode 100644 index 0000000000..92976cff4a --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Multicast.m @@ -0,0 +1,158 @@ +#import "SSignal+Multicast.h" + +#import +#import "SBag.h" +#import "SBlockDisposable.h" + +typedef enum { + SSignalMulticastStateReady, + SSignalMulticastStateStarted, + SSignalMulticastStateCompleted +} SSignalMulticastState; + +@interface SSignalMulticastSubscribers : NSObject +{ + volatile OSSpinLock _lock; + SBag *_subscribers; + SSignalMulticastState _state; + id _disposable; +} + +@end + +@implementation SSignalMulticastSubscribers + +- (instancetype)init +{ + self = [super init]; + if (self != nil) + { + _subscribers = [[SBag alloc] init]; + } + return self; +} + +- (void)setDisposable:(id)disposable +{ + [_disposable dispose]; + _disposable = disposable; +} + +- (id)addSubscriber:(SSubscriber *)subscriber start:(bool *)start +{ + OSSpinLockLock(&_lock); + NSInteger index = [_subscribers addItem:subscriber]; + switch (_state) { + case SSignalMulticastStateReady: + *start = true; + _state = SSignalMulticastStateStarted; + break; + default: + break; + } + OSSpinLockUnlock(&_lock); + + return [[SBlockDisposable alloc] initWithBlock:^ + { + [self remove:index]; + }]; +} + +- (void)remove:(NSInteger)index +{ + id currentDisposable = nil; + + OSSpinLockLock(&_lock); + [_subscribers removeItem:index]; + switch (_state) { + case SSignalMulticastStateStarted: + if ([_subscribers isEmpty]) + { + currentDisposable = _disposable; + _disposable = nil; + } + break; + default: + break; + } + OSSpinLockUnlock(&_lock); + + [currentDisposable dispose]; +} + +- (void)notifyNext:(id)next +{ + NSArray *currentSubscribers = nil; + OSSpinLockLock(&_lock); + currentSubscribers = [_subscribers copyItems]; + OSSpinLockUnlock(&_lock); + + for (SSubscriber *subscriber in currentSubscribers) + { + [subscriber putNext:next]; + } +} + +- (void)notifyError:(id)error +{ + NSArray *currentSubscribers = nil; + OSSpinLockLock(&_lock); + currentSubscribers = [_subscribers copyItems]; + _state = SSignalMulticastStateCompleted; + OSSpinLockUnlock(&_lock); + + for (SSubscriber *subscriber in currentSubscribers) + { + [subscriber putError:error]; + } +} + +- (void)notifyCompleted +{ + NSArray *currentSubscribers = nil; + OSSpinLockLock(&_lock); + currentSubscribers = [_subscribers copyItems]; + _state = SSignalMulticastStateCompleted; + OSSpinLockUnlock(&_lock); + + for (SSubscriber *subscriber in currentSubscribers) + { + [subscriber putCompletion]; + } +} + +@end + +@implementation SSignal (Multicast) + +- (SSignal *)multicast +{ + SSignalMulticastSubscribers *subscribers = [[SSignalMulticastSubscribers alloc] init]; + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + bool start = false; + id currentDisposable = [subscribers addSubscriber:subscriber start:&start]; + if (start) + { + id disposable = [self startWithNext:^(id next) + { + [subscribers notifyNext:next]; + } error:^(id error) + { + [subscribers notifyError:error]; + } completed:^ + { + [subscribers notifyCompleted]; + }]; + + [subscribers setDisposable:[[SBlockDisposable alloc] initWithBlock:^ + { + [disposable dispose]; + }]]; + } + + return currentDisposable; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Pipe.h b/Watch/Extension/SSignalKit/SSignal+Pipe.h new file mode 100644 index 0000000000..2a21ee4cf7 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Pipe.h @@ -0,0 +1,11 @@ +#import + +@interface SPipe : NSObject + +@property (nonatomic, copy, readonly) SSignal *(^signalProducer)(); +@property (nonatomic, copy, readonly) void (^sink)(id); + +- (instancetype)initWithReplay:(bool)replay; + +@end + diff --git a/Watch/Extension/SSignalKit/SSignal+Pipe.m b/Watch/Extension/SSignalKit/SSignal+Pipe.m new file mode 100644 index 0000000000..ab9496a2d2 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Pipe.m @@ -0,0 +1,103 @@ +#import "SSignal+Pipe.h" + +#import "SBlockDisposable.h" +#import "SAtomic.h" +#import "SBag.h" + +@interface SPipeReplayState : NSObject + +@property (nonatomic, readonly) bool hasReceivedValue; +@property (nonatomic, strong, readonly) id recentValue; + +@end + +@implementation SPipeReplayState + +- (instancetype)initWithReceivedValue:(bool)receivedValue recentValue:(id)recentValue +{ + self = [super init]; + if (self != nil) + { + _hasReceivedValue = receivedValue; + _recentValue = recentValue; + } + return self; +} + +@end + +@implementation SPipe + +- (instancetype)init +{ + return [self initWithReplay:false]; +} + +- (instancetype)initWithReplay:(bool)replay +{ + self = [super init]; + if (self != nil) + { + SAtomic *subscribers = [[SAtomic alloc] initWithValue:[[SBag alloc] init]]; + SAtomic *replayState = replay ? [[SAtomic alloc] initWithValue:[[SPipeReplayState alloc] initWithReceivedValue:false recentValue:nil]] : nil; + + _signalProducer = [^SSignal * + { + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + __block NSUInteger index = 0; + [subscribers with:^id(SBag *bag) + { + index = [bag addItem:[^(id next) + { + [subscriber putNext:next]; + } copy]]; + return nil; + }]; + + if (replay) + { + [replayState with:^id(SPipeReplayState *state) + { + if (state.hasReceivedValue) + [subscriber putNext:state.recentValue]; + return nil; + }]; + } + + return [[SBlockDisposable alloc] initWithBlock:^ + { + [subscribers with:^id(SBag *bag) + { + [bag removeItem:index]; + return nil; + }]; + }]; + }]; + } copy]; + + _sink = [^(id next) + { + NSArray *items = [subscribers with:^id(SBag *bag) + { + return [bag copyItems]; + }]; + + for (void (^item)(id) in items) + { + item(next); + } + + if (replay) + { + [replayState modify:^id(__unused SPipeReplayState *state) + { + return [[SPipeReplayState alloc] initWithReceivedValue:true recentValue:next]; + }]; + } + } copy]; + } + return self; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+SideEffects.h b/Watch/Extension/SSignalKit/SSignal+SideEffects.h new file mode 100644 index 0000000000..8107fcf4cb --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+SideEffects.h @@ -0,0 +1,13 @@ +#import + +@interface SSignal (SideEffects) + +- (SSignal *)onStart:(void (^)())f; +- (SSignal *)onNext:(void (^)(id next))f; +- (SSignal *)afterNext:(void (^)(id next))f; +- (SSignal *)onError:(void (^)(id error))f; +- (SSignal *)onCompletion:(void (^)())f; +- (SSignal *)afterCompletion:(void (^)())f; +- (SSignal *)onDispose:(void (^)())f; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+SideEffects.m b/Watch/Extension/SSignalKit/SSignal+SideEffects.m new file mode 100644 index 0000000000..3d78102d2d --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+SideEffects.m @@ -0,0 +1,141 @@ +#import "SSignal+SideEffects.h" + +#import "SBlockDisposable.h" +#import "SDisposableSet.h" + +@implementation SSignal (SideEffects) + +- (SSignal *)onStart:(void (^)())f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + f(); + return [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)onNext:(void (^)(id next))f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + f(next); + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)afterNext:(void (^)(id next))f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + [subscriber putNext:next]; + f(next); + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)onError:(void (^)(id error))f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + f(error); + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)onCompletion:(void (^)())f +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + f(); + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)afterCompletion:(void (^)())f { + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + return [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + f(); + }]; + }]; +} + +- (SSignal *)onDispose:(void (^)())f +{ + return [[SSignal alloc] initWithGenerator:^(SSubscriber *subscriber) + { + SDisposableSet *compositeDisposable = [[SDisposableSet alloc] init]; + + [compositeDisposable add:[self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + + [compositeDisposable add:[[SBlockDisposable alloc] initWithBlock:^ + { + f(); + }]]; + + return compositeDisposable; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Single.h b/Watch/Extension/SSignalKit/SSignal+Single.h new file mode 100644 index 0000000000..75f48ff569 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Single.h @@ -0,0 +1,10 @@ +#import + +@interface SSignal (Single) + ++ (SSignal *)single:(id)next; ++ (SSignal *)fail:(id)error; ++ (SSignal *)never; ++ (SSignal *)complete; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Single.m b/Watch/Extension/SSignalKit/SSignal+Single.m new file mode 100644 index 0000000000..6da5943459 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Single.m @@ -0,0 +1,41 @@ +#import "SSignal+Single.h" + +@implementation SSignal (Single) + ++ (SSignal *)single:(id)next +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + [subscriber putNext:next]; + [subscriber putCompletion]; + return nil; + }]; +} + ++ (SSignal *)fail:(id)error +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + [subscriber putError:error]; + return nil; + }]; +} + ++ (SSignal *)never +{ + return [[SSignal alloc] initWithGenerator:^id (__unused SSubscriber *subscriber) + { + return nil; + }]; +} + ++ (SSignal *)complete +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + [subscriber putCompletion]; + return nil; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Take.h b/Watch/Extension/SSignalKit/SSignal+Take.h new file mode 100644 index 0000000000..a4d1ff23eb --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Take.h @@ -0,0 +1,9 @@ +#import + +@interface SSignal (Take) + +- (SSignal *)take:(NSUInteger)count; +- (SSignal *)takeLast; +- (SSignal *)takeUntilReplacement:(SSignal *)replacement; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Take.m b/Watch/Extension/SSignalKit/SSignal+Take.m new file mode 100644 index 0000000000..e5db9fa034 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Take.m @@ -0,0 +1,122 @@ +#import "SSignal+Take.h" + +#import "SAtomic.h" + +@interface SSignal_ValueContainer : NSObject + +@property (nonatomic, strong, readonly) id value; + +@end + +@implementation SSignal_ValueContainer + +- (instancetype)initWithValue:(id)value { + self = [super init]; + if (self != nil) { + _value = value; + } + return self; +} + +@end + +@implementation SSignal (Take) + +- (SSignal *)take:(NSUInteger)count +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + SAtomic *counter = [[SAtomic alloc] initWithValue:@(0)]; + return [self startWithNext:^(id next) + { + __block bool passthrough = false; + __block bool complete = false; + [counter modify:^id(NSNumber *currentCount) + { + NSUInteger updatedCount = [currentCount unsignedIntegerValue] + 1; + if (updatedCount <= count) + passthrough = true; + if (updatedCount == count) + complete = true; + return @(updatedCount); + }]; + + if (passthrough) + [subscriber putNext:next]; + if (complete) + [subscriber putCompletion]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)takeLast +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + SAtomic *last = [[SAtomic alloc] initWithValue:nil]; + return [self startWithNext:^(id next) + { + [last swap:[[SSignal_ValueContainer alloc] initWithValue:next]]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + SSignal_ValueContainer *value = [last with:^id(id value) { + return value; + }]; + if (value != nil) + { + [subscriber putNext:value.value]; + } + [subscriber putCompletion]; + }]; + }]; +} + +- (SSignal *)takeUntilReplacement:(SSignal *)replacement { + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) { + SDisposableSet *disposable = [[SDisposableSet alloc] init]; + + SMetaDisposable *selfDisposable = [[SMetaDisposable alloc] init]; + SMetaDisposable *replacementDisposable = [[SMetaDisposable alloc] init]; + + [disposable add:selfDisposable]; + [disposable add:replacementDisposable]; + + [disposable add:[replacement startWithNext:^(SSignal *next) { + [selfDisposable dispose]; + + [replacementDisposable setDisposable:[next startWithNext:^(id next) { + [subscriber putNext:next]; + } error:^(id error) { + [subscriber putError:error]; + } completed:^{ + [subscriber putCompletion]; + }]]; + } error:^(id error) { + [subscriber putError:error]; + } completed:^{ + }]]; + + [selfDisposable setDisposable:[self startWithNext:^(id next) { + [subscriber putNext:next]; + } error:^(id error) { + [replacementDisposable dispose]; + [subscriber putError:error]; + } completed:^{ + [replacementDisposable dispose]; + [subscriber putCompletion]; + }]]; + + return disposable; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Timing.h b/Watch/Extension/SSignalKit/SSignal+Timing.h new file mode 100644 index 0000000000..4b5d50c90e --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Timing.h @@ -0,0 +1,11 @@ +#import + +#import + +@interface SSignal (Timing) + +- (SSignal *)delay:(NSTimeInterval)seconds onQueue:(SQueue *)queue; +- (SSignal *)timeout:(NSTimeInterval)seconds onQueue:(SQueue *)queue orSignal:(SSignal *)signal; +- (SSignal *)wait:(NSTimeInterval)seconds; + +@end diff --git a/Watch/Extension/SSignalKit/SSignal+Timing.m b/Watch/Extension/SSignalKit/SSignal+Timing.m new file mode 100644 index 0000000000..3d0dbc4a97 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal+Timing.m @@ -0,0 +1,109 @@ +#import "SSignal+Timing.h" + +#import "SMetaDisposable.h" +#import "SDisposableSet.h" +#import "SBlockDisposable.h" + +#import "SSignal+Dispatch.h" + +#import "STimer.h" + +@implementation SSignal (Timing) + +- (SSignal *)delay:(NSTimeInterval)seconds onQueue:(SQueue *)queue +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SMetaDisposable *disposable = [[SMetaDisposable alloc] init]; + + STimer *timer = [[STimer alloc] initWithTimeout:seconds repeat:false completion:^ + { + [disposable setDisposable:[self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + } queue:queue]; + + [timer start]; + + [disposable setDisposable:[[SBlockDisposable alloc] initWithBlock:^ + { + [timer invalidate]; + }]]; + + return disposable; + }]; +} + +- (SSignal *)timeout:(NSTimeInterval)seconds onQueue:(SQueue *)queue orSignal:(SSignal *)signal +{ + return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) + { + SMetaDisposable *disposable = [[SMetaDisposable alloc] init]; + + STimer *timer = [[STimer alloc] initWithTimeout:seconds repeat:false completion:^ + { + [disposable setDisposable:[signal startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + }]]; + } queue:queue]; + [timer start]; + + [disposable setDisposable:[self startWithNext:^(id next) + { + [timer invalidate]; + [subscriber putNext:next]; + } error:^(id error) + { + [timer invalidate]; + [subscriber putError:error]; + } completed:^ + { + [timer invalidate]; + [subscriber putCompletion]; + }]]; + + return disposable; + }]; +} + +- (SSignal *)wait:(NSTimeInterval)seconds +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + id disposable = [self startWithNext:^(id next) + { + dispatch_semaphore_signal(semaphore); + [subscriber putNext:next]; + } error:^(id error) + { + dispatch_semaphore_signal(semaphore); + [subscriber putError:error]; + } completed:^ + { + dispatch_semaphore_signal(semaphore); + [subscriber putCompletion]; + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int64_t)(seconds * NSEC_PER_SEC))); + + return disposable; + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignal.h b/Watch/Extension/SSignalKit/SSignal.h new file mode 100644 index 0000000000..46b7385d36 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal.h @@ -0,0 +1,18 @@ +#import + +@interface SSignal : NSObject +{ +@public + id (^_generator)(SSubscriber *); +} + +- (instancetype)initWithGenerator:(id (^)(SSubscriber *))generator; + +- (id)startWithNext:(void (^)(id next))next error:(void (^)(id error))error completed:(void (^)())completed; +- (id)startWithNext:(void (^)(id next))next; +- (id)startWithNext:(void (^)(id next))next completed:(void (^)())completed; + +- (SSignal *)trace:(NSString *)name; + +@end + diff --git a/Watch/Extension/SSignalKit/SSignal.m b/Watch/Extension/SSignalKit/SSignal.m new file mode 100644 index 0000000000..6bf3ff4dde --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignal.m @@ -0,0 +1,107 @@ +#import "SSignal.h" + +#import "SBlockDisposable.h" + +@interface SSubscriberDisposable : NSObject +{ + SSubscriber *_subscriber; + id _disposable; +} + +@end + +@implementation SSubscriberDisposable + +- (instancetype)initWithSubscriber:(SSubscriber *)subscriber disposable:(id)disposable +{ + self = [super init]; + if (self != nil) + { + _subscriber = subscriber; + _disposable = disposable; + } + return self; +} + +- (void)dispose +{ + [_subscriber _markTerminatedWithoutDisposal]; + [_disposable dispose]; +} + +@end + +@interface SSignal () +{ +} + +@end + +@implementation SSignal + +- (instancetype)initWithGenerator:(id (^)(SSubscriber *))generator +{ + self = [super init]; + if (self != nil) + { + _generator = [generator copy]; + } + return self; +} + +- (id)startWithNext:(void (^)(id next))next error:(void (^)(id error))error completed:(void (^)())completed traceName:(NSString *)traceName +{ + STracingSubscriber *subscriber = [[STracingSubscriber alloc] initWithName:traceName next:next error:error completed:completed]; + id disposable = _generator(subscriber); + [subscriber _assignDisposable:disposable]; + return [[SSubscriberDisposable alloc] initWithSubscriber:subscriber disposable:disposable]; +} + +- (id)startWithNext:(void (^)(id next))next error:(void (^)(id error))error completed:(void (^)())completed +{ + SSubscriber *subscriber = [[SSubscriber alloc] initWithNext:next error:error completed:completed]; + id disposable = _generator(subscriber); + [subscriber _assignDisposable:disposable]; + return [[SSubscriberDisposable alloc] initWithSubscriber:subscriber disposable:disposable]; +} + +- (id)startWithNext:(void (^)(id next))next +{ + SSubscriber *subscriber = [[SSubscriber alloc] initWithNext:next error:nil completed:nil]; + id disposable = _generator(subscriber); + [subscriber _assignDisposable:disposable]; + return [[SSubscriberDisposable alloc] initWithSubscriber:subscriber disposable:disposable]; +} + +- (id)startWithNext:(void (^)(id next))next completed:(void (^)())completed +{ + SSubscriber *subscriber = [[SSubscriber alloc] initWithNext:next error:nil completed:completed]; + id disposable = _generator(subscriber); + [subscriber _assignDisposable:disposable]; + return [[SSubscriberDisposable alloc] initWithSubscriber:subscriber disposable:disposable]; +} + +- (SSignal *)trace:(NSString *)name +{ +#ifdef DEBUG + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + NSString *traceName = [[NSString alloc] initWithFormat:@"%@#0x%x", name, (int)random()]; + NSLog(@"trace(%@ start)", traceName); + return [self startWithNext:^(id next) + { + [subscriber putNext:next]; + } error:^(id error) + { + [subscriber putError:error]; + } completed:^ + { + [subscriber putCompletion]; + } traceName:traceName]; + }]; +#else + return self; +#endif +} + +@end diff --git a/Watch/Extension/SSignalKit/SSignalKit.h b/Watch/Extension/SSignalKit/SSignalKit.h new file mode 100644 index 0000000000..9842a184e1 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSignalKit.h @@ -0,0 +1,45 @@ +// +// SSignalKit.h +// SSignalKit +// +// Created by Peter on 31/01/15. +// Copyright (c) 2015 Telegram. All rights reserved. +// + +#if __IPHONE_OS_VERSION_MIN_REQUIRED +#import +#else +#import +#endif + +//! Project version number for SSignalKit. +FOUNDATION_EXPORT double SSignalKitVersionNumber; + +//! Project version string for SSignalKit. +FOUNDATION_EXPORT const unsigned char SSignalKitVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/Watch/Extension/SSignalKit/SSubscriber.h b/Watch/Extension/SSignalKit/SSubscriber.h new file mode 100644 index 0000000000..ce4fee5678 --- /dev/null +++ b/Watch/Extension/SSignalKit/SSubscriber.h @@ -0,0 +1,22 @@ +#import + +@interface SSubscriber : NSObject +{ +} + +- (instancetype)initWithNext:(void (^)(id))next error:(void (^)(id))error completed:(void (^)())completed; + +- (void)_assignDisposable:(id)disposable; +- (void)_markTerminatedWithoutDisposal; + +- (void)putNext:(id)next; +- (void)putError:(id)error; +- (void)putCompletion; + +@end + +@interface STracingSubscriber : SSubscriber + +- (instancetype)initWithName:(NSString *)name next:(void (^)(id))next error:(void (^)(id))error completed:(void (^)())completed; + +@end \ No newline at end of file diff --git a/Watch/Extension/SSignalKit/SSubscriber.m b/Watch/Extension/SSignalKit/SSubscriber.m new file mode 100644 index 0000000000..e565b7748d --- /dev/null +++ b/Watch/Extension/SSignalKit/SSubscriber.m @@ -0,0 +1,276 @@ +#import "SSubscriber.h" + +#import + +@interface SSubscriberBlocks : NSObject { + @public + void (^_next)(id); + void (^_error)(id); + void (^_completed)(); +} + +@end + +@implementation SSubscriberBlocks + +- (instancetype)initWithNext:(void (^)(id))next error:(void (^)(id))error completed:(void (^)())completed { + self = [super init]; + if (self != nil) { + _next = [next copy]; + _error = [error copy]; + _completed = [completed copy]; + } + return self; +} + +@end + +@interface SSubscriber () +{ + @protected + OSSpinLock _lock; + bool _terminated; + id _disposable; + SSubscriberBlocks *_blocks; +} + +@end + +@implementation SSubscriber + +- (instancetype)initWithNext:(void (^)(id))next error:(void (^)(id))error completed:(void (^)())completed +{ + self = [super init]; + if (self != nil) + { + _blocks = [[SSubscriberBlocks alloc] initWithNext:next error:error completed:completed]; + } + return self; +} + +- (void)_assignDisposable:(id)disposable +{ + bool dispose = false; + OSSpinLockLock(&_lock); + if (_terminated) { + dispose = true; + } else { + _disposable = disposable; + } + OSSpinLockUnlock(&_lock); + if (dispose) { + [disposable dispose]; + } +} + +- (void)_markTerminatedWithoutDisposal +{ + OSSpinLockLock(&_lock); + SSubscriberBlocks *blocks = nil; + if (!_terminated) + { + blocks = _blocks; + _blocks = nil; + + _terminated = true; + } + OSSpinLockUnlock(&_lock); + + if (blocks) { + blocks = nil; + } +} + +- (void)putNext:(id)next +{ + SSubscriberBlocks *blocks = nil; + + OSSpinLockLock(&_lock); + if (!_terminated) { + blocks = _blocks; + } + OSSpinLockUnlock(&_lock); + + if (blocks && blocks->_next) { + blocks->_next(next); + } +} + +- (void)putError:(id)error +{ + bool shouldDispose = false; + SSubscriberBlocks *blocks = nil; + + OSSpinLockLock(&_lock); + if (!_terminated) + { + blocks = _blocks; + _blocks = nil; + + shouldDispose = true; + _terminated = true; + } + OSSpinLockUnlock(&_lock); + + if (blocks && blocks->_error) { + blocks->_error(error); + } + + if (shouldDispose) + [self->_disposable dispose]; +} + +- (void)putCompletion +{ + bool shouldDispose = false; + SSubscriberBlocks *blocks = nil; + + OSSpinLockLock(&_lock); + if (!_terminated) + { + blocks = _blocks; + _blocks = nil; + + shouldDispose = true; + _terminated = true; + } + OSSpinLockUnlock(&_lock); + + if (blocks && blocks->_completed) + blocks->_completed(); + + if (shouldDispose) + [self->_disposable dispose]; +} + +- (void)dispose +{ + [self->_disposable dispose]; +} + +@end + +@interface STracingSubscriber () +{ + NSString *_name; +} + +@end + +@implementation STracingSubscriber + +- (instancetype)initWithName:(NSString *)name next:(void (^)(id))next error:(void (^)(id))error completed:(void (^)())completed +{ + self = [super initWithNext:next error:error completed:completed]; + if (self != nil) + { + _name = name; + } + return self; +} + +/*- (void)_assignDisposable:(id)disposable +{ + if (_terminated) + [disposable dispose]; + else + _disposable = disposable; +} + +- (void)_markTerminatedWithoutDisposal +{ + OSSpinLockLock(&_lock); + if (!_terminated) + { + NSLog(@"trace(%@ terminated)", _name); + _terminated = true; + _next = nil; + _error = nil; + _completed = nil; + } + OSSpinLockUnlock(&_lock); +} + +- (void)putNext:(id)next +{ + void (^fnext)(id) = nil; + + OSSpinLockLock(&_lock); + if (!_terminated) + fnext = self->_next; + OSSpinLockUnlock(&_lock); + + if (fnext) + { + NSLog(@"trace(%@ next: %@)", _name, next); + fnext(next); + } + else + NSLog(@"trace(%@ next: %@, not accepted)", _name, next); +} + +- (void)putError:(id)error +{ + bool shouldDispose = false; + void (^ferror)(id) = nil; + + OSSpinLockLock(&_lock); + if (!_terminated) + { + ferror = self->_error; + shouldDispose = true; + self->_next = nil; + self->_error = nil; + self->_completed = nil; + _terminated = true; + } + OSSpinLockUnlock(&_lock); + + if (ferror) + { + NSLog(@"trace(%@ error: %@)", _name, error); + ferror(error); + } + else + NSLog(@"trace(%@ error: %@, not accepted)", _name, error); + + if (shouldDispose) + [self->_disposable dispose]; +} + +- (void)putCompletion +{ + bool shouldDispose = false; + void (^completed)() = nil; + + OSSpinLockLock(&_lock); + if (!_terminated) + { + completed = self->_completed; + shouldDispose = true; + self->_next = nil; + self->_error = nil; + self->_completed = nil; + _terminated = true; + } + OSSpinLockUnlock(&_lock); + + if (completed) + { + NSLog(@"trace(%@ completed)", _name); + completed(); + } + else + NSLog(@"trace(%@ completed, not accepted)", _name); + + if (shouldDispose) + [self->_disposable dispose]; +} + +- (void)dispose +{ + NSLog(@"trace(%@ dispose)", _name); + [self->_disposable dispose]; +}*/ + +@end diff --git a/Watch/Extension/SSignalKit/SThreadPool.h b/Watch/Extension/SSignalKit/SThreadPool.h new file mode 100644 index 0000000000..69d0565938 --- /dev/null +++ b/Watch/Extension/SSignalKit/SThreadPool.h @@ -0,0 +1,15 @@ +#import + +#import +#import + +@interface SThreadPool : NSObject + +- (instancetype)initWithThreadCount:(NSUInteger)threadCount threadPriority:(double)threadPriority; + +- (void)addTask:(SThreadPoolTask *)task; + +- (SThreadPoolQueue *)nextQueue; +- (void)_workOnQueue:(SThreadPoolQueue *)queue block:(void (^)())block; + +@end diff --git a/Watch/Extension/SSignalKit/SThreadPool.m b/Watch/Extension/SSignalKit/SThreadPool.m new file mode 100644 index 0000000000..060ee29c92 --- /dev/null +++ b/Watch/Extension/SSignalKit/SThreadPool.m @@ -0,0 +1,128 @@ +#import "SThreadPool.h" + +#import +#import +#import "SQueue.h" + +@interface SThreadPool () +{ + SQueue *_managementQueue; + NSMutableArray *_threads; + + NSMutableArray *_queues; + NSMutableArray *_takenQueues; + + pthread_mutex_t _mutex; + pthread_cond_t _cond; +} + +@end + +@implementation SThreadPool + ++ (void)threadEntryPoint:(SThreadPool *)threadPool +{ + SThreadPoolQueue *queue = nil; + + while (true) + { + SThreadPoolTask *task = nil; + + pthread_mutex_lock(&threadPool->_mutex); + + if (queue != nil) + { + [threadPool->_takenQueues removeObject:queue]; + if ([queue _hasTasks]) + [threadPool->_queues addObject:queue]; + } + + while (true) + { + while (threadPool->_queues.count == 0) + pthread_cond_wait(&threadPool->_cond, &threadPool->_mutex); + + queue = threadPool->_queues.firstObject; + task = [queue _popFirstTask]; + + if (queue != nil) + { + [threadPool->_takenQueues addObject:queue]; + [threadPool->_queues removeObjectAtIndex:0]; + + break; + } + } + pthread_mutex_unlock(&threadPool->_mutex); + + @autoreleasepool + { + [task execute]; + } + } +} + +- (instancetype)init +{ + return [self initWithThreadCount:2 threadPriority:0.5]; +} + +- (instancetype)initWithThreadCount:(NSUInteger)threadCount threadPriority:(double)threadPriority +{ + self = [super init]; + if (self != nil) + { + pthread_mutex_init(&_mutex, 0); + pthread_cond_init(&_cond, 0); + + _managementQueue = [[SQueue alloc] init]; + + [_managementQueue dispatch:^ + { + _threads = [[NSMutableArray alloc] init]; + _queues = [[NSMutableArray alloc] init]; + _takenQueues = [[NSMutableArray alloc] init]; + for (NSUInteger i = 0; i < threadCount; i++) + { + NSThread *thread = [[NSThread alloc] initWithTarget:[SThreadPool class] selector:@selector(threadEntryPoint:) object:self]; + thread.name = [[NSString alloc] initWithFormat:@"SThreadPool-%p-%d", self, (int)i]; + [thread setThreadPriority:threadPriority]; + [_threads addObject:thread]; + [thread start]; + } + }]; + } + return self; +} + +- (void)dealloc +{ + pthread_mutex_destroy(&_mutex); + pthread_cond_destroy(&_cond); +} + +- (void)addTask:(SThreadPoolTask *)task +{ + SThreadPoolQueue *tempQueue = [self nextQueue]; + [tempQueue addTask:task]; +} + +- (SThreadPoolQueue *)nextQueue +{ + return [[SThreadPoolQueue alloc] initWithThreadPool:self]; +} + +- (void)_workOnQueue:(SThreadPoolQueue *)queue block:(void (^)())block +{ + [_managementQueue dispatch:^ + { + pthread_mutex_lock(&_mutex); + block(); + if (![_queues containsObject:queue] && ![_takenQueues containsObject:queue]) + [_queues addObject:queue]; + pthread_cond_broadcast(&_cond); + pthread_mutex_unlock(&_mutex); + }]; +} + +@end diff --git a/Watch/Extension/SSignalKit/SThreadPoolQueue.h b/Watch/Extension/SSignalKit/SThreadPoolQueue.h new file mode 100644 index 0000000000..3d8d53b00c --- /dev/null +++ b/Watch/Extension/SSignalKit/SThreadPoolQueue.h @@ -0,0 +1,13 @@ +#import + +@class SThreadPool; +@class SThreadPoolTask; + +@interface SThreadPoolQueue : NSObject + +- (instancetype)initWithThreadPool:(SThreadPool *)threadPool; +- (void)addTask:(SThreadPoolTask *)task; +- (SThreadPoolTask *)_popFirstTask; +- (bool)_hasTasks; + +@end diff --git a/Watch/Extension/SSignalKit/SThreadPoolQueue.m b/Watch/Extension/SSignalKit/SThreadPoolQueue.m new file mode 100644 index 0000000000..ff857e642d --- /dev/null +++ b/Watch/Extension/SSignalKit/SThreadPoolQueue.m @@ -0,0 +1,51 @@ +#import "SThreadPoolQueue.h" + +#import "SThreadPool.h" + +@interface SThreadPoolQueue () +{ + __weak SThreadPool *_threadPool; + NSMutableArray *_tasks; +} + +@end + +@implementation SThreadPoolQueue + +- (instancetype)initWithThreadPool:(SThreadPool *)threadPool +{ + self = [super init]; + if (self != nil) + { + _threadPool = threadPool; + _tasks = [[NSMutableArray alloc] init]; + } + return self; +} + +- (void)addTask:(SThreadPoolTask *)task +{ + SThreadPool *threadPool = _threadPool; + [threadPool _workOnQueue:self block:^ + { + [_tasks addObject:task]; + }]; +} + +- (SThreadPoolTask *)_popFirstTask +{ + if (_tasks.count != 0) + { + SThreadPoolTask *task = _tasks[0]; + [_tasks removeObjectAtIndex:0]; + return task; + } + return nil; +} + +- (bool)_hasTasks +{ + return _tasks.count != 0; +} + +@end diff --git a/Watch/Extension/SSignalKit/SThreadPoolTask.h b/Watch/Extension/SSignalKit/SThreadPoolTask.h new file mode 100644 index 0000000000..e8da985ca0 --- /dev/null +++ b/Watch/Extension/SSignalKit/SThreadPoolTask.h @@ -0,0 +1,9 @@ +#import + +@interface SThreadPoolTask : NSObject + +- (instancetype)initWithBlock:(void (^)(bool (^)()))block; +- (void)execute; +- (void)cancel; + +@end diff --git a/Watch/Extension/SSignalKit/SThreadPoolTask.m b/Watch/Extension/SSignalKit/SThreadPoolTask.m new file mode 100644 index 0000000000..c967022e01 --- /dev/null +++ b/Watch/Extension/SSignalKit/SThreadPoolTask.m @@ -0,0 +1,53 @@ +#import "SThreadPoolTask.h" + +@interface SThreadPoolTaskState : NSObject +{ + @public + bool _cancelled; +} + +@end + +@implementation SThreadPoolTaskState + +@end + +@interface SThreadPoolTask () +{ + void (^_block)(bool (^)()); + SThreadPoolTaskState *_state; +} + +@end + +@implementation SThreadPoolTask + +- (instancetype)initWithBlock:(void (^)(bool (^)()))block +{ + self = [super init]; + if (self != nil) + { + _block = [block copy]; + _state = [[SThreadPoolTaskState alloc] init]; + } + return self; +} + +- (void)execute +{ + if (_state->_cancelled) + return; + + SThreadPoolTaskState *state = _state; + _block(^bool + { + return state->_cancelled; + }); +} + +- (void)cancel +{ + _state->_cancelled = true; +} + +@end diff --git a/Watch/Extension/SSignalKit/STimer.h b/Watch/Extension/SSignalKit/STimer.h new file mode 100644 index 0000000000..621e4232b2 --- /dev/null +++ b/Watch/Extension/SSignalKit/STimer.h @@ -0,0 +1,14 @@ +#import + +@class SQueue; + +@interface STimer : NSObject + +- (id)initWithTimeout:(NSTimeInterval)timeout repeat:(bool)repeat completion:(dispatch_block_t)completion queue:(SQueue *)queue; +- (id)initWithTimeout:(NSTimeInterval)timeout repeat:(bool)repeat completion:(dispatch_block_t)completion nativeQueue:(dispatch_queue_t)nativeQueue; + +- (void)start; +- (void)invalidate; +- (void)fireAndInvalidate; + +@end diff --git a/Watch/Extension/SSignalKit/STimer.m b/Watch/Extension/SSignalKit/STimer.m new file mode 100644 index 0000000000..235c2f883a --- /dev/null +++ b/Watch/Extension/SSignalKit/STimer.m @@ -0,0 +1,83 @@ +#import "STimer.h" + +#import "SQueue.h" + +@interface STimer () +{ + dispatch_source_t _timer; + NSTimeInterval _timeout; + NSTimeInterval _timeoutDate; + bool _repeat; + dispatch_block_t _completion; + dispatch_queue_t _nativeQueue; +} + +@end + +@implementation STimer + +- (id)initWithTimeout:(NSTimeInterval)timeout repeat:(bool)repeat completion:(dispatch_block_t)completion queue:(SQueue *)queue { + return [self initWithTimeout:timeout repeat:repeat completion:completion nativeQueue:queue._dispatch_queue]; +} + +- (id)initWithTimeout:(NSTimeInterval)timeout repeat:(bool)repeat completion:(dispatch_block_t)completion nativeQueue:(dispatch_queue_t)nativeQueue +{ + self = [super init]; + if (self != nil) + { + _timeoutDate = INT_MAX; + + _timeout = timeout; + _repeat = repeat; + _completion = [completion copy]; + _nativeQueue = nativeQueue; + } + return self; +} + +- (void)dealloc +{ + if (_timer != nil) + { + dispatch_source_cancel(_timer); + _timer = nil; + } +} + +- (void)start +{ + _timeoutDate = CFAbsoluteTimeGetCurrent() + kCFAbsoluteTimeIntervalSince1970 + _timeout; + + _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, _nativeQueue); + dispatch_source_set_timer(_timer, dispatch_time(DISPATCH_TIME_NOW, (int64_t)(_timeout * NSEC_PER_SEC)), _repeat ? (int64_t)(_timeout * NSEC_PER_SEC) : DISPATCH_TIME_FOREVER, 0); + + dispatch_source_set_event_handler(_timer, ^ + { + if (_completion) + _completion(); + if (!_repeat) + [self invalidate]; + }); + dispatch_resume(_timer); +} + +- (void)fireAndInvalidate +{ + if (_completion) + _completion(); + + [self invalidate]; +} + +- (void)invalidate +{ + _timeoutDate = 0; + + if (_timer != nil) + { + dispatch_source_cancel(_timer); + _timer = nil; + } +} + +@end diff --git a/Watch/Extension/SSignalKit/SVariable.h b/Watch/Extension/SSignalKit/SVariable.h new file mode 100644 index 0000000000..47d51a1608 --- /dev/null +++ b/Watch/Extension/SSignalKit/SVariable.h @@ -0,0 +1,12 @@ +#import + +@class SSignal; + +@interface SVariable : NSObject + +- (instancetype)init; + +- (void)set:(SSignal *)signal; +- (SSignal *)signal; + +@end diff --git a/Watch/Extension/SSignalKit/SVariable.m b/Watch/Extension/SSignalKit/SVariable.m new file mode 100644 index 0000000000..45eea46a2c --- /dev/null +++ b/Watch/Extension/SSignalKit/SVariable.m @@ -0,0 +1,93 @@ +#import "SVariable.h" + +#import + +#import "SSignal.h" +#import "SBag.h" +#import "SBlockDisposable.h" +#import "SMetaDisposable.h" + +@interface SVariable () +{ + OSSpinLock _lock; + id _value; + bool _hasValue; + SBag *_subscribers; + SMetaDisposable *_disposable; +} + +@end + +@implementation SVariable + +- (instancetype)init +{ + self = [super init]; + if (self != nil) + { + _subscribers = [[SBag alloc] init]; + _disposable = [[SMetaDisposable alloc] init]; + } + return self; +} + +- (void)dealloc +{ + [_disposable dispose]; +} + +- (SSignal *)signal +{ + return [[SSignal alloc] initWithGenerator:^id(SSubscriber *subscriber) + { + OSSpinLockLock(&self->_lock); + id currentValue = _value; + bool hasValue = _hasValue; + NSInteger index = [self->_subscribers addItem:[^(id value) + { + [subscriber putNext:value]; + } copy]]; + OSSpinLockUnlock(&self->_lock); + + if (hasValue) + { + [subscriber putNext:currentValue]; + } + + return [[SBlockDisposable alloc] initWithBlock:^ + { + OSSpinLockLock(&self->_lock); + [self->_subscribers removeItem:index]; + OSSpinLockUnlock(&self->_lock); + }]; + }]; +} + +- (void)set:(SSignal *)signal +{ + OSSpinLockLock(&_lock); + _hasValue = false; + OSSpinLockUnlock(&_lock); + + __weak SVariable *weakSelf = self; + [_disposable setDisposable:[signal startWithNext:^(id next) + { + __strong SVariable *strongSelf = weakSelf; + if (strongSelf != nil) + { + NSArray *subscribers = nil; + OSSpinLockLock(&strongSelf->_lock); + strongSelf->_value = next; + strongSelf->_hasValue = true; + subscribers = [strongSelf->_subscribers copyItems]; + OSSpinLockUnlock(&strongSelf->_lock); + + for (void (^subscriber)(id) in subscribers) + { + subscriber(next); + } + } + }]]; +} + +@end diff --git a/submodules/WatchCommon/Sources/TGBridgeActionMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeActionMediaAttachment.h similarity index 94% rename from submodules/WatchCommon/Sources/TGBridgeActionMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeActionMediaAttachment.h index cc88fd83d9..5b2f13e4f4 100644 --- a/submodules/WatchCommon/Sources/TGBridgeActionMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeActionMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif typedef NS_ENUM(NSUInteger, TGBridgeMessageAction) { TGBridgeMessageActionNone = 0, diff --git a/submodules/WatchCommon/Sources/TGBridgeActionMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeActionMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeActionMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeActionMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeAudioMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeAudioMediaAttachment.h similarity index 84% rename from submodules/WatchCommon/Sources/TGBridgeAudioMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeAudioMediaAttachment.h index 9a318ad24a..d6bdcd9716 100644 --- a/submodules/WatchCommon/Sources/TGBridgeAudioMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeAudioMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeAudioMediaAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeAudioMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeAudioMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeAudioMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeAudioMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeBotCommandInfo.h b/Watch/WatchCommonWatch/TGBridgeBotCommandInfo.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeBotCommandInfo.h rename to Watch/WatchCommonWatch/TGBridgeBotCommandInfo.h diff --git a/submodules/WatchCommon/Sources/TGBridgeBotCommandInfo.m b/Watch/WatchCommonWatch/TGBridgeBotCommandInfo.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeBotCommandInfo.m rename to Watch/WatchCommonWatch/TGBridgeBotCommandInfo.m diff --git a/submodules/WatchCommon/Sources/TGBridgeBotInfo.h b/Watch/WatchCommonWatch/TGBridgeBotInfo.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeBotInfo.h rename to Watch/WatchCommonWatch/TGBridgeBotInfo.h diff --git a/submodules/WatchCommon/Sources/TGBridgeBotInfo.m b/Watch/WatchCommonWatch/TGBridgeBotInfo.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeBotInfo.m rename to Watch/WatchCommonWatch/TGBridgeBotInfo.m diff --git a/submodules/WatchCommon/Sources/TGBridgeChat.h b/Watch/WatchCommonWatch/TGBridgeChat.h similarity index 92% rename from submodules/WatchCommon/Sources/TGBridgeChat.h rename to Watch/WatchCommonWatch/TGBridgeChat.h index 4bcfb2a9df..d326e18fcf 100644 --- a/submodules/WatchCommon/Sources/TGBridgeChat.h +++ b/Watch/WatchCommonWatch/TGBridgeChat.h @@ -1,10 +1,5 @@ -#if TARGET_OS_WATCH #import #import -#else -#import -#import -#endif @interface TGBridgeChat : NSObject diff --git a/submodules/WatchCommon/Sources/TGBridgeChat.m b/Watch/WatchCommonWatch/TGBridgeChat.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeChat.m rename to Watch/WatchCommonWatch/TGBridgeChat.m diff --git a/submodules/WatchCommon/Sources/TGBridgeChatMessages.h b/Watch/WatchCommonWatch/TGBridgeChatMessages.h similarity index 78% rename from submodules/WatchCommon/Sources/TGBridgeChatMessages.h rename to Watch/WatchCommonWatch/TGBridgeChatMessages.h index 027884407d..b185037e4d 100644 --- a/submodules/WatchCommon/Sources/TGBridgeChatMessages.h +++ b/Watch/WatchCommonWatch/TGBridgeChatMessages.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @class SSignal; diff --git a/submodules/WatchCommon/Sources/TGBridgeChatMessages.m b/Watch/WatchCommonWatch/TGBridgeChatMessages.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeChatMessages.m rename to Watch/WatchCommonWatch/TGBridgeChatMessages.m diff --git a/submodules/WatchCommon/Sources/TGBridgeCommon.h b/Watch/WatchCommonWatch/TGBridgeCommon.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeCommon.h rename to Watch/WatchCommonWatch/TGBridgeCommon.h diff --git a/submodules/WatchCommon/Sources/TGBridgeCommon.m b/Watch/WatchCommonWatch/TGBridgeCommon.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeCommon.m rename to Watch/WatchCommonWatch/TGBridgeCommon.m diff --git a/submodules/WatchCommon/Sources/TGBridgeContactMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeContactMediaAttachment.h similarity index 83% rename from submodules/WatchCommon/Sources/TGBridgeContactMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeContactMediaAttachment.h index 5afec7815b..a8531272d8 100644 --- a/submodules/WatchCommon/Sources/TGBridgeContactMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeContactMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeContactMediaAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeContactMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeContactMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeContactMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeContactMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeContext.h b/Watch/WatchCommonWatch/TGBridgeContext.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeContext.h rename to Watch/WatchCommonWatch/TGBridgeContext.h diff --git a/submodules/WatchCommon/Sources/TGBridgeContext.m b/Watch/WatchCommonWatch/TGBridgeContext.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeContext.m rename to Watch/WatchCommonWatch/TGBridgeContext.m diff --git a/submodules/WatchCommon/Sources/TGBridgeDocumentMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeDocumentMediaAttachment.h similarity index 91% rename from submodules/WatchCommon/Sources/TGBridgeDocumentMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeDocumentMediaAttachment.h index 05a6992d7c..da96a2ba22 100644 --- a/submodules/WatchCommon/Sources/TGBridgeDocumentMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeDocumentMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeDocumentMediaAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeDocumentMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeDocumentMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeDocumentMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeDocumentMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeForwardedMessageMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeForwardedMessageMediaAttachment.h similarity index 76% rename from submodules/WatchCommon/Sources/TGBridgeForwardedMessageMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeForwardedMessageMediaAttachment.h index 79db88519e..7077334864 100644 --- a/submodules/WatchCommon/Sources/TGBridgeForwardedMessageMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeForwardedMessageMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeForwardedMessageMediaAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeForwardedMessageMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeForwardedMessageMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeForwardedMessageMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeForwardedMessageMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeImageMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeImageMediaAttachment.h similarity index 76% rename from submodules/WatchCommon/Sources/TGBridgeImageMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeImageMediaAttachment.h index bfa9d13089..2a428dc15a 100644 --- a/submodules/WatchCommon/Sources/TGBridgeImageMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeImageMediaAttachment.h @@ -1,10 +1,6 @@ #import -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeImageMediaAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeImageMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeImageMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeImageMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeImageMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeLocationMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeLocationMediaAttachment.h similarity index 87% rename from submodules/WatchCommon/Sources/TGBridgeLocationMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeLocationMediaAttachment.h index 42efbc4d35..bba943c11c 100644 --- a/submodules/WatchCommon/Sources/TGBridgeLocationMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeLocationMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeVenueAttachment : NSObject diff --git a/submodules/WatchCommon/Sources/TGBridgeLocationMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeLocationMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeLocationMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeLocationMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeLocationVenue.h b/Watch/WatchCommonWatch/TGBridgeLocationVenue.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeLocationVenue.h rename to Watch/WatchCommonWatch/TGBridgeLocationVenue.h diff --git a/submodules/WatchCommon/Sources/TGBridgeLocationVenue.m b/Watch/WatchCommonWatch/TGBridgeLocationVenue.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeLocationVenue.m rename to Watch/WatchCommonWatch/TGBridgeLocationVenue.m diff --git a/submodules/WatchCommon/Sources/TGBridgeMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeMediaAttachment.h similarity index 77% rename from submodules/WatchCommon/Sources/TGBridgeMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeMediaAttachment.h index 451d9562bc..3a564e1575 100644 --- a/submodules/WatchCommon/Sources/TGBridgeMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeMediaAttachment : NSObject diff --git a/submodules/WatchCommon/Sources/TGBridgeMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeMessage.h b/Watch/WatchCommonWatch/TGBridgeMessage.h similarity index 78% rename from submodules/WatchCommon/Sources/TGBridgeMessage.h rename to Watch/WatchCommonWatch/TGBridgeMessage.h index c88cb5cf34..59ec1178d2 100644 --- a/submodules/WatchCommon/Sources/TGBridgeMessage.h +++ b/Watch/WatchCommonWatch/TGBridgeMessage.h @@ -1,4 +1,3 @@ -#if TARGET_OS_WATCH #import #import #import @@ -12,21 +11,6 @@ #import #import #import -#else -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#endif typedef enum { TGBridgeTextCheckingResultTypeUndefined, diff --git a/submodules/WatchCommon/Sources/TGBridgeMessage.m b/Watch/WatchCommonWatch/TGBridgeMessage.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeMessage.m rename to Watch/WatchCommonWatch/TGBridgeMessage.m diff --git a/submodules/WatchCommon/Sources/TGBridgeMessageEntities.h b/Watch/WatchCommonWatch/TGBridgeMessageEntities.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeMessageEntities.h rename to Watch/WatchCommonWatch/TGBridgeMessageEntities.h diff --git a/submodules/WatchCommon/Sources/TGBridgeMessageEntities.m b/Watch/WatchCommonWatch/TGBridgeMessageEntities.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeMessageEntities.m rename to Watch/WatchCommonWatch/TGBridgeMessageEntities.m diff --git a/submodules/WatchCommon/Sources/TGBridgeMessageEntitiesAttachment.h b/Watch/WatchCommonWatch/TGBridgeMessageEntitiesAttachment.h similarity index 64% rename from submodules/WatchCommon/Sources/TGBridgeMessageEntitiesAttachment.h rename to Watch/WatchCommonWatch/TGBridgeMessageEntitiesAttachment.h index 08b44e1900..9aaec90b25 100644 --- a/submodules/WatchCommon/Sources/TGBridgeMessageEntitiesAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeMessageEntitiesAttachment.h @@ -1,10 +1,5 @@ -#if TARGET_OS_WATCH #import #import -#else -#import -#import -#endif @interface TGBridgeMessageEntitiesAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeMessageEntitiesAttachment.m b/Watch/WatchCommonWatch/TGBridgeMessageEntitiesAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeMessageEntitiesAttachment.m rename to Watch/WatchCommonWatch/TGBridgeMessageEntitiesAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgePeerIdAdapter.h b/Watch/WatchCommonWatch/TGBridgePeerIdAdapter.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgePeerIdAdapter.h rename to Watch/WatchCommonWatch/TGBridgePeerIdAdapter.h diff --git a/submodules/WatchCommon/Sources/TGBridgePeerNotificationSettings.h b/Watch/WatchCommonWatch/TGBridgePeerNotificationSettings.h similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgePeerNotificationSettings.h rename to Watch/WatchCommonWatch/TGBridgePeerNotificationSettings.h diff --git a/submodules/WatchCommon/Sources/TGBridgePeerNotificationSettings.m b/Watch/WatchCommonWatch/TGBridgePeerNotificationSettings.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgePeerNotificationSettings.m rename to Watch/WatchCommonWatch/TGBridgePeerNotificationSettings.m diff --git a/submodules/WatchCommon/Sources/TGBridgeReplyMarkupMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeReplyMarkupMediaAttachment.h similarity index 74% rename from submodules/WatchCommon/Sources/TGBridgeReplyMarkupMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeReplyMarkupMediaAttachment.h index 261137605c..430398271a 100644 --- a/submodules/WatchCommon/Sources/TGBridgeReplyMarkupMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeReplyMarkupMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @class TGBridgeBotReplyMarkup; diff --git a/submodules/WatchCommon/Sources/TGBridgeReplyMarkupMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeReplyMarkupMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeReplyMarkupMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeReplyMarkupMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeReplyMessageMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeReplyMessageMediaAttachment.h similarity index 76% rename from submodules/WatchCommon/Sources/TGBridgeReplyMessageMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeReplyMessageMediaAttachment.h index d5b6aebf06..a5dbeae13c 100644 --- a/submodules/WatchCommon/Sources/TGBridgeReplyMessageMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeReplyMessageMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @class TGBridgeMessage; diff --git a/submodules/WatchCommon/Sources/TGBridgeReplyMessageMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeReplyMessageMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeReplyMessageMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeReplyMessageMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeSubscriptions.h b/Watch/WatchCommonWatch/TGBridgeSubscriptions.h similarity index 99% rename from submodules/WatchCommon/Sources/TGBridgeSubscriptions.h rename to Watch/WatchCommonWatch/TGBridgeSubscriptions.h index c0f2fa29e0..f2f7ec7ac5 100644 --- a/submodules/WatchCommon/Sources/TGBridgeSubscriptions.h +++ b/Watch/WatchCommonWatch/TGBridgeSubscriptions.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif #import #import diff --git a/submodules/WatchCommon/Sources/TGBridgeSubscriptions.m b/Watch/WatchCommonWatch/TGBridgeSubscriptions.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeSubscriptions.m rename to Watch/WatchCommonWatch/TGBridgeSubscriptions.m diff --git a/submodules/WatchCommon/Sources/TGBridgeUnsupportedMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeUnsupportedMediaAttachment.h similarity index 77% rename from submodules/WatchCommon/Sources/TGBridgeUnsupportedMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeUnsupportedMediaAttachment.h index 03145c0db4..a115df56bf 100644 --- a/submodules/WatchCommon/Sources/TGBridgeUnsupportedMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeUnsupportedMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @interface TGBridgeUnsupportedMediaAttachment : TGBridgeMediaAttachment diff --git a/submodules/WatchCommon/Sources/TGBridgeUnsupportedMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeUnsupportedMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeUnsupportedMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeUnsupportedMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeUser.h b/Watch/WatchCommonWatch/TGBridgeUser.h similarity index 95% rename from submodules/WatchCommon/Sources/TGBridgeUser.h rename to Watch/WatchCommonWatch/TGBridgeUser.h index fe4c16a51b..9aca3fa520 100644 --- a/submodules/WatchCommon/Sources/TGBridgeUser.h +++ b/Watch/WatchCommonWatch/TGBridgeUser.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif @class TGBridgeBotInfo; @class TGBridgeUserChange; diff --git a/submodules/WatchCommon/Sources/TGBridgeUser.m b/Watch/WatchCommonWatch/TGBridgeUser.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeUser.m rename to Watch/WatchCommonWatch/TGBridgeUser.m diff --git a/submodules/WatchCommon/Sources/TGBridgeVideoMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeVideoMediaAttachment.h similarity index 81% rename from submodules/WatchCommon/Sources/TGBridgeVideoMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeVideoMediaAttachment.h index b5e02dcf6d..12eb34bd23 100644 --- a/submodules/WatchCommon/Sources/TGBridgeVideoMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeVideoMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif #import diff --git a/submodules/WatchCommon/Sources/TGBridgeVideoMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeVideoMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeVideoMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeVideoMediaAttachment.m diff --git a/submodules/WatchCommon/Sources/TGBridgeWebPageMediaAttachment.h b/Watch/WatchCommonWatch/TGBridgeWebPageMediaAttachment.h similarity index 91% rename from submodules/WatchCommon/Sources/TGBridgeWebPageMediaAttachment.h rename to Watch/WatchCommonWatch/TGBridgeWebPageMediaAttachment.h index dd87e33132..dda2a83e4a 100644 --- a/submodules/WatchCommon/Sources/TGBridgeWebPageMediaAttachment.h +++ b/Watch/WatchCommonWatch/TGBridgeWebPageMediaAttachment.h @@ -1,8 +1,4 @@ -#if TARGET_OS_WATCH #import -#else -#import -#endif #import diff --git a/submodules/WatchCommon/Sources/TGBridgeWebPageMediaAttachment.m b/Watch/WatchCommonWatch/TGBridgeWebPageMediaAttachment.m similarity index 100% rename from submodules/WatchCommon/Sources/TGBridgeWebPageMediaAttachment.m rename to Watch/WatchCommonWatch/TGBridgeWebPageMediaAttachment.m diff --git a/Watch/WatchCommonWatch/WatchCommonWatch.h b/Watch/WatchCommonWatch/WatchCommonWatch.h new file mode 100644 index 0000000000..71dde8fd14 --- /dev/null +++ b/Watch/WatchCommonWatch/WatchCommonWatch.h @@ -0,0 +1,30 @@ +#import + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + diff --git a/Widget/Info.plist b/Widget/Info.plist index 4c71d0c0a8..103bb1a25a 100644 --- a/Widget/Info.plist +++ b/Widget/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 5.11 + 5.12 CFBundleVersion ${BUILD_NUMBER} NSExtension diff --git a/Widget/PeerNode.swift b/Widget/PeerNode.swift index d107a1cefa..9600ebe22f 100644 --- a/Widget/PeerNode.swift +++ b/Widget/PeerNode.swift @@ -72,7 +72,7 @@ private func avatarViewLettersImage(size: CGSize, peerId: PeerId, accountPeerId: context?.setBlendMode(.normal) let string = letters.count == 0 ? "" : (letters[0] + (letters.count == 1 ? "" : letters[1])) - let attributedString = NSAttributedString(string: string, attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 20.0), NSAttributedStringKey.foregroundColor: UIColor.white]) + let attributedString = NSAttributedString(string: string, attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 20.0), NSAttributedString.Key.foregroundColor: UIColor.white]) let line = CTLineCreateWithAttributedString(attributedString) let lineBounds = CTLineGetBoundsWithOptions(line, .useGlyphPathBounds) diff --git a/Widget/TodayViewController.swift b/Widget/TodayViewController.swift index e6cd84c2f4..dd691a91b5 100644 --- a/Widget/TodayViewController.swift +++ b/Widget/TodayViewController.swift @@ -222,7 +222,7 @@ class TodayViewController: UIViewController, NCWidgetProviding { self.view.drawHierarchy(in: self.view.bounds, afterScreenUpdates: false) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() - if let image = image, let data = UIImagePNGRepresentation(image) { + if let image = image, let data = image.pngData() { let _ = try? FileManager.default.removeItem(atPath: path) do { try data.write(to: URL(fileURLWithPath: path)) diff --git a/buildbox/build-telegram.sh b/buildbox/build-telegram.sh index f9a2bc03be..a4c0592e2b 100644 --- a/buildbox/build-telegram.sh +++ b/buildbox/build-telegram.sh @@ -36,14 +36,28 @@ if [ `which cleanup-telegram-build-vms.sh` ]; then cleanup-telegram-build-vms.sh fi +if [ -z "$BUCK" ]; then + echo "BUCK is not defined" + exit 1 +fi + +if [ ! -f "$BUCK" ]; then + echo "buck not found at $BUCK" + exit 1 +fi + BUILDBOX_DIR="buildbox" mkdir -p "$BUILDBOX_DIR/transient-data" +rm -f "tools/buck" +cp "$BUCK" "tools/buck" + BUILD_CONFIGURATION="$1" if [ "$BUILD_CONFIGURATION" == "hockeyapp" ]; then CODESIGNING_SUBPATH="transient-data/codesigning" + CODESIGNING_TEAMS_SUBPATH="transient-data/teams" elif [ "$BUILD_CONFIGURATION" == "appstore" ]; then CODESIGNING_SUBPATH="transient-data/codesigning" elif [ "$BUILD_CONFIGURATION" == "verify" ]; then @@ -70,8 +84,14 @@ if [ "$BUILD_CONFIGURATION" == "hockeyapp" ] || [ "$BUILD_CONFIGURATION" == "app echo "setup-telegram-build.sh not found in PATH $PATH" exit 1 fi + if [ ! `which setup-codesigning.sh` ]; then + echo "setup-codesigning.sh not found in PATH $PATH" + exit 1 + fi source `which setup-telegram-build.sh` setup_telegram_build "$BUILD_CONFIGURATION" "$BASE_DIR/$BUILDBOX_DIR/transient-data" + source `which setup-codesigning.sh` + setup_codesigning "$BUILD_CONFIGURATION" "$BASE_DIR/$BUILDBOX_DIR/transient-data" if [ "$SETUP_TELEGRAM_BUILD_VERSION" != "$BUILD_TELEGRAM_VERSION" ]; then echo "setup-telegram-build.sh script version doesn't match" exit 1 @@ -95,10 +115,15 @@ fi SOURCE_DIR=$(basename "$BASE_DIR") rm -f "$BUILDBOX_DIR/transient-data/source.tar" -tar cf "$BUILDBOX_DIR/transient-data/source.tar" --exclude "$BUILDBOX_DIR" --exclude ".git" "." +tar cf "$BUILDBOX_DIR/transient-data/source.tar" --exclude "$BUILDBOX_DIR" --exclude ".git" --exclude "buck-out" --exclude ".buckd" --exclude "build" "." PROCESS_ID="$$" -VM_NAME="$VM_BASE_NAME-$(openssl rand -hex 10)-build-telegram-$PROCESS_ID" + +if [ -z "$RUNNING_VM" ]; then + VM_NAME="$VM_BASE_NAME-$(openssl rand -hex 10)-build-telegram-$PROCESS_ID" +else + VM_NAME="$RUNNING_VM" +fi if [ "$BUILD_MACHINE" == "linux" ]; then virt-clone --original "$VM_BASE_NAME" --name "$VM_NAME" --auto-clone @@ -107,28 +132,31 @@ if [ "$BUILD_MACHINE" == "linux" ]; then echo "Getting VM IP" while [ 1 ]; do - TEST_IP=$(virsh domifaddr "$VM_NAME" 2>/dev/null | egrep -o 'ipv4.*' | sed -e 's/ipv4\s*//g' | sed -e 's|/.*||g') - if [ ! -z "$TEST_IP" ]; then - RESPONSE=$(ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$TEST_IP" -o ServerAliveInterval=60 -t "echo -n 1") - if [ "$RESPONSE" == "1" ]; then - VM_IP="$TEST_IP" - break + TEST_IP=$(virsh domifaddr "$VM_NAME" 2>/dev/null | egrep -o 'ipv4.*' | sed -e 's/ipv4\s*//g' | sed -e 's|/.*||g') + if [ ! -z "$TEST_IP" ]; then + RESPONSE=$(ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$TEST_IP" -o ServerAliveInterval=60 -t "echo -n 1") + if [ "$RESPONSE" == "1" ]; then + VM_IP="$TEST_IP" + break + fi fi - fi - sleep 1 -done + sleep 1 + done elif [ "$BUILD_MACHINE" == "macOS" ]; then - SNAPSHOT_ID=$(prlctl snapshot-list "$VM_BASE_NAME" | grep -Eo '\{(\d|[a-f]|-)*\}' | tr '\n' '\0') - if [ -z "$SNAPSHOT_ID" ]; then - echo "$VM_BASE_NAME is required to have one snapshot" - exit 1 + if [ -z "$RUNNING_VM" ]; then + SNAPSHOT_ID=$(prlctl snapshot-list "$VM_BASE_NAME" | grep -Eo '\{(\d|[a-f]|-)*\}' | tr '\n' '\0') + if [ -z "$SNAPSHOT_ID" ]; then + echo "$VM_BASE_NAME is required to have one snapshot" + exit 1 + fi + prlctl clone "$VM_BASE_NAME" --name "$VM_NAME" + prlctl snapshot-switch "$VM_NAME" -i "$SNAPSHOT_ID" fi - prlctl clone "$VM_BASE_NAME" --name "$VM_NAME" - prlctl snapshot-switch "$VM_NAME" -i "$SNAPSHOT_ID" VM_IP=$(prlctl exec "$VM_NAME" "ifconfig | grep inet | grep broadcast | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -1 | tr '\n' '\0'") fi scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr "$BUILDBOX_DIR/$CODESIGNING_SUBPATH" telegram@"$VM_IP":codesigning_data +scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr "$BUILDBOX_DIR/$CODESIGNING_TEAMS_SUBPATH" telegram@"$VM_IP":codesigning_teams if [ "$BUILD_CONFIGURATION" == "verify" ]; then ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "mkdir -p telegram-ios-shared/fastlane; echo '' > telegram-ios-shared/fastlane/Fastfile" @@ -137,7 +165,7 @@ else fi scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr "$BUILDBOX_DIR/guest-build-telegram.sh" "$BUILDBOX_DIR/transient-data/source.tar" telegram@"$VM_IP": -ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "export TELEGRAM_BUILD_APPSTORE_PASSWORD=\"$TELEGRAM_BUILD_APPSTORE_PASSWORD\"; export TELEGRAM_BUILD_APPSTORE_TEAM_NAME=\"$TELEGRAM_BUILD_APPSTORE_TEAM_NAME\"; export BUILD_NUMBER=\"$BUILD_NUMBER\"; export COMMIT_ID=\"$COMMIT_ID\"; export COMMIT_AUTHOR=\"$COMMIT_AUTHOR\"; bash -l guest-build-telegram.sh $BUILD_CONFIGURATION" || true +ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "export TELEGRAM_BUILD_APPSTORE_PASSWORD=\"$TELEGRAM_BUILD_APPSTORE_PASSWORD\"; export TELEGRAM_BUILD_APPSTORE_TEAM_NAME=\"$TELEGRAM_BUILD_APPSTORE_TEAM_NAME\"; export BUILD_NUMBER=\"$BUILD_NUMBER\"; export COMMIT_ID=\"$COMMIT_ID\"; export COMMIT_AUTHOR=\"$COMMIT_AUTHOR\"; export BUCK_HTTP_CACHE=\"$BUCK_HTTP_CACHE\"; bash -l guest-build-telegram.sh $BUILD_CONFIGURATION" || true if [ "$BUILD_CONFIGURATION" == "appstore" ]; then ARCHIVE_PATH="$HOME/telegram-builds-archive" @@ -158,10 +186,12 @@ elif [ "$BUILD_CONFIGURATION" == "verify" ]; then scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr telegram@"$VM_IP":telegram-ios/Telegram-iOS-AppStoreLLC.ipa "./$VERIFY_IPA" fi -if [ "$BUILD_MACHINE" == "linux" ]; then - virsh destroy "$VM_NAME" - virsh undefine "$VM_NAME" --remove-all-storage --nvram -elif [ "$BUILD_MACHINE" == "macOS" ]; then - prlctl stop "$VM_NAME" --kill - prlctl delete "$VM_NAME" -fi +if [ -z "$RUNNING_VM" ]; then + if [ "$BUILD_MACHINE" == "linux" ]; then + virsh destroy "$VM_NAME" + virsh undefine "$VM_NAME" --remove-all-storage --nvram + elif [ "$BUILD_MACHINE" == "macOS" ]; then + prlctl stop "$VM_NAME" --kill + prlctl delete "$VM_NAME" + fi +fi \ No newline at end of file diff --git a/buildbox/guest-build-telegram.sh b/buildbox/guest-build-telegram.sh index 90284b16a8..b0b34c5878 100644 --- a/buildbox/guest-build-telegram.sh +++ b/buildbox/guest-build-telegram.sh @@ -92,12 +92,37 @@ else fi echo "Unpacking files..." - mkdir "$SOURCE_PATH" + + mkdir -p "$SOURCE_PATH/buildbox" + mkdir -p "$SOURCE_PATH/buildbox/transient-data" + cp -r "$HOME/codesigning_teams" "$SOURCE_PATH/buildbox/transient-data/teams" + BASE_DIR=$(pwd) cd "$SOURCE_PATH" tar -xf "../source.tar" - FASTLANE_PASSWORD="$FASTLANE_PASSWORD" FASTLANE_ITC_TEAM_NAME="$FASTLANE_ITC_TEAM_NAME" fastlane "$FASTLANE_BUILD_CONFIGURATION" build_number:"$BUILD_NUMBER" commit_hash:"$COMMIT_ID" commit_author:"$COMMIT_AUTHOR" + if [ "$1" == "hockeyapp" ]; then + BUILD_ENV_SCRIPT="internal" + RESULT_IPA_NAME="Telegram-iOS-Hockeyapp-Internal.ipa" + RESULT_DSYM_NAME="Telegram-iOS-Hockeyapp-Internal.app.dSYM.zip" + FASTLANE_BUILD_CONFIGURATION="internalhockeyapp" + APP_TARGET="app_arm64" + elif [ "$1" == "appstore" ]; then + BUILD_ENV_SCRIPT="appstore" + RESULT_IPA_NAME="Telegram-iOS-AppStoreLLC.ipa" + RESULT_DSYM_NAME="Telegram-iOS-AppStoreLLC.app.dSYM.zip" + FASTLANE_BUILD_CONFIGURATION="testflight_llc" + APP_TARGET="app" + else + echo "Unsupported configuration $1" + exit 1 + fi + + BUCK="$(pwd)/tools/buck" BUCK_HTTP_CACHE="$BUCK_HTTP_CACHE" LOCAL_CODESIGNING=1 sh "../telegram-ios-shared/buildbox/bin/$BUILD_ENV_SCRIPT.sh" make "$APP_TARGET" + cp "build/Telegram_signed.ipa" "./$RESULT_IPA_NAME" + cp "build/DSYMs.zip" "./$RESULT_DSYM_NAME" + + FASTLANE_PASSWORD="$FASTLANE_PASSWORD" FASTLANE_ITC_TEAM_NAME="$FASTLANE_ITC_TEAM_NAME" fastlane "$FASTLANE_BUILD_CONFIGURATION" build_number:"$BUILD_NUMBER" commit_hash:"$COMMIT_ID" commit_author:"$COMMIT_AUTHOR" skip_build:1 cd "$BASE_DIR" fi diff --git a/check_env.sh b/check_env.sh new file mode 100644 index 0000000000..ed48e66473 --- /dev/null +++ b/check_env.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +if [ -z "$TELEGRAM_ENV_SET" ]; then + echo "Error: Telegram build environment is not set up. Use sh public.sh make ${command}" + exit 1 +fi diff --git a/clean.sh b/clean.sh new file mode 100644 index 0000000000..ff128a66ba --- /dev/null +++ b/clean.sh @@ -0,0 +1,4 @@ +rm -rf App/App.xcodeproj App/App.xcworkspace +rm -rf submodules/MtProtoKit/MtProtoKit.xcodeproj +rm -rf submodules/Emoji/Emoji.xcodeproj +rm -rf buck-out \ No newline at end of file diff --git a/package_app b/package_app new file mode 100755 index 0000000000..c6071e6d21 --- /dev/null +++ b/package_app @@ -0,0 +1,357 @@ +#!/bin/sh + +set -x +set -e + +PLATFORM_FLAVORS="$1" +BUCK="$2" +shift +shift + +BUILD_PATH="build" +APP_NAME="Telegram" + +IPA_PATH="$BUILD_PATH/$APP_NAME.ipa" +DSYMS_FOLDER_NAME="DSYMs" +DSYMS_ZIP="$BUILD_PATH/$DSYMS_FOLDER_NAME.zip" +DSYMS_DIR="$BUILD_PATH/$DSYMS_FOLDER_NAME" + +TEMP_PATH="$BUILD_PATH/temp" +TEMP_ENTITLEMENTS_PATH="$TEMP_PATH/entitlements" +KEYCHAIN_PATH="$TEMP_PATH/keychain" + +mkdir -p "$BUILD_PATH" +rm -f "$IPA_PATH" +rm -f "$DSYMS_ZIP" +rm -rf "$DSYMS_DIR" +mkdir -p "$DSYMS_DIR" +rm -rf "$TEMP_PATH" + +mkdir -p "$TEMP_PATH" +mkdir -p "$TEMP_ENTITLEMENTS_PATH" + +cp "buck-out/gen/AppPackage#$PLATFORM_FLAVORS.ipa" "$IPA_PATH.original" +rm -rf "$IPA_PATH.original.unpacked" +rm -f "$BUILD_PATH/${APP_NAME}_signed.ipa" +mkdir -p "$IPA_PATH.original.unpacked" +unzip "$IPA_PATH.original" -d "$IPA_PATH.original.unpacked/" +rm "$IPA_PATH.original" + +UNPACKED_PATH="$IPA_PATH.original.unpacked" +APP_PATH="$UNPACKED_PATH/Payload/Telegram.app" +FRAMEWORKS_DIR="$APP_PATH/Frameworks" + +rm -rf "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"* +rm -rf "$IPA_PATH.original.unpacked/Symbols/"* +rm -rf "$FRAMEWORKS_DIR/"* + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: sh package_app.sh path/to/buck platform-flavors" + exit 1 +fi + +if [ -z "$PACKAGE_METHOD" ]; then + echo "PACKAGE_METHOD is not set" + exit 1 +fi + +if [ "$PACKAGE_METHOD" != "appstore" ] && [ "$PACKAGE_METHOD" != "enterprise" ]; then + echo "PACKAGE_METHOD $PACKAGE_METHOD should be in [appstore, enterprise]" + exit 1 +fi + +if [ -z "$PACKAGE_CODE_SIGN_IDENTITY" ]; then + echo "PACKAGE_CODE_SIGN_IDENTITY is not set" + exit 1 +fi + +if [ -z "$DEVELOPMENT_TEAM" ]; then + echo "DEVELOPMENT_TEAM is not set" + exit 1 +fi + +if [ ! -d "$CODESIGNING_DATA_PATH" ]; then + echo "CODESIGNING_DATA_PATH $CODESIGNING_DATA_PATH does not exist" + exit 1 +fi + +if [ -z "$CODESIGNING_CERTS_VARIANT" ]; then + echo "CODESIGNING_CERTS_VARIANT is not set" + exit 1 +fi + +if [ -z "$CODESIGNING_PROFILES_VARIANT" ]; then + echo "CODESIGNING_PROFILES_VARIANT is not set" + exit 1 +fi + +CERTS_PATH="$CODESIGNING_DATA_PATH/certs/$CODESIGNING_CERTS_VARIANT" +PROFILES_PATH="$CODESIGNING_DATA_PATH/profiles/$CODESIGNING_PROFILES_VARIANT" + +if [ ! -d "$CERTS_PATH" ]; then + echo "$CERTS_PATH does not exist" + exit 1 +fi + +if [ ! -d "$PROFILES_PATH" ]; then + echo "$PROFILES_PATH does not exist" + exit 1 +fi + +#security delete-keychain "$KEYCHAIN_PATH" || true +rm -f "$KEYCHAIN_PATH" +#security create-keychain -p "password" "$KEYCHAIN_PATH" +#security unlock-keychain -p "password" "$KEYCHAIN_PATH" +KEYCHAIN_FLAG="--keychain '$KEYCHAIN_PATH'" + +APP_ITEMS_WITH_PROVISIONING_PROFILE="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents WATCH_APP WATCH_EXTENSION" +APP_ITEMS_WITH_ENTITLEMENTS="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents" + +COMMON_IDENTITY_HASH="" + +REMOVE_ENTITLEMENT_KEYS=(\ + "com.apple.developer.icloud-container-development-container-identifiers" \ + "com.apple.developer.ubiquity-kvstore-identifier" \ +) + +COPY_ENTITLEMENT_KEYS=(\ + "com.apple.developer.associated-domains" \ + "com.apple.developer.icloud-services" \ +) + +for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do + PROFILE_VAR=PACKAGE_PROVISIONING_PROFILE_$ITEM + if [ -z "${!PROFILE_VAR}" ]; then + echo "$PROFILE_VAR is not set" + exit 1 + fi + for PROFILE in "$PROFILES_PATH/"*; do + PROFILE_DATA=$(security cms -D -i "$PROFILE") + PROFILE_NAME=$(/usr/libexec/PlistBuddy -c "Print :Name" /dev/stdin <<< $(echo $PROFILE_DATA)) + if [ "$PROFILE_NAME" == "${!PROFILE_VAR}" ]; then + TEAM_IDENTIFIER=$(/usr/libexec/PlistBuddy -c "Print :Entitlements:com.apple.developer.team-identifier" /dev/stdin <<< $(echo $PROFILE_DATA)) + if [ "$TEAM_IDENTIFIER" != "$DEVELOPMENT_TEAM" ]; then + "Entitlements:com.apple.developer.team-identifier in $PROFILE does not match $DEVELOPMENT_TEAM" + fi + + IDENTITY_NAME=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -subject -nameopt multiline -sha1 -noout | grep commonName | sed -e 's#[ ]*commonName[ ]*=[ ]*##g') + if [ ! -z "$IDENTITY_NAME" ]; then + IDENTITY_HASH=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -fingerprint -sha1 -noout | sed -e 's#SHA1 Fingerprint=##' | sed -e 's#:##g') + if [ -z "$COMMON_IDENTITY_HASH" ]; then + COMMON_IDENTITY_HASH="$IDENTITY_HASH" + elif [ "$COMMON_IDENTITY_HASH" != "$IDENTITY_HASH" ]; then + "Signing identity in $PROFILE ($IDENTITY_HASH) does not match $COMMON_IDENTITY_HASH from previously processed profiles" + fi + else + echo "Signing identity name in $PROFILE does not match $PACKAGE_CODE_SIGN_IDENTITY" + exit 1 + fi + + declare PROFILE_PATH_$ITEM="$PROFILE" + + PROFILE_ENTITLEMENTS_PATH="$TEMP_ENTITLEMENTS_PATH/$ITEM.entitlements" + security cms -D -i "$PROFILE" > "$TEMP_PATH/temp.plist" && /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' "$TEMP_PATH/temp.plist" > "$PROFILE_ENTITLEMENTS_PATH" + + for KEY in "${REMOVE_ENTITLEMENT_KEYS[@]}"; do + /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null + done + + ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM + if [ ! -z "${!ENTITLEMENTS_VAR}" ]; then + if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then + echo "${!ENTITLEMENTS_VAR} does not exist" + exit 1 + fi + + for KEY in "${COPY_ENTITLEMENT_KEYS[@]}"; do + VALUE=$(PlistBuddy -c "Print :$KEY" "${!ENTITLEMENTS_VAR}") + echo "$VALUE" + exit 0 + done + fi + declare ENTITLEMENTS_PATH_$ITEM="$PROFILE_ENTITLEMENTS_PATH" + fi + done +done + +for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do + PROFILE_PATH_VAR=PROFILE_PATH_$ITEM + if [ -z "${!PROFILE_PATH_VAR}" ]; then + echo "Provisioning profile for $ITEM was not found" + exit 1 + fi +done + +for ITEM in $APP_ITEMS_WITH_ENTITLEMENTS; do + ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM + if [ -z "${!ENTITLEMENTS_VAR}" ]; then + echo "$ENTITLEMENTS_VAR is not set" + exit 1 + fi + if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then + echo "${!ENTITLEMENTS_VAR} does not exist" + exit 1 + fi +done + +if [ -z "$COMMON_IDENTITY_HASH" ]; then + echo "Failed to determine signing identity" + exit 1 +fi + +for DEPENDENCY in $(${BUCK} query "kind('apple_library', deps('//:Telegram#$PLATFORM_FLAVORS', 1))" "$@"); do + DEPENDENCY_PATH=$(echo "$DEPENDENCY" | sed -e "s#^//##" | sed -e "s#:#/#") + DEPENDENCY_NAME=$(echo "$DEPENDENCY" | sed -e "s/#.*//" | sed -e "s/^.*\://") + DYLIB_PATH="buck-out/gen/$DEPENDENCY_PATH/lib$DEPENDENCY_NAME.dylib" + TARGET_DYLIB_PATH="$FRAMEWORKS_DIR/lib$DEPENDENCY_NAME.dylib" + cp "$DYLIB_PATH" "$TARGET_DYLIB_PATH" + DSYM_PATH="buck-out/gen/$(echo "$DEPENDENCY" | sed -e "s/#/#apple-dsym,/" | sed -e "s#^//##" | sed -e "s#:#/#").dSYM" + cp -r "$DSYM_PATH" "$DSYMS_DIR/" +done + +APP_BINARY_DSYM_PATH="buck-out/gen/Telegram#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/Telegram.app.dSYM" +cp -r "$APP_BINARY_DSYM_PATH" "$DSYMS_DIR/" + +EXTENSIONS="Share Widget Intents NotificationContent NotificationService" +for EXTENSION in $EXTENSIONS; do + EXTENSION_DSYM_PATH="buck-out/gen/${EXTENSION}Extension#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/${EXTENSION}Extension.appex.dSYM" + cp -r "$EXTENSION_DSYM_PATH" "$DSYMS_DIR/" +done + +WATCH_EXTENSION_DSYM_PATH="buck-out/gen/WatchAppExtension#dwarf-and-dsym,no-include-frameworks,watchos-arm64_32,watchos-armv7k/WatchAppExtension.appex.dSYM" +cp -r "$WATCH_EXTENSION_DSYM_PATH" "$DSYMS_DIR/" + +for LIB in $(ls "$FRAMEWORKS_DIR"/*.dylib); do + strip -S -T "$LIB" +done + +xcrun swift-stdlib-tool --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app" --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app/Frameworks" --scan-folder "$IPA_PATH.original.unpacked/Payload/Telegram.app/PlugIns" --strip-bitcode --platform iphoneos --copy --destination "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos" + +cp "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*.dylib "$FRAMEWORKS_DIR/" + +REMOVE_ARCHS="armv7s arm64e" + +for framework in "$FRAMEWORKS_DIR"/*; do + if [[ "$framework" == *.framework || "$framework" == *.dylib ]]; then + codesign --remove-signature "$framework" + for ARCH in $REMOVE_ARCHS; do + lipo -remove "$ARCH" "$framework" -o "$framework" || true + done + xcrun bitcode_strip -r "$framework" -o "$framework" + strip -S -T "$framework" + /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" + fi +done + +PLUGINS="Share Widget Intents NotificationService NotificationContent" +for PLUGIN in $PLUGINS; do + PLUGIN_PATH="$APP_PATH/PlugIns/${PLUGIN}Extension.appex" + if [ ! -d "$PLUGIN_PATH" ]; then + echo "Directory at $PLUGIN_PATH does not exist" + exit 1 + fi + PROFILE_PATH_VAR="PROFILE_PATH_EXTENSION_$PLUGIN" + if [ -z "${!PROFILE_PATH_VAR}" ]; then + echo "$PROFILE_PATH_VAR is not defined" + exit 1 + fi + if [ ! -f "${!PROFILE_PATH_VAR}" ]; then + echo "${!PROFILE_PATH_VAR} does not exist" + exit 1 + fi + ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_EXTENSION_$PLUGIN" + if [ -z "${!ENTITLEMENTS_PATH_VAR}" ]; then + echo "$ENTITLEMENTS_PATH_VAR is not defined" + exit 1 + fi + if [ ! -f "${!ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 + fi + cp "${!PROFILE_PATH_VAR}" "$PLUGIN_PATH/embedded.mobileprovision" + /usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!ENTITLEMENTS_PATH_VAR}" "$PLUGIN_PATH" +done + +WATCH_APP_PATH="$APP_PATH/Watch/WatchApp.app" +WATCH_EXTENSION_PATH="$WATCH_APP_PATH/PlugIns/WatchAppExtension.appex" + +WATCH_EXTENSION_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_EXTENSION" +if [ -z "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then + echo "$WATCH_EXTENSION_PROFILE_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then + echo "${!WATCH_EXTENSION_PROFILE_PATH_VAR} does not exist" + exit 1 +fi +WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_EXTENSION" +if [ -z "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then + echo "$WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 +fi + +cp "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" "$WATCH_EXTENSION_PATH/embedded.mobileprovision" +/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" "$WATCH_EXTENSION_PATH" + +WATCH_APP_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_APP" +if [ -z "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then + echo "$WATCH_APP_PROFILE_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then + echo "${!WATCH_APP_PROFILE_PATH_VAR} does not exist" + exit 1 +fi +WATCH_APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_APP" +if [ -z "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "$WATCH_APP_ENTITLEMENTS_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!WATCH_APP_ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 +fi + +cp "${!WATCH_APP_PROFILE_PATH_VAR}" "$WATCH_APP_PATH/embedded.mobileprovision" +/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" "$WATCH_APP_PATH" + +APP_PROFILE_PATH_VAR="PROFILE_PATH_APP" +if [ -z "${!APP_PROFILE_PATH_VAR}" ]; then + echo "$APP_PROFILE_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!APP_PROFILE_PATH_VAR}" ]; then + echo "${!APP_PROFILE_PATH_VAR} does not exist" + exit 1 +fi +APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_APP" +if [ -z "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "$APP_ENTITLEMENTS_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!APP_ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 +fi + +cp "${!APP_PROFILE_PATH_VAR}" "$APP_PATH/embedded.mobileprovision" +/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!APP_ENTITLEMENTS_PATH_VAR}" "$APP_PATH" + +DIR=$(pwd) + +cd "$UNPACKED_PATH" +if [ "$PACKAGE_METHOD" == "appstore" ]; then + zip -r "../${APP_NAME}_signed.ipa" Payload SwiftSupport WatchKitSupport2 +elif [ "$PACKAGE_METHOD" == "enterprise" ]; then + zip -r "../${APP_NAME}_signed.ipa" Payload +fi +cd "$DIR" + +cd "$BUILD_PATH" +zip -r "$DSYMS_FOLDER_NAME.zip" "$DSYMS_FOLDER_NAME" + +cd "$DIR" diff --git a/package_app.sh b/package_app.sh new file mode 100644 index 0000000000..692198b722 --- /dev/null +++ b/package_app.sh @@ -0,0 +1,458 @@ +#!/bin/sh + +#set -x +set -e + +PLATFORM_FLAVORS="$1" +BUCK="$2" +shift +shift + +BUILD_PATH="build" +APP_NAME="Telegram" + +IPA_PATH="$BUILD_PATH/$APP_NAME.ipa" +DSYMS_FOLDER_NAME="DSYMs" +DSYMS_ZIP="$BUILD_PATH/$DSYMS_FOLDER_NAME.zip" +DSYMS_DIR="$BUILD_PATH/$DSYMS_FOLDER_NAME" + +TEMP_PATH="$BUILD_PATH/temp" +TEMP_ENTITLEMENTS_PATH="$TEMP_PATH/entitlements" +KEYCHAIN_PATH="$TEMP_PATH/keychain" + +if [ -z "$PACKAGE_BUNDLE_ID" ]; then + echo "PACKAGE_BUNDLE_ID not set" + exit 1 +fi + +BUNDLE_ID_PREFIX=$(echo "$PACKAGE_BUNDLE_ID" | grep -Eo "^.*?\\..*?\\." | head -1) +if [ -z "$BUNDLE_ID_PREFIX" ]; then + echo "Could not extract bundle id prefix from $PACKAGE_BUNDLE_ID" + exit 1 +fi + +mkdir -p "$BUILD_PATH" +rm -f "$IPA_PATH" +rm -f "$DSYMS_ZIP" +rm -rf "$DSYMS_DIR" +mkdir -p "$DSYMS_DIR" +rm -rf "$TEMP_PATH" + +mkdir -p "$TEMP_PATH" +mkdir -p "$TEMP_ENTITLEMENTS_PATH" + +cp "buck-out/gen/AppPackage#$PLATFORM_FLAVORS.ipa" "$IPA_PATH.original" +rm -rf "$IPA_PATH.original.unpacked" +rm -f "$BUILD_PATH/${APP_NAME}_signed.ipa" +mkdir -p "$IPA_PATH.original.unpacked" + +echo "Unzipping original ipa..." +unzip "$IPA_PATH.original" -d "$IPA_PATH.original.unpacked/" 1>/dev/null +rm "$IPA_PATH.original" + +UNPACKED_PATH="$IPA_PATH.original.unpacked" +APP_PATH="$UNPACKED_PATH/Payload/Telegram.app" +FRAMEWORKS_DIR="$APP_PATH/Frameworks" + +rm -rf "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"* +rm -rf "$IPA_PATH.original.unpacked/Symbols/"* +rm -rf "$FRAMEWORKS_DIR/"* + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: sh package_app.sh path/to/buck platform-flavors" + exit 1 +fi + +if [ -z "$PACKAGE_METHOD" ]; then + echo "PACKAGE_METHOD is not set" + exit 1 +fi + +if [ "$PACKAGE_METHOD" != "appstore" ] && [ "$PACKAGE_METHOD" != "enterprise" ]; then + echo "PACKAGE_METHOD $PACKAGE_METHOD should be in [appstore, enterprise]" + exit 1 +fi + +if [ -z "$PACKAGE_CODE_SIGN_IDENTITY" ]; then + echo "PACKAGE_CODE_SIGN_IDENTITY is not set" + exit 1 +fi + +if [ -z "$DEVELOPMENT_TEAM" ]; then + echo "DEVELOPMENT_TEAM is not set" + exit 1 +fi + +if [ ! -d "$CODESIGNING_DATA_PATH" ]; then + echo "CODESIGNING_DATA_PATH $CODESIGNING_DATA_PATH does not exist" + exit 1 +fi + +if [ -z "$CODESIGNING_CERTS_VARIANT" ]; then + echo "CODESIGNING_CERTS_VARIANT is not set" + exit 1 +fi + +if [ -z "$CODESIGNING_PROFILES_VARIANT" ]; then + echo "CODESIGNING_PROFILES_VARIANT is not set" + exit 1 +fi + +CERTS_PATH="$CODESIGNING_DATA_PATH/certs/$CODESIGNING_CERTS_VARIANT" +PROFILES_PATH="$CODESIGNING_DATA_PATH/profiles/$CODESIGNING_PROFILES_VARIANT" + +if [ ! -d "$CERTS_PATH" ]; then + echo "$CERTS_PATH does not exist" + exit 1 +fi + +if [ ! -d "$PROFILES_PATH" ]; then + echo "$PROFILES_PATH does not exist" + exit 1 +fi + +#security delete-keychain "$KEYCHAIN_PATH" || true +rm -f "$KEYCHAIN_PATH" +#security create-keychain -p "password" "$KEYCHAIN_PATH" +#security unlock-keychain -p "password" "$KEYCHAIN_PATH" +#KEYCHAIN_FLAG="--keychain '$KEYCHAIN_PATH'" + +APP_ITEMS_WITH_PROVISIONING_PROFILE="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents WATCH_APP WATCH_EXTENSION" +APP_ITEMS_WITH_ENTITLEMENTS="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents" + +COMMON_IDENTITY_HASH="" + +REMOVE_ENTITLEMENT_KEYS=(\ + "com.apple.developer.icloud-container-development-container-identifiers" \ + "com.apple.developer.ubiquity-kvstore-identifier" \ +) + +COPY_ENTITLEMENT_KEYS=(\ + "com.apple.developer.associated-domains" \ + "com.apple.developer.icloud-services" \ +) + +REPLACE_TO_PRODUCTION_ENTITLEMENT_KEYS=(\ + "com.apple.developer.icloud-container-environment" \ +) + +echo "Generating entitlements..." +for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do + PROFILE_VAR=PACKAGE_PROVISIONING_PROFILE_$ITEM + if [ -z "${!PROFILE_VAR}" ]; then + echo "$PROFILE_VAR is not set" + exit 1 + fi + for PROFILE in "$PROFILES_PATH/"*; do + PROFILE_DATA=$(security cms -D -i "$PROFILE") + PROFILE_NAME=$(/usr/libexec/PlistBuddy -c "Print :Name" /dev/stdin <<< $(echo $PROFILE_DATA)) + if [ "$PROFILE_NAME" == "${!PROFILE_VAR}" ]; then + TEAM_IDENTIFIER=$(/usr/libexec/PlistBuddy -c "Print :Entitlements:com.apple.developer.team-identifier" /dev/stdin <<< $(echo $PROFILE_DATA)) + if [ "$TEAM_IDENTIFIER" != "$DEVELOPMENT_TEAM" ]; then + "Entitlements:com.apple.developer.team-identifier in $PROFILE does not match $DEVELOPMENT_TEAM" + fi + + IDENTITY_NAME=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -subject -nameopt multiline -sha1 -noout | grep commonName | sed -e 's#[ ]*commonName[ ]*=[ ]*##g') + if [ ! -z "$IDENTITY_NAME" ]; then + IDENTITY_HASH=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -fingerprint -sha1 -noout | sed -e 's#SHA1 Fingerprint=##' | sed -e 's#:##g') + if [ -z "$COMMON_IDENTITY_HASH" ]; then + COMMON_IDENTITY_HASH="$IDENTITY_HASH" + elif [ "$COMMON_IDENTITY_HASH" != "$IDENTITY_HASH" ]; then + "Signing identity in $PROFILE ($IDENTITY_HASH) does not match $COMMON_IDENTITY_HASH from previously processed profiles" + fi + else + echo "Signing identity name in $PROFILE does not match $PACKAGE_CODE_SIGN_IDENTITY" + exit 1 + fi + + declare PROFILE_PATH_$ITEM="$PROFILE" + + PROFILE_ENTITLEMENTS_PATH="$TEMP_ENTITLEMENTS_PATH/$ITEM.entitlements" + security cms -D -i "$PROFILE" > "$TEMP_PATH/temp.plist" && /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' "$TEMP_PATH/temp.plist" > "$PROFILE_ENTITLEMENTS_PATH" + + for KEY in "${REMOVE_ENTITLEMENT_KEYS[@]}"; do + /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || true + done + + for KEY in "${REPLACE_TO_PRODUCTION_ENTITLEMENT_KEYS[@]}"; do + VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || echo "") + if [ ! -z "$VALUE" ]; then + PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g') + /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null + VALUE="Production" + plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PROFILE_ENTITLEMENTS_PATH" + fi + done + + ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM + if [ ! -z "${!ENTITLEMENTS_VAR}" ]; then + if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then + echo "${!ENTITLEMENTS_VAR} does not exist" + exit 1 + fi + + for KEY in "${COPY_ENTITLEMENT_KEYS[@]}"; do + VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || echo "") + if [ ! -z "$VALUE" ]; then + PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g') + VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "${!ENTITLEMENTS_VAR}") + /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null + plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PROFILE_ENTITLEMENTS_PATH" + fi + done + fi + declare ENTITLEMENTS_PATH_$ITEM="$PROFILE_ENTITLEMENTS_PATH" + fi + done +done + +for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do + PROFILE_PATH_VAR=PROFILE_PATH_$ITEM + if [ -z "${!PROFILE_PATH_VAR}" ]; then + echo "Provisioning profile for $ITEM was not found" + exit 1 + fi +done + +for ITEM in $APP_ITEMS_WITH_ENTITLEMENTS; do + ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM + if [ -z "${!ENTITLEMENTS_VAR}" ]; then + echo "$ENTITLEMENTS_VAR is not set" + exit 1 + fi + if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then + echo "${!ENTITLEMENTS_VAR} does not exist" + exit 1 + fi +done + +if [ -z "$COMMON_IDENTITY_HASH" ]; then + echo "Failed to determine signing identity" + exit 1 +fi + +COPY_PLIST_KEYS=(\ + "DTSDKName" \ + "DTXcode" \ + "DTSDKBuild" \ + "CFBundleDevelopmentRegion" \ + "BuildMachineOSBuild" \ + "DTPlatformName" \ + "CFBundleSupportedPlatforms" \ + "CFBundleInfoDictionaryVersion" \ + "DTCompiler" \ + "MinimumOSVersion" \ + "UIDeviceFamily" \ + "DTPlatformVersion" \ + "DTXcodeBuild" \ + "DTPlatformBuild" \ +) +APP_PLIST="$APP_PATH/Info.plist" + +echo "Repacking frameworks..." +for DEPENDENCY in $(${BUCK} query "kind('apple_library', deps('//:Telegram#$PLATFORM_FLAVORS', 1))" "$@"); do + DEPENDENCY_PATH=$(echo "$DEPENDENCY" | sed -e "s#^//##" | sed -e "s#:#/#") + DEPENDENCY_NAME=$(echo "$DEPENDENCY" | sed -e "s/#.*//" | sed -e "s/^.*\://") + DYLIB_PATH="buck-out/gen/$DEPENDENCY_PATH/lib$DEPENDENCY_NAME.dylib" + mkdir -p "$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework" + TARGET_DYLIB_PATH="$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework/$DEPENDENCY_NAME" + PLIST_FILE="$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework/Info.plist" + /usr/libexec/PlistBuddy -c "Add :CFBundleName string \"${DEPENDENCY_NAME}\"" "$PLIST_FILE" 1>/dev/null + /usr/libexec/PlistBuddy -c "Add :CFBundleVersion string \"1\"" "$PLIST_FILE" + /usr/libexec/PlistBuddy -c "Add :CFBundleShortVersionString string \"1.0\"" "$PLIST_FILE" + /usr/libexec/PlistBuddy -c "Add :CFBundlePackageType string \"FMWK\"" "$PLIST_FILE" + /usr/libexec/PlistBuddy -c "Add :CFBundleExecutable string \"${DEPENDENCY_NAME}\"" "$PLIST_FILE" + /usr/libexec/PlistBuddy -c "Add :CFBundleIdentifier string \"${BUNDLE_ID_PREFIX}.${DEPENDENCY_NAME}\"" "$PLIST_FILE" + for KEY in "${COPY_PLIST_KEYS[@]}"; do + VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$APP_PLIST" 2>/dev/null || echo "") + if [ ! -z "$VALUE" ]; then + PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g') + VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "$APP_PLIST") + plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PLIST_FILE" + fi + done + plutil -convert binary1 "$PLIST_FILE" + cp "$DYLIB_PATH" "$TARGET_DYLIB_PATH" + DSYM_PATH="buck-out/gen/$(echo "$DEPENDENCY" | sed -e "s/#/#apple-dsym,/" | sed -e "s#^//##" | sed -e "s#:#/#").dSYM" + cp -r "$DSYM_PATH" "$DSYMS_DIR/" +done + +APP_BINARY_DSYM_PATH="buck-out/gen/Telegram#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/Telegram.app.dSYM" +cp -r "$APP_BINARY_DSYM_PATH" "$DSYMS_DIR/" + +EXTENSIONS="Share Widget Intents NotificationContent NotificationService" +for EXTENSION in $EXTENSIONS; do + EXTENSION_DSYM_PATH="buck-out/gen/${EXTENSION}Extension#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/${EXTENSION}Extension.appex.dSYM" + cp -r "$EXTENSION_DSYM_PATH" "$DSYMS_DIR/" +done + +WATCH_EXTENSION_DSYM_PATH="buck-out/gen/WatchAppExtension#dwarf-and-dsym,no-include-frameworks,watchos-arm64_32,watchos-armv7k/WatchAppExtension.appex.dSYM" +cp -r "$WATCH_EXTENSION_DSYM_PATH" "$DSYMS_DIR/" + +TEMP_DYLIB_DIR="$TEMP_PATH/SwiftSupport" +rm -rf "$TEMP_DYLIB_DIR" +mkdir -p "$TEMP_DYLIB_DIR" +mkdir -p "$TEMP_DYLIB_DIR/out" + +echo "Copying swift support files..." +xcrun swift-stdlib-tool \ + --copy \ + --strip-bitcode \ + --platform iphoneos \ + --toolchain "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain" \ + --source-libraries "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos" \ + --scan-executable "$APP_PATH/Telegram" \ + --scan-folder "$APP_PATH/Frameworks" \ + --scan-folder "$APP_PATH/PlugIns" \ + --destination "$TEMP_DYLIB_DIR" + +for dylib in "$TEMP_DYLIB_DIR"/*.dylib; do + FILE_NAME=$(basename "$dylib") + lipo -extract armv7 "$dylib" -output "$dylib.armv7" + lipo -extract arm64 "$dylib" -output "$dylib.arm64" + lipo "$dylib.armv7" "$dylib.arm64" -create -output "$dylib.unstripped" + if [ "$PACKAGE_METHOD" == "enterprise" ]; then + xcrun strip -ST -o "$TEMP_DYLIB_DIR/out/$FILE_NAME" - "$dylib.unstripped" 2>/dev/null + xcrun bitcode_strip -r "$TEMP_DYLIB_DIR/out/$FILE_NAME" -o "$TEMP_DYLIB_DIR/out/$FILE_NAME" 1>/dev/null + else + cp "$dylib.unstripped" "$TEMP_DYLIB_DIR/out/$FILE_NAME" + fi +done + +cp "$TEMP_DYLIB_DIR/out/"*.dylib "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/" +cp "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*.dylib "$FRAMEWORKS_DIR/" + +REMOVE_ARCHS="armv7s arm64e" + +for framework in "$FRAMEWORKS_DIR"/*; do + if [[ "$framework" == *.framework || "$framework" == *.dylib ]]; then + if [[ "$framework" == *.framework ]]; then + FRAMEWORK_NAME=$(basename "$framework" | sed -e 's/\.framework//') + for ARCH in $REMOVE_ARCHS; do + lipo -remove "$ARCH" "$framework/$FRAMEWORK_NAME" -o "$framework/$FRAMEWORK_NAME" 2>/dev/null || true + done + xcrun bitcode_strip -r "$framework/$FRAMEWORK_NAME" -o "$framework/$FRAMEWORK_NAME" 1>/dev/null + xcrun strip -S -T -x "$framework/$FRAMEWORK_NAME" 1>/dev/null + /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" 1>/dev/null + else + /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" 1>/dev/null + fi + fi +done + +echo "Signing..." + +PLUGINS="Share Widget Intents NotificationService NotificationContent" +for PLUGIN in $PLUGINS; do + PLUGIN_PATH="$APP_PATH/PlugIns/${PLUGIN}Extension.appex" + if [ ! -d "$PLUGIN_PATH" ]; then + echo "Directory at $PLUGIN_PATH does not exist" + exit 1 + fi + PROFILE_PATH_VAR="PROFILE_PATH_EXTENSION_$PLUGIN" + if [ -z "${!PROFILE_PATH_VAR}" ]; then + echo "$PROFILE_PATH_VAR is not defined" + exit 1 + fi + if [ ! -f "${!PROFILE_PATH_VAR}" ]; then + echo "${!PROFILE_PATH_VAR} does not exist" + exit 1 + fi + ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_EXTENSION_$PLUGIN" + if [ -z "${!ENTITLEMENTS_PATH_VAR}" ]; then + echo "$ENTITLEMENTS_PATH_VAR is not defined" + exit 1 + fi + if [ ! -f "${!ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 + fi + cp "${!PROFILE_PATH_VAR}" "$PLUGIN_PATH/embedded.mobileprovision" + /usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!ENTITLEMENTS_PATH_VAR}" "$PLUGIN_PATH" +done + +WATCH_APP_PATH="$APP_PATH/Watch/WatchApp.app" +WATCH_EXTENSION_PATH="$WATCH_APP_PATH/PlugIns/WatchAppExtension.appex" + +WATCH_EXTENSION_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_EXTENSION" +if [ -z "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then + echo "$WATCH_EXTENSION_PROFILE_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then + echo "${!WATCH_EXTENSION_PROFILE_PATH_VAR} does not exist" + exit 1 +fi +WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_EXTENSION" +if [ -z "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then + echo "$WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 +fi + +cp "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" "$WATCH_EXTENSION_PATH/embedded.mobileprovision" +/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" "$WATCH_EXTENSION_PATH" 2>/dev/null + +WATCH_APP_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_APP" +if [ -z "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then + echo "$WATCH_APP_PROFILE_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then + echo "${!WATCH_APP_PROFILE_PATH_VAR} does not exist" + exit 1 +fi +WATCH_APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_APP" +if [ -z "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "$WATCH_APP_ENTITLEMENTS_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!WATCH_APP_ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 +fi + +cp "${!WATCH_APP_PROFILE_PATH_VAR}" "$WATCH_APP_PATH/embedded.mobileprovision" +/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" "$WATCH_APP_PATH" 2>/dev/null + +APP_PROFILE_PATH_VAR="PROFILE_PATH_APP" +if [ -z "${!APP_PROFILE_PATH_VAR}" ]; then + echo "$APP_PROFILE_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!APP_PROFILE_PATH_VAR}" ]; then + echo "${!APP_PROFILE_PATH_VAR} does not exist" + exit 1 +fi +APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_APP" +if [ -z "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "$APP_ENTITLEMENTS_PATH_VAR is not defined" + exit 1 +fi +if [ ! -f "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then + echo "${!APP_ENTITLEMENTS_PATH_VAR} does not exist" + exit 1 +fi + +cp "${!APP_PROFILE_PATH_VAR}" "$APP_PATH/embedded.mobileprovision" +/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!APP_ENTITLEMENTS_PATH_VAR}" "$APP_PATH" + +DIR=$(pwd) + +cd "$UNPACKED_PATH" +if [ "$PACKAGE_METHOD" == "appstore" ]; then + zip -r "../${APP_NAME}_signed.ipa" Payload SwiftSupport WatchKitSupport2 1>/dev/null +elif [ "$PACKAGE_METHOD" == "enterprise" ]; then + zip -r "../${APP_NAME}_signed.ipa" Payload 1>/dev/null +fi +cd "$DIR" + +cd "$BUILD_PATH" +zip -r "$DSYMS_FOLDER_NAME.zip" "$DSYMS_FOLDER_NAME" 1>/dev/null + +cd "$DIR" + +echo "Done" \ No newline at end of file diff --git a/submodules/AccountContext/AccountContext.xcodeproj/project.pbxproj b/submodules/AccountContext/AccountContext.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..0d092d262f --- /dev/null +++ b/submodules/AccountContext/AccountContext.xcodeproj/project.pbxproj @@ -0,0 +1,1227 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E294F46AC0700000000 + + isa + PBXFileReference + name + AccountContext.swift + path + Sources/AccountContext.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CC55C4D900000000 + + isa + PBXFileReference + name + ChatController.swift + path + Sources/ChatController.swift + sourceTree + SOURCE_ROOT + + 1DD70E296AFBAFB600000000 + + isa + PBXFileReference + name + ChatHistoryLocation.swift + path + Sources/ChatHistoryLocation.swift + sourceTree + SOURCE_ROOT + + 1DD70E29577C319700000000 + + isa + PBXFileReference + name + ChatListController.swift + path + Sources/ChatListController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29845F1BF400000000 + + isa + PBXFileReference + name + ContactMultiselectionController.swift + path + Sources/ContactMultiselectionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E294B11AACD00000000 + + isa + PBXFileReference + name + ContactSelectionController.swift + path + Sources/ContactSelectionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E2783B3900000000 + + isa + PBXFileReference + name + DeviceContactData.swift + path + Sources/DeviceContactData.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C7B1155E00000000 + + isa + PBXFileReference + name + DeviceContactDataManager.swift + path + Sources/DeviceContactDataManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B16D4EE00000000 + + isa + PBXFileReference + name + DownloadedMediaStoreManager.swift + path + Sources/DownloadedMediaStoreManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E2903B7281800000000 + + isa + PBXFileReference + name + FetchManager.swift + path + Sources/FetchManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F12D3ACC00000000 + + isa + PBXFileReference + name + FetchMediaUtils.swift + path + Sources/FetchMediaUtils.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FA38189300000000 + + isa + PBXFileReference + name + GalleryController.swift + path + Sources/GalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E297A9608D900000000 + + isa + PBXFileReference + name + IsMediaStreamable.swift + path + Sources/IsMediaStreamable.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DF578D3100000000 + + isa + PBXFileReference + name + LiveLocationManager.swift + path + Sources/LiveLocationManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E2938AA732E00000000 + + isa + PBXFileReference + name + MediaManager.swift + path + Sources/MediaManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E298CE41BAA00000000 + + isa + PBXFileReference + name + OpenChatMessage.swift + path + Sources/OpenChatMessage.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A1A9776800000000 + + isa + PBXFileReference + name + OverlayAudioPlayerController.swift + path + Sources/OverlayAudioPlayerController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DFFBE54E00000000 + + isa + PBXFileReference + name + OverlayMediaItemNode.swift + path + Sources/OverlayMediaItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A3CAA35E00000000 + + isa + PBXFileReference + name + OverlayMediaManager.swift + path + Sources/OverlayMediaManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AE47D78B00000000 + + isa + PBXFileReference + name + PeerSelectionController.swift + path + Sources/PeerSelectionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2978658ABA00000000 + + isa + PBXFileReference + name + PresentationCallManager.swift + path + Sources/PresentationCallManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BEA4BC8700000000 + + isa + PBXFileReference + name + PresentationSurfaceLevels.swift + path + Sources/PresentationSurfaceLevels.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A82E88C500000000 + + isa + PBXFileReference + name + SharedMediaPlayer.swift + path + Sources/SharedMediaPlayer.swift + sourceTree + SOURCE_ROOT + + 1DD70E290F2FA2FD00000000 + + isa + PBXFileReference + name + StoredMessageFromSearchPeer.swift + path + Sources/StoredMessageFromSearchPeer.swift + sourceTree + SOURCE_ROOT + + 1DD70E297819F1E000000000 + + isa + PBXFileReference + name + ThemeUpdateManager.swift + path + Sources/ThemeUpdateManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A055C05700000000 + + isa + PBXFileReference + name + UniversalVideoNode.swift + path + Sources/UniversalVideoNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29900C6ACF00000000 + + isa + PBXFileReference + name + WallpaperUploadManager.swift + path + Sources/WallpaperUploadManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CEBFB42300000000 + + isa + PBXFileReference + name + WatchManager.swift + path + Sources/WatchManager.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E294F46AC0700000000 + 1DD70E29CC55C4D900000000 + 1DD70E296AFBAFB600000000 + 1DD70E29577C319700000000 + 1DD70E29845F1BF400000000 + 1DD70E294B11AACD00000000 + 1DD70E29E2783B3900000000 + 1DD70E29C7B1155E00000000 + 1DD70E298B16D4EE00000000 + 1DD70E2903B7281800000000 + 1DD70E29F12D3ACC00000000 + 1DD70E29FA38189300000000 + 1DD70E297A9608D900000000 + 1DD70E29DF578D3100000000 + 1DD70E2938AA732E00000000 + 1DD70E298CE41BAA00000000 + 1DD70E29A1A9776800000000 + 1DD70E29DFFBE54E00000000 + 1DD70E29A3CAA35E00000000 + 1DD70E29AE47D78B00000000 + 1DD70E2978658ABA00000000 + 1DD70E29BEA4BC8700000000 + 1DD70E29A82E88C500000000 + 1DD70E290F2FA2FD00000000 + 1DD70E297819F1E000000000 + 1DD70E29A055C05700000000 + 1DD70E29900C6ACF00000000 + 1DD70E29CEBFB42300000000 + + + B401C97927C8B2E200000000 + + isa + PBXGroup + name + AccountContext + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2984A4A59300000000 + + isa + PBXFileReference + name + AccountContext-Debug.xcconfig + path + ../../buck-out/gen/submodules/AccountContext/AccountContext-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D334243D00000000 + + isa + PBXFileReference + name + AccountContext-Profile.xcconfig + path + ../../buck-out/gen/submodules/AccountContext/AccountContext-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2946CACF9F00000000 + + isa + PBXFileReference + name + AccountContext-Release.xcconfig + path + ../../buck-out/gen/submodules/AccountContext/AccountContext-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2984A4A59300000000 + 1DD70E29D334243D00000000 + 1DD70E2946CACF9F00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C97927C8B2E200000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F044F46AC0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E294F46AC0700000000 + + E7A30F04CC55C4D900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC55C4D900000000 + + E7A30F046AFBAFB600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296AFBAFB600000000 + + E7A30F04577C319700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29577C319700000000 + + E7A30F04845F1BF400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29845F1BF400000000 + + E7A30F044B11AACD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294B11AACD00000000 + + E7A30F04E2783B3900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E2783B3900000000 + + E7A30F04C7B1155E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7B1155E00000000 + + E7A30F048B16D4EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B16D4EE00000000 + + E7A30F0403B7281800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2903B7281800000000 + + E7A30F04F12D3ACC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F12D3ACC00000000 + + E7A30F04FA38189300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FA38189300000000 + + E7A30F047A9608D900000000 + + isa + PBXBuildFile + fileRef + 1DD70E297A9608D900000000 + + E7A30F04DF578D3100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF578D3100000000 + + E7A30F0438AA732E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2938AA732E00000000 + + E7A30F048CE41BAA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298CE41BAA00000000 + + E7A30F04A1A9776800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A1A9776800000000 + + E7A30F04DFFBE54E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DFFBE54E00000000 + + E7A30F04A3CAA35E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A3CAA35E00000000 + + E7A30F04AE47D78B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE47D78B00000000 + + E7A30F0478658ABA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2978658ABA00000000 + + E7A30F04BEA4BC8700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BEA4BC8700000000 + + E7A30F04A82E88C500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A82E88C500000000 + + E7A30F040F2FA2FD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F2FA2FD00000000 + + E7A30F047819F1E000000000 + + isa + PBXBuildFile + fileRef + 1DD70E297819F1E000000000 + + E7A30F04A055C05700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A055C05700000000 + + E7A30F04900C6ACF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29900C6ACF00000000 + + E7A30F04CEBFB42300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CEBFB42300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F044F46AC0700000000 + E7A30F04CC55C4D900000000 + E7A30F046AFBAFB600000000 + E7A30F04577C319700000000 + E7A30F04845F1BF400000000 + E7A30F044B11AACD00000000 + E7A30F04E2783B3900000000 + E7A30F04C7B1155E00000000 + E7A30F048B16D4EE00000000 + E7A30F0403B7281800000000 + E7A30F04F12D3ACC00000000 + E7A30F04FA38189300000000 + E7A30F047A9608D900000000 + E7A30F04DF578D3100000000 + E7A30F0438AA732E00000000 + E7A30F048CE41BAA00000000 + E7A30F04A1A9776800000000 + E7A30F04DFFBE54E00000000 + E7A30F04A3CAA35E00000000 + E7A30F04AE47D78B00000000 + E7A30F0478658ABA00000000 + E7A30F04BEA4BC8700000000 + E7A30F04A82E88C500000000 + E7A30F040F2FA2FD00000000 + E7A30F047819F1E000000000 + E7A30F04A055C05700000000 + E7A30F04900C6ACF00000000 + E7A30F04CEBFB42300000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2984A4A59300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D334243D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2946CACF9F00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E27C8B2E200000000 + + isa + PBXNativeTarget + name + AccountContext + productName + AccountContext + productReference + 1DD70E299D2580DA00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479327C8B2E200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E27C8B2E200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479327C8B2E200000000 + + \ No newline at end of file diff --git a/submodules/AccountContext/AccountContext.xcodeproj/xcshareddata/xcschemes/AccountContext.xcscheme b/submodules/AccountContext/AccountContext.xcodeproj/xcshareddata/xcschemes/AccountContext.xcscheme new file mode 100644 index 0000000000..bb167a1ddf --- /dev/null +++ b/submodules/AccountContext/AccountContext.xcodeproj/xcshareddata/xcschemes/AccountContext.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/AccountContext/BUCK b/submodules/AccountContext/BUCK new file mode 100644 index 0000000000..6e3d486461 --- /dev/null +++ b/submodules/AccountContext/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "AccountContext", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramAudio:TelegramAudio", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#dynamic", + "//submodules/TemporaryCachedPeerDataManager:TemporaryCachedPeerDataManager", + "//submodules/DeviceLocationManager:DeviceLocationManager", + "//submodules/MediaPlayer:UniversalMediaPlayer", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + "//submodules/Postbox:Postbox#dynamic", + "//submodules/TelegramCore:TelegramCore#dynamic", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/Contacts.framework", + ], +) diff --git a/submodules/AccountContext/Sources/AccountContext.swift b/submodules/AccountContext/Sources/AccountContext.swift index c3807a7048..2a23a22483 100644 --- a/submodules/AccountContext/Sources/AccountContext.swift +++ b/submodules/AccountContext/Sources/AccountContext.swift @@ -432,6 +432,7 @@ public protocol SharedAccountContext: class { func resolveUrl(account: Account, url: String) -> Signal func openResolvedUrl(_ resolvedUrl: ResolvedUrl, context: AccountContext, urlContext: OpenURLContext, navigationController: NavigationController?, openPeer: @escaping (PeerId, ChatControllerInteractionNavigateToPeer) -> Void, sendFile: ((FileMediaReference) -> Void)?, sendSticker: ((FileMediaReference, ASDisplayNode, CGRect) -> Bool)?, present: @escaping (ViewController, Any?) -> Void, dismissInput: @escaping () -> Void) func openAddContact(context: AccountContext, firstName: String, lastName: String, phoneNumber: String, label: String, present: @escaping (ViewController, Any?) -> Void, pushController: @escaping (ViewController) -> Void, completed: @escaping () -> Void) + func openAddPersonContact(context: AccountContext, peerId: PeerId, present: @escaping (ViewController, Any?) -> Void) func presentContactsWarningSuppression(context: AccountContext, present: (ViewController, Any?) -> Void) func navigateToCurrentCall() diff --git a/submodules/ActionSheetPeerItem/ActionSheetPeerItem.xcodeproj/project.pbxproj b/submodules/ActionSheetPeerItem/ActionSheetPeerItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..092964ce78 --- /dev/null +++ b/submodules/ActionSheetPeerItem/ActionSheetPeerItem.xcodeproj/project.pbxproj @@ -0,0 +1,621 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2995573F8300000000 + + isa + PBXFileReference + name + ActionSheetPeerItem.swift + path + Sources/ActionSheetPeerItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2995573F8300000000 + + + B401C9791CBC935E00000000 + + isa + PBXGroup + name + ActionSheetPeerItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29901C3D9700000000 + + isa + PBXFileReference + name + ActionSheetPeerItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ActionSheetPeerItem/ActionSheetPeerItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DF25CB4100000000 + + isa + PBXFileReference + name + ActionSheetPeerItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ActionSheetPeerItem/ActionSheetPeerItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2952BC76A300000000 + + isa + PBXFileReference + name + ActionSheetPeerItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ActionSheetPeerItem/ActionSheetPeerItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29901C3D9700000000 + 1DD70E29DF25CB4100000000 + 1DD70E2952BC76A300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E291E16CC6C00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C9791CBC935E00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F0495573F8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2995573F8300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0495573F8300000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29901C3D9700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29DF25CB4100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2952BC76A300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E1CBC935E00000000 + + isa + PBXNativeTarget + name + ActionSheetPeerItem + productName + ActionSheetPeerItem + productReference + 1DD70E291E16CC6C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847931CBC935E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E1CBC935E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847931CBC935E00000000 + + \ No newline at end of file diff --git a/submodules/ActionSheetPeerItem/ActionSheetPeerItem.xcodeproj/xcshareddata/xcschemes/ActionSheetPeerItem.xcscheme b/submodules/ActionSheetPeerItem/ActionSheetPeerItem.xcodeproj/xcshareddata/xcschemes/ActionSheetPeerItem.xcscheme new file mode 100644 index 0000000000..ec85eafce0 --- /dev/null +++ b/submodules/ActionSheetPeerItem/ActionSheetPeerItem.xcodeproj/xcshareddata/xcschemes/ActionSheetPeerItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ActionSheetPeerItem/BUCK b/submodules/ActionSheetPeerItem/BUCK new file mode 100644 index 0000000000..1f87075baa --- /dev/null +++ b/submodules/ActionSheetPeerItem/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ActionSheetPeerItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AvatarNode:AvatarNode", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ActivityIndicator/ActivityIndicator.xcodeproj/project.pbxproj b/submodules/ActivityIndicator/ActivityIndicator.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..73dc7b2d6b --- /dev/null +++ b/submodules/ActivityIndicator/ActivityIndicator.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E296BAD1E4500000000 + + isa + PBXFileReference + name + ActivityIndicator.swift + path + Sources/ActivityIndicator.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E296BAD1E4500000000 + + + B401C97965892BA000000000 + + isa + PBXGroup + name + ActivityIndicator + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D927D91500000000 + + isa + PBXFileReference + name + ActivityIndicator-Debug.xcconfig + path + ../../buck-out/gen/submodules/ActivityIndicator/ActivityIndicator-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2913B87F3F00000000 + + isa + PBXFileReference + name + ActivityIndicator-Profile.xcconfig + path + ../../buck-out/gen/submodules/ActivityIndicator/ActivityIndicator-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29874F2AA100000000 + + isa + PBXFileReference + name + ActivityIndicator-Release.xcconfig + path + ../../buck-out/gen/submodules/ActivityIndicator/ActivityIndicator-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D927D91500000000 + 1DD70E2913B87F3F00000000 + 1DD70E29874F2AA100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29BF0846EE00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C97965892BA000000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F046BAD1E4500000000 + + isa + PBXBuildFile + fileRef + 1DD70E296BAD1E4500000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F046BAD1E4500000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D927D91500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2913B87F3F00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29874F2AA100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E65892BA000000000 + + isa + PBXNativeTarget + name + ActivityIndicator + productName + ActivityIndicator + productReference + 1DD70E29BF0846EE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479365892BA000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E65892BA000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479365892BA000000000 + + \ No newline at end of file diff --git a/submodules/ActivityIndicator/ActivityIndicator.xcodeproj/xcshareddata/xcschemes/ActivityIndicator.xcscheme b/submodules/ActivityIndicator/ActivityIndicator.xcodeproj/xcshareddata/xcschemes/ActivityIndicator.xcscheme new file mode 100644 index 0000000000..c56b429258 --- /dev/null +++ b/submodules/ActivityIndicator/ActivityIndicator.xcodeproj/xcshareddata/xcschemes/ActivityIndicator.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ActivityIndicator/BUCK b/submodules/ActivityIndicator/BUCK new file mode 100644 index 0000000000..aa2ce7825c --- /dev/null +++ b/submodules/ActivityIndicator/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ActivityIndicator", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/AlertUI/AlertUI.xcodeproj/project.pbxproj b/submodules/AlertUI/AlertUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..de396fa5d7 --- /dev/null +++ b/submodules/AlertUI/AlertUI.xcodeproj/project.pbxproj @@ -0,0 +1,709 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29930423F500000000 + + isa + PBXFileReference + name + ThemedTextAlertController.swift + path + Sources/ThemedTextAlertController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29930423F500000000 + + + B401C9792C8544D000000000 + + isa + PBXGroup + name + AlertUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2944B039E500000000 + + isa + PBXFileReference + name + AlertUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/AlertUI/AlertUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BEABEC0F00000000 + + isa + PBXFileReference + name + AlertUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/AlertUI/AlertUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293242977100000000 + + isa + PBXFileReference + name + AlertUI-Release.xcconfig + path + ../../buck-out/gen/submodules/AlertUI/AlertUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2944B039E500000000 + 1DD70E29BEABEC0F00000000 + 1DD70E293242977100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F523B9DE00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C9792C8544D000000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04930423F500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29930423F500000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04930423F500000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2944B039E500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29BEABEC0F00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E293242977100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E2C8544D000000000 + + isa + PBXNativeTarget + name + AlertUI + productName + AlertUI + productReference + 1DD70E29F523B9DE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847932C8544D000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E2C8544D000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847932C8544D000000000 + + \ No newline at end of file diff --git a/submodules/AlertUI/AlertUI.xcodeproj/xcshareddata/xcschemes/AlertUI.xcscheme b/submodules/AlertUI/AlertUI.xcodeproj/xcshareddata/xcschemes/AlertUI.xcscheme new file mode 100644 index 0000000000..27357f98f1 --- /dev/null +++ b/submodules/AlertUI/AlertUI.xcodeproj/xcshareddata/xcschemes/AlertUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/AlertUI/BUCK b/submodules/AlertUI/BUCK new file mode 100644 index 0000000000..a362e196c3 --- /dev/null +++ b/submodules/AlertUI/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "AlertUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#shared", + "//submodules/AccountContext:AccountContext", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/AnimationUI/AnimationUI.xcodeproj/project.pbxproj b/submodules/AnimationUI/AnimationUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..905f2feda1 --- /dev/null +++ b/submodules/AnimationUI/AnimationUI.xcodeproj/project.pbxproj @@ -0,0 +1,635 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E294F399CC100000000 + + isa + PBXFileReference + name + AnimatedStickerNode.swift + path + Sources/AnimatedStickerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F846183C00000000 + + isa + PBXFileReference + name + AnimatedStickerUtils.swift + path + Sources/AnimatedStickerUtils.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D847F9AB00000000 + + isa + PBXFileReference + name + AnimationNode.swift + path + Sources/AnimationNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E291FD1D5AC00000000 + + isa + PBXFileReference + name + AnimationRenderer.swift + path + Sources/AnimationRenderer.swift + sourceTree + SOURCE_ROOT + + 1DD70E2968DC800500000000 + + isa + PBXFileReference + name + SoftwareAnimationRenderer.swift + path + Sources/SoftwareAnimationRenderer.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E294F399CC100000000 + 1DD70E29F846183C00000000 + 1DD70E29D847F9AB00000000 + 1DD70E291FD1D5AC00000000 + 1DD70E2968DC800500000000 + + + B401C979A7BBFCF800000000 + + isa + PBXGroup + name + AnimationUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E294CFD2CBD00000000 + + isa + PBXFileReference + name + AnimationUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/AnimationUI/AnimationUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E78788E700000000 + + isa + PBXFileReference + name + AnimationUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/AnimationUI/AnimationUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E295B1E344900000000 + + isa + PBXFileReference + name + AnimationUI-Release.xcconfig + path + ../../buck-out/gen/submodules/AnimationUI/AnimationUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E294CFD2CBD00000000 + 1DD70E29E78788E700000000 + 1DD70E295B1E344900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292420028600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979A7BBFCF800000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F044F399CC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E294F399CC100000000 + + E7A30F04F846183C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F846183C00000000 + + E7A30F04D847F9AB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D847F9AB00000000 + + E7A30F041FD1D5AC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291FD1D5AC00000000 + + E7A30F0468DC800500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968DC800500000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F044F399CC100000000 + E7A30F04F846183C00000000 + E7A30F04D847F9AB00000000 + E7A30F041FD1D5AC00000000 + E7A30F0468DC800500000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E294CFD2CBD00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29E78788E700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E295B1E344900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EA7BBFCF800000000 + + isa + PBXNativeTarget + name + AnimationUI + productName + AnimationUI + productReference + 1DD70E292420028600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793A7BBFCF800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EA7BBFCF800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793A7BBFCF800000000 + + \ No newline at end of file diff --git a/submodules/AnimationUI/AnimationUI.xcodeproj/xcshareddata/xcschemes/AnimationUI.xcscheme b/submodules/AnimationUI/AnimationUI.xcodeproj/xcshareddata/xcschemes/AnimationUI.xcscheme new file mode 100644 index 0000000000..b8a10e199f --- /dev/null +++ b/submodules/AnimationUI/AnimationUI.xcodeproj/xcshareddata/xcschemes/AnimationUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/AnimationUI/BUCK b/submodules/AnimationUI/BUCK new file mode 100644 index 0000000000..6ac5061a71 --- /dev/null +++ b/submodules/AnimationUI/BUCK @@ -0,0 +1,28 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "AnimationUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/YuvConversion:YuvConversion", + "//submodules/StickerResources:StickerResources", + "//submodules/MediaResources:MediaResources", + "//submodules/Tuples:Tuples", + "//submodules/GZip:GZip", + "//submodules/rlottie:RLottieBinding", + "//submodules/lottie-ios:Lottie", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/MobileCoreServices.framework", + ], +) diff --git a/submodules/AnimationUI/Sources/AnimationNode.swift b/submodules/AnimationUI/Sources/AnimationNode.swift index 2ef1462a22..f8eb9ba649 100644 --- a/submodules/AnimationUI/Sources/AnimationNode.swift +++ b/submodules/AnimationUI/Sources/AnimationNode.swift @@ -2,6 +2,7 @@ import Foundation import UIKit import AsyncDisplayKit import Lottie +import AppBundle public final class AnimationNode : ASDisplayNode { private let scale: CGFloat @@ -24,8 +25,8 @@ public final class AnimationNode : ASDisplayNode { super.init() self.setViewBlock({ - if let animation = animation, let url = frameworkBundle.url(forResource: animation, withExtension: "json"), let composition = LOTComposition(filePath: url.path) { - let view = LOTAnimationView(model: composition, in: frameworkBundle) + if let animation = animation, let url = getAppBundle().url(forResource: animation, withExtension: "json"), let composition = LOTComposition(filePath: url.path) { + let view = LOTAnimationView(model: composition, in: getAppBundle()) view.animationSpeed = self.speed view.backgroundColor = .clear view.isOpaque = false @@ -48,7 +49,7 @@ public final class AnimationNode : ASDisplayNode { } public func setAnimation(name: String) { - if let url = frameworkBundle.url(forResource: name, withExtension: "json"), let composition = LOTComposition(filePath: url.path) { + if let url = getAppBundle().url(forResource: name, withExtension: "json"), let composition = LOTComposition(filePath: url.path) { self.animationView()?.sceneModel = composition } } diff --git a/submodules/AnimationUI/Sources/FrameworkBundle.swift b/submodules/AnimationUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 2d6a4df5c4..0000000000 --- a/submodules/AnimationUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,6 +0,0 @@ -import Foundation - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) diff --git a/submodules/AppBundle/AppBundle.xcodeproj/project.pbxproj b/submodules/AppBundle/AppBundle.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..3db1a77eb0 --- /dev/null +++ b/submodules/AppBundle/AppBundle.xcodeproj/project.pbxproj @@ -0,0 +1,343 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2942D2F31D00000000 + + isa + PBXFileReference + name + AppBundle.h + path + Sources/AppBundle.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2942D2F32200000000 + + isa + PBXFileReference + name + AppBundle.m + path + Sources/AppBundle.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2942D2F31D00000000 + 1DD70E2942D2F32200000000 + + + B401C979B3E1D9E300000000 + + isa + PBXGroup + name + AppBundle + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E293DCA7C7200000000 + + isa + PBXFileReference + name + AppBundle-Debug.xcconfig + path + ../../buck-out/gen/submodules/AppBundle/AppBundle-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DA3FBF5C00000000 + + isa + PBXFileReference + name + AppBundle-Profile.xcconfig + path + ../../buck-out/gen/submodules/AppBundle/AppBundle-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294DD66ABE00000000 + + isa + PBXFileReference + name + AppBundle-Release.xcconfig + path + ../../buck-out/gen/submodules/AppBundle/AppBundle-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E293DCA7C7200000000 + 1DD70E29DA3FBF5C00000000 + 1DD70E294DD66ABE00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E295222FB7100000000 + + isa + PBXFileReference + name + libAppBundle.a + path + libAppBundle.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295222FB7100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B3E1D9E300000000 + B401C979B781F65D00000000 + B401C979C806358400000000 + + + E7A30F0442D2F32200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2942D2F32200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0442D2F32200000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E293DCA7C7200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29DA3FBF5C00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294DD66ABE00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EB3E1D9E300000000 + + isa + PBXNativeTarget + name + AppBundle + productName + AppBundle + productReference + 1DD70E295222FB7100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793B3E1D9E300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EB3E1D9E300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793B3E1D9E300000000 + + \ No newline at end of file diff --git a/submodules/AppBundle/AppBundle.xcodeproj/xcshareddata/xcschemes/AppBundle.xcscheme b/submodules/AppBundle/AppBundle.xcodeproj/xcshareddata/xcschemes/AppBundle.xcscheme new file mode 100644 index 0000000000..dc37f524cc --- /dev/null +++ b/submodules/AppBundle/AppBundle.xcodeproj/xcshareddata/xcschemes/AppBundle.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/AppBundle/AppBundle_Xcode.xcodeproj/project.pbxproj b/submodules/AppBundle/AppBundle_Xcode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..96019b014e --- /dev/null +++ b/submodules/AppBundle/AppBundle_Xcode.xcodeproj/project.pbxproj @@ -0,0 +1,528 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + D01748D923197B1000AF3D3A /* AppBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = D01748D723197B1000AF3D3A /* AppBundle.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D01748E523197B4800AF3D3A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D01748E423197B4800AF3D3A /* Foundation.framework */; }; + D01748E723197B6500AF3D3A /* AppBundle.m in Sources */ = {isa = PBXBuildFile; fileRef = D01748E623197B6500AF3D3A /* AppBundle.m */; }; + D0EFF23A23197E5600CF5164 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF23923197E5600CF5164 /* UIKit.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D01748D423197B1000AF3D3A /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D01748D723197B1000AF3D3A /* AppBundle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppBundle.h; sourceTree = ""; }; + D01748D823197B1000AF3D3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D01748E423197B4800AF3D3A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + D01748E623197B6500AF3D3A /* AppBundle.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppBundle.m; sourceTree = ""; }; + D0EFF23923197E5600CF5164 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D01748D123197B1000AF3D3A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D0EFF23A23197E5600CF5164 /* UIKit.framework in Frameworks */, + D01748E523197B4800AF3D3A /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D01748CA23197B1000AF3D3A = { + isa = PBXGroup; + children = ( + D01748D823197B1000AF3D3A /* Info.plist */, + D01748D623197B1000AF3D3A /* Sources */, + D01748D523197B1000AF3D3A /* Products */, + D01748E323197B4700AF3D3A /* Frameworks */, + ); + sourceTree = ""; + }; + D01748D523197B1000AF3D3A /* Products */ = { + isa = PBXGroup; + children = ( + D01748D423197B1000AF3D3A /* AppBundle.framework */, + ); + name = Products; + sourceTree = ""; + }; + D01748D623197B1000AF3D3A /* Sources */ = { + isa = PBXGroup; + children = ( + D01748E623197B6500AF3D3A /* AppBundle.m */, + D01748D723197B1000AF3D3A /* AppBundle.h */, + ); + path = Sources; + sourceTree = ""; + }; + D01748E323197B4700AF3D3A /* Frameworks */ = { + isa = PBXGroup; + children = ( + D0EFF23923197E5600CF5164 /* UIKit.framework */, + D01748E423197B4800AF3D3A /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + D01748CF23197B1000AF3D3A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D01748D923197B1000AF3D3A /* AppBundle.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + D01748D323197B1000AF3D3A /* AppBundle */ = { + isa = PBXNativeTarget; + buildConfigurationList = D01748DC23197B1000AF3D3A /* Build configuration list for PBXNativeTarget "AppBundle" */; + buildPhases = ( + D01748CF23197B1000AF3D3A /* Headers */, + D01748D023197B1000AF3D3A /* Sources */, + D01748D123197B1000AF3D3A /* Frameworks */, + D01748D223197B1000AF3D3A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AppBundle; + productName = AppBundle; + productReference = D01748D423197B1000AF3D3A /* AppBundle.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D01748CB23197B1000AF3D3A /* Project object */ = { + isa = PBXProject; + attributes = { + DefaultBuildSystemTypeForWorkspace = Latest; + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = "Telegram Messenger LLP"; + TargetAttributes = { + D01748D323197B1000AF3D3A = { + CreatedOnToolsVersion = 10.3; + }; + }; + }; + buildConfigurationList = D01748CE23197B1000AF3D3A /* Build configuration list for PBXProject "AppBundle_Xcode" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = D01748CA23197B1000AF3D3A; + productRefGroup = D01748D523197B1000AF3D3A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D01748D323197B1000AF3D3A /* AppBundle */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D01748D223197B1000AF3D3A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D01748D023197B1000AF3D3A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D01748E723197B6500AF3D3A /* AppBundle.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + D01748DA23197B1000AF3D3A /* DebugAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugAppStoreLLC; + }; + D01748DB23197B1000AF3D3A /* ReleaseAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseAppStoreLLC; + }; + D01748DD23197B1000AF3D3A /* DebugAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.AppBundle; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugAppStoreLLC; + }; + D01748DE23197B1000AF3D3A /* ReleaseAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.AppBundle; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseAppStoreLLC; + }; + D01748DF23197B3200AF3D3A /* DebugHockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugHockeyapp; + }; + D01748E023197B3200AF3D3A /* DebugHockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.AppBundle; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugHockeyapp; + }; + D01748E123197B3B00AF3D3A /* ReleaseHockeyappInternal */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseHockeyappInternal; + }; + D01748E223197B3B00AF3D3A /* ReleaseHockeyappInternal */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.AppBundle; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseHockeyappInternal; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D01748CE23197B1000AF3D3A /* Build configuration list for PBXProject "AppBundle_Xcode" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D01748DA23197B1000AF3D3A /* DebugAppStoreLLC */, + D01748DF23197B3200AF3D3A /* DebugHockeyapp */, + D01748DB23197B1000AF3D3A /* ReleaseAppStoreLLC */, + D01748E123197B3B00AF3D3A /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; + D01748DC23197B1000AF3D3A /* Build configuration list for PBXNativeTarget "AppBundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D01748DD23197B1000AF3D3A /* DebugAppStoreLLC */, + D01748E023197B3200AF3D3A /* DebugHockeyapp */, + D01748DE23197B1000AF3D3A /* ReleaseAppStoreLLC */, + D01748E223197B3B00AF3D3A /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; +/* End XCConfigurationList section */ + }; + rootObject = D01748CB23197B1000AF3D3A /* Project object */; +} diff --git a/submodules/AppBundle/BUCK b/submodules/AppBundle/BUCK new file mode 100644 index 0000000000..7c15ea5d15 --- /dev/null +++ b/submodules/AppBundle/BUCK @@ -0,0 +1,21 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "AppBundle", + srcs = glob([ + "Sources/**/*.swift", + "Sources/**/*.m", + ]), + headers = glob([ + "Sources/**/*.h", + ]), + exported_headers = glob([ + "Sources/**/*.h", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/AppBundle/Info.plist b/submodules/AppBundle/Info.plist new file mode 100644 index 0000000000..e1fe4cfb7b --- /dev/null +++ b/submodules/AppBundle/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/submodules/AppBundle/Sources/AppBundle.h b/submodules/AppBundle/Sources/AppBundle.h new file mode 100644 index 0000000000..b78e84bc8d --- /dev/null +++ b/submodules/AppBundle/Sources/AppBundle.h @@ -0,0 +1,16 @@ +#import +#import + +//! Project version number for AppBundle. +FOUNDATION_EXPORT double AppBundleVersionNumber; + +//! Project version string for AppBundle. +FOUNDATION_EXPORT const unsigned char AppBundleVersionString[]; + +NSBundle * _Nonnull getAppBundle(void); + +@interface UIImage (AppBundle) + +- (instancetype _Nullable)initWithBundleImageName:(NSString * _Nonnull)bundleImageName; + +@end diff --git a/submodules/AppBundle/Sources/AppBundle.m b/submodules/AppBundle/Sources/AppBundle.m new file mode 100644 index 0000000000..8103a03e40 --- /dev/null +++ b/submodules/AppBundle/Sources/AppBundle.m @@ -0,0 +1,21 @@ +#import "AppBundle.h" + +NSBundle * _Nonnull getAppBundle() { + NSBundle *bundle = [NSBundle mainBundle]; + if ([[bundle.bundleURL pathExtension] isEqualToString:@"appex"]) { + bundle = [NSBundle bundleWithURL:[[bundle.bundleURL URLByDeletingLastPathComponent] URLByDeletingLastPathComponent]]; + } else if ([[bundle.bundleURL pathExtension] isEqualToString:@"framework"]) { + bundle = [NSBundle bundleWithURL:[[bundle.bundleURL URLByDeletingLastPathComponent] URLByDeletingLastPathComponent]]; + } else if ([[bundle.bundleURL pathExtension] isEqualToString:@"Frameworks"]) { + bundle = [NSBundle bundleWithURL:[bundle.bundleURL URLByDeletingLastPathComponent]]; + } + return bundle; +} + +@implementation UIImage (AppBundle) + +- (instancetype _Nullable)initWithBundleImageName:(NSString * _Nonnull)bundleImageName { + return [UIImage imageNamed:bundleImageName inBundle:getAppBundle() compatibleWithTraitCollection:nil]; +} + +@end diff --git a/submodules/AsyncDisplayKit/BUCK b/submodules/AsyncDisplayKit/BUCK old mode 100755 new mode 100644 index 2f5686da4b..50488256ca --- a/submodules/AsyncDisplayKit/BUCK +++ b/submodules/AsyncDisplayKit/BUCK @@ -1,64 +1,39 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') - -COMMON_PREPROCESSOR_FLAGS = [ - '-fobjc-arc', - '-DMINIMAL_ASDK', - '-fno-exceptions', - '-fno-objc-arc-exceptions' -] - -COMMON_LANG_PREPROCESSOR_FLAGS = { - 'C': ['-std=gnu99'], - 'CXX': ['-std=c++11', '-stdlib=libc++'], - 'OBJCXX': ['-std=c++11', '-stdlib=libc++'], -} - -COMMON_LINKER_FLAGS = ['-ObjC++'] +load("//Config:buck_rule_macros.bzl", "framework") ASYNCDISPLAYKIT_EXPORTED_HEADERS = glob([ - 'Source/*.h', - 'Source/Details/**/*.h', - 'Source/Layout/*.h', - 'Source/Base/*.h', - 'Source/Debug/AsyncDisplayKit+Debug.h', - # Most TextKit components are not public because the C++ content - # in the headers will cause build errors when using - # `use_frameworks!` on 0.39.0 & Swift 2.1. - # See https://github.com/facebook/AsyncDisplayKit/issues/1153 - 'Source/TextKit/ASTextNodeTypes.h', - 'Source/TextKit/ASTextKitComponents.h' + "Source/*.h", + "Source/Details/**/*.h", + "Source/Layout/*.h", + "Source/Base/*.h", + "Source/Debug/AsyncDisplayKit+Debug.h", + "Source/TextKit/ASTextNodeTypes.h", + "Source/TextKit/ASTextKitComponents.h" ]) ASYNCDISPLAYKIT_PRIVATE_HEADERS = glob([ - 'Source/**/*.h' + "Source/**/*.h" ], exclude = ASYNCDISPLAYKIT_EXPORTED_HEADERS, ) -apple_library( - name = "AsyncDisplayKit", - header_path_prefix = 'AsyncDisplayKit', - exported_headers = ASYNCDISPLAYKIT_EXPORTED_HEADERS, - headers = ASYNCDISPLAYKIT_PRIVATE_HEADERS, - srcs = glob([ - 'Source/**/*.m', - 'Source/**/*.mm', - 'Source/Base/*.m' - ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - preprocessor_flags = COMMON_PREPROCESSOR_FLAGS, - lang_preprocessor_flags = COMMON_LANG_PREPROCESSOR_FLAGS, - linker_flags = COMMON_LINKER_FLAGS, - modular = True, - compiler_flags = ['-w'], - visibility = ["PUBLIC"], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - '$SDKROOT/System/Library/Frameworks/QuartzCore.framework', - '$SDKROOT/System/Library/Frameworks/CoreMedia.framework', - '$SDKROOT/System/Library/Frameworks/CoreText.framework', - '$SDKROOT/System/Library/Frameworks/CoreGraphics.framework', - ] +framework( + name = "AsyncDisplayKit", + headers = ASYNCDISPLAYKIT_PRIVATE_HEADERS, + exported_headers = ASYNCDISPLAYKIT_EXPORTED_HEADERS, + srcs = glob([ + "Source/**/*.m", + "Source/**/*.mm", + "Source/Base/*.m" + ]), + compiler_flags = [ + "-DMINIMAL_ASDK", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/QuartzCore.framework", + "$SDKROOT/System/Library/Frameworks/CoreMedia.framework", + "$SDKROOT/System/Library/Frameworks/CoreText.framework", + "$SDKROOT/System/Library/Frameworks/CoreGraphics.framework", + ] ) diff --git a/submodules/AuthorizationUI/AuthorizationUI.xcodeproj/project.pbxproj b/submodules/AuthorizationUI/AuthorizationUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..4b513748b7 --- /dev/null +++ b/submodules/AuthorizationUI/AuthorizationUI.xcodeproj/project.pbxproj @@ -0,0 +1,553 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EE8D454800000000 + + isa + PBXFileReference + name + AuthorizationLayout.swift + path + Sources/AuthorizationLayout.swift + sourceTree + SOURCE_ROOT + + 1DD70E296285B2E000000000 + + isa + PBXFileReference + name + AuthorizationOptionText.swift + path + Sources/AuthorizationOptionText.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EE8D454800000000 + 1DD70E296285B2E000000000 + + + B401C979BF0668AD00000000 + + isa + PBXGroup + name + AuthorizationUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29EC51406800000000 + + isa + PBXFileReference + name + AuthorizationUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/AuthorizationUI/AuthorizationUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2902255DD200000000 + + isa + PBXFileReference + name + AuthorizationUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/AuthorizationUI/AuthorizationUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2975BC093400000000 + + isa + PBXFileReference + name + AuthorizationUI-Release.xcconfig + path + ../../buck-out/gen/submodules/AuthorizationUI/AuthorizationUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29EC51406800000000 + 1DD70E2902255DD200000000 + 1DD70E2975BC093400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + + + 1DD70E296A100F7B00000000 + + isa + PBXFileReference + name + libAuthorizationUI.a + path + libAuthorizationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296A100F7B00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979BF0668AD00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04EE8D454800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EE8D454800000000 + + E7A30F046285B2E000000000 + + isa + PBXBuildFile + fileRef + 1DD70E296285B2E000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EE8D454800000000 + E7A30F046285B2E000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04119CDA0700000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04F0C15F9C00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29EC51406800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2902255DD200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2975BC093400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EBF0668AD00000000 + + isa + PBXNativeTarget + name + AuthorizationUI + productName + AuthorizationUI + productReference + 1DD70E296A100F7B00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793BF0668AD00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EBF0668AD00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793BF0668AD00000000 + + \ No newline at end of file diff --git a/submodules/AuthorizationUI/AuthorizationUI.xcodeproj/xcshareddata/xcschemes/AuthorizationUI.xcscheme b/submodules/AuthorizationUI/AuthorizationUI.xcodeproj/xcshareddata/xcschemes/AuthorizationUI.xcscheme new file mode 100644 index 0000000000..bca01654ae --- /dev/null +++ b/submodules/AuthorizationUI/AuthorizationUI.xcodeproj/xcshareddata/xcschemes/AuthorizationUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/AuthorizationUI/BUCK b/submodules/AuthorizationUI/BUCK new file mode 100644 index 0000000000..b0cf635904 --- /dev/null +++ b/submodules/AuthorizationUI/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "AuthorizationUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Display:Display#shared", + "//submodules/TextFormat:TextFormat", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/AvatarNode/AvatarNode.xcodeproj/project.pbxproj b/submodules/AvatarNode/AvatarNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7a4345f8d2 --- /dev/null +++ b/submodules/AvatarNode/AvatarNode.xcodeproj/project.pbxproj @@ -0,0 +1,619 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29119E958000000000 + + isa + PBXFileReference + name + AvatarNode.swift + path + Sources/AvatarNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D83ECBE000000000 + + isa + PBXFileReference + name + PeerAvatar.swift + path + Sources/PeerAvatar.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29119E958000000000 + 1DD70E29D83ECBE000000000 + + + B401C9795EC76B1B00000000 + + isa + PBXGroup + name + AvatarNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29C2D9543A00000000 + + isa + PBXFileReference + name + AvatarNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/AvatarNode/AvatarNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2956F7C52400000000 + + isa + PBXFileReference + name + AvatarNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/AvatarNode/AvatarNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CA8E708600000000 + + isa + PBXFileReference + name + AvatarNode-Release.xcconfig + path + ../../buck-out/gen/submodules/AvatarNode/AvatarNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C2D9543A00000000 + 1DD70E2956F7C52400000000 + 1DD70E29CA8E708600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A54A195300000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C9795EC76B1B00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04119E958000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119E958000000000 + + E7A30F04D83ECBE000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D83ECBE000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04119E958000000000 + E7A30F04D83ECBE000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C2D9543A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2956F7C52400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CA8E708600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E5EC76B1B00000000 + + isa + PBXNativeTarget + name + AvatarNode + productName + AvatarNode + productReference + 1DD70E29A54A195300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847935EC76B1B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E5EC76B1B00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847935EC76B1B00000000 + + \ No newline at end of file diff --git a/submodules/AvatarNode/AvatarNode.xcodeproj/xcshareddata/xcschemes/AvatarNode.xcscheme b/submodules/AvatarNode/AvatarNode.xcodeproj/xcshareddata/xcschemes/AvatarNode.xcscheme new file mode 100644 index 0000000000..baa717ace6 --- /dev/null +++ b/submodules/AvatarNode/AvatarNode.xcodeproj/xcshareddata/xcschemes/AvatarNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/AvatarNode/AvatarNode_Xcode.xcodeproj/project.pbxproj b/submodules/AvatarNode/AvatarNode_Xcode.xcodeproj/project.pbxproj index ecbd956d77..1e6ac43597 100644 --- a/submodules/AvatarNode/AvatarNode_Xcode.xcodeproj/project.pbxproj +++ b/submodules/AvatarNode/AvatarNode_Xcode.xcodeproj/project.pbxproj @@ -16,7 +16,7 @@ D0879B0D22F7088F00C4D6B3 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879B0C22F7088F00C4D6B3 /* Display.framework */; }; D0879B0F22F7089400C4D6B3 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879B0E22F7089400C4D6B3 /* TelegramPresentationData.framework */; }; D0879B1522F70BAF00C4D6B3 /* PeerAvatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0879B1422F70BAF00C4D6B3 /* PeerAvatar.swift */; }; - D0879B1722F70BFB00C4D6B3 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0879B1622F70BFB00C4D6B3 /* FrameworkBundle.swift */; }; + D0EFF2582319812900CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2572319812900CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -31,7 +31,7 @@ D0879B0C22F7088F00C4D6B3 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0879B0E22F7089400C4D6B3 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0879B1422F70BAF00C4D6B3 /* PeerAvatar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PeerAvatar.swift; sourceTree = ""; }; - D0879B1622F70BFB00C4D6B3 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF2572319812900CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -39,6 +39,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2582319812900CF5164 /* AppBundle.framework in Frameworks */, D0879B0F22F7089400C4D6B3 /* TelegramPresentationData.framework in Frameworks */, D0879B0D22F7088F00C4D6B3 /* Display.framework in Frameworks */, D0879B0B22F7088B00C4D6B3 /* AsyncDisplayKit.framework in Frameworks */, @@ -74,7 +75,6 @@ children = ( D0879B1422F70BAF00C4D6B3 /* PeerAvatar.swift */, D0879B0122F7087800C4D6B3 /* AvatarNode.swift */, - D0879B1622F70BFB00C4D6B3 /* FrameworkBundle.swift */, D0879AF522F7079F00C4D6B3 /* AvatarNode.h */, ); path = Sources; @@ -83,6 +83,7 @@ D0879B0322F7087F00C4D6B3 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2572319812900CF5164 /* AppBundle.framework */, D0879B0E22F7089400C4D6B3 /* TelegramPresentationData.framework */, D0879B0C22F7088F00C4D6B3 /* Display.framework */, D0879B0A22F7088B00C4D6B3 /* AsyncDisplayKit.framework */, @@ -175,7 +176,6 @@ files = ( D0879B1522F70BAF00C4D6B3 /* PeerAvatar.swift in Sources */, D0879B0222F7087800C4D6B3 /* AvatarNode.swift in Sources */, - D0879B1722F70BFB00C4D6B3 /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/AvatarNode/BUCK b/submodules/AvatarNode/BUCK new file mode 100644 index 0000000000..93c3fb0d60 --- /dev/null +++ b/submodules/AvatarNode/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "AvatarNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AnimationUI:AnimationUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/AvatarNode/Sources/AvatarNode.swift b/submodules/AvatarNode/Sources/AvatarNode.swift index 91c25c2819..d94d57f7c5 100644 --- a/submodules/AvatarNode/Sources/AvatarNode.swift +++ b/submodules/AvatarNode/Sources/AvatarNode.swift @@ -7,6 +7,7 @@ import TelegramCore import SwiftSignalKit import TelegramPresentationData import AnimationUI +import AppBundle private let deletedIcon = UIImage(bundleImageName: "Avatar/DeletedIcon")?.precomposed() private let savedMessagesIcon = generateTintedImage(image: UIImage(bundleImageName: "Avatar/SavedMessagesIcon"), color: .white) diff --git a/submodules/AvatarNode/Sources/FrameworkBundle.swift b/submodules/AvatarNode/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/AvatarNode/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/BotPaymentsUI/BUCK b/submodules/BotPaymentsUI/BUCK new file mode 100644 index 0000000000..a29631df06 --- /dev/null +++ b/submodules/BotPaymentsUI/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "BotPaymentsUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/LocalAuth:LocalAuth", + "//submodules/AccountContext:AccountContext", + "//submodules/ItemListUI:ItemListUI", + "//submodules/PasswordSetupUI:PasswordSetupUI", + "//submodules/PhotoResources:PhotoResources", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/Stripe:Stripe", + "//submodules/CountrySelectionUI:CountrySelectionUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/BotPaymentsUI/BotPaymentsUI.xcodeproj/project.pbxproj b/submodules/BotPaymentsUI/BotPaymentsUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..3170cf34bc --- /dev/null +++ b/submodules/BotPaymentsUI/BotPaymentsUI.xcodeproj/project.pbxproj @@ -0,0 +1,1651 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B025A89A00000000 + + isa + PBXFileReference + name + BotCheckoutActionButton.swift + path + Sources/BotCheckoutActionButton.swift + sourceTree + SOURCE_ROOT + + 1DD70E297D2A136E00000000 + + isa + PBXFileReference + name + BotCheckoutController.swift + path + Sources/BotCheckoutController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29395E079000000000 + + isa + PBXFileReference + name + BotCheckoutControllerNode.swift + path + Sources/BotCheckoutControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299040281200000000 + + isa + PBXFileReference + name + BotCheckoutHeaderItem.swift + path + Sources/BotCheckoutHeaderItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E299061C1BC00000000 + + isa + PBXFileReference + name + BotCheckoutInfoController.swift + path + Sources/BotCheckoutInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E297159DEDE00000000 + + isa + PBXFileReference + name + BotCheckoutInfoControllerNode.swift + path + Sources/BotCheckoutInfoControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293B198E7F00000000 + + isa + PBXFileReference + name + BotCheckoutNativeCardEntryController.swift + path + Sources/BotCheckoutNativeCardEntryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E292E07922100000000 + + isa + PBXFileReference + name + BotCheckoutNativeCardEntryControllerNode.swift + path + Sources/BotCheckoutNativeCardEntryControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2937196CEB00000000 + + isa + PBXFileReference + name + BotCheckoutPasswordEntryController.swift + path + Sources/BotCheckoutPasswordEntryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C2B0BCEA00000000 + + isa + PBXFileReference + name + BotCheckoutPaymentMethodSheet.swift + path + Sources/BotCheckoutPaymentMethodSheet.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C83A70C400000000 + + isa + PBXFileReference + name + BotCheckoutPaymentShippingOptionSheetController.swift + path + Sources/BotCheckoutPaymentShippingOptionSheetController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C1FAEDD400000000 + + isa + PBXFileReference + name + BotCheckoutPriceItem.swift + path + Sources/BotCheckoutPriceItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E2BA96EC00000000 + + isa + PBXFileReference + name + BotCheckoutWebInteractionController.swift + path + Sources/BotCheckoutWebInteractionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2993E49C0E00000000 + + isa + PBXFileReference + name + BotCheckoutWebInteractionControllerNode.swift + path + Sources/BotCheckoutWebInteractionControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B6A1976F00000000 + + isa + PBXFileReference + name + BotPaymentActionItemNode.swift + path + Sources/BotPaymentActionItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E2636A7500000000 + + isa + PBXFileReference + name + BotPaymentCardInputItemNode.swift + path + Sources/BotPaymentCardInputItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2976694AA700000000 + + isa + PBXFileReference + name + BotPaymentDateItemNode.swift + path + Sources/BotPaymentDateItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293D909F6600000000 + + isa + PBXFileReference + name + BotPaymentDisclosureItemNode.swift + path + Sources/BotPaymentDisclosureItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293680855500000000 + + isa + PBXFileReference + name + BotPaymentFieldItemNode.swift + path + Sources/BotPaymentFieldItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2914F9178600000000 + + isa + PBXFileReference + name + BotPaymentHeaderItemNode.swift + path + Sources/BotPaymentHeaderItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299559CED900000000 + + isa + PBXFileReference + name + BotPaymentItemNode.swift + path + Sources/BotPaymentItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29685F3BED00000000 + + isa + PBXFileReference + name + BotPaymentSwitchItemNode.swift + path + Sources/BotPaymentSwitchItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CC5195E600000000 + + isa + PBXFileReference + name + BotPaymentTextItemNode.swift + path + Sources/BotPaymentTextItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29938515F200000000 + + isa + PBXFileReference + name + BotReceiptController.swift + path + Sources/BotReceiptController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CDAC281400000000 + + isa + PBXFileReference + name + BotReceiptControllerNode.swift + path + Sources/BotReceiptControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B025A89A00000000 + 1DD70E297D2A136E00000000 + 1DD70E29395E079000000000 + 1DD70E299040281200000000 + 1DD70E299061C1BC00000000 + 1DD70E297159DEDE00000000 + 1DD70E293B198E7F00000000 + 1DD70E292E07922100000000 + 1DD70E2937196CEB00000000 + 1DD70E29C2B0BCEA00000000 + 1DD70E29C83A70C400000000 + 1DD70E29C1FAEDD400000000 + 1DD70E29E2BA96EC00000000 + 1DD70E2993E49C0E00000000 + 1DD70E29B6A1976F00000000 + 1DD70E29E2636A7500000000 + 1DD70E2976694AA700000000 + 1DD70E293D909F6600000000 + 1DD70E293680855500000000 + 1DD70E2914F9178600000000 + 1DD70E299559CED900000000 + 1DD70E29685F3BED00000000 + 1DD70E29CC5195E600000000 + 1DD70E29938515F200000000 + 1DD70E29CDAC281400000000 + + + B401C97922643F8800000000 + + isa + PBXGroup + name + BotPaymentsUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29AA95782D00000000 + + isa + PBXFileReference + name + BotPaymentsUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/BotPaymentsUI/BotPaymentsUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29403AB85700000000 + + isa + PBXFileReference + name + BotPaymentsUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/BotPaymentsUI/BotPaymentsUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B3D163B900000000 + + isa + PBXFileReference + name + BotPaymentsUI-Release.xcconfig + path + ../../buck-out/gen/submodules/BotPaymentsUI/BotPaymentsUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29AA95782D00000000 + 1DD70E29403AB85700000000 + 1DD70E29B3D163B900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29016F454200000000 + + isa + PBXFileReference + name + libCountrySelectionUI.a + path + libCountrySelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A889192100000000 + + isa + PBXFileReference + name + libLocalAuth.a + path + libLocalAuth.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299856EB2400000000 + + isa + PBXFileReference + name + libPasswordSetupUI.a + path + libPasswordSetupUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E29016F454200000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E295A26607D00000000 + 1DD70E29A889192100000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E299856EB2400000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E297760E65600000000 + + isa + PBXFileReference + name + libBotPaymentsUI.a + path + libBotPaymentsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E297760E65600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C97922643F8800000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04B025A89A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B025A89A00000000 + + E7A30F047D2A136E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E297D2A136E00000000 + + E7A30F04395E079000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29395E079000000000 + + E7A30F049040281200000000 + + isa + PBXBuildFile + fileRef + 1DD70E299040281200000000 + + E7A30F049061C1BC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299061C1BC00000000 + + E7A30F047159DEDE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E297159DEDE00000000 + + E7A30F043B198E7F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293B198E7F00000000 + + E7A30F042E07922100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292E07922100000000 + + E7A30F0437196CEB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2937196CEB00000000 + + E7A30F04C2B0BCEA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C2B0BCEA00000000 + + E7A30F04C83A70C400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C83A70C400000000 + + E7A30F04C1FAEDD400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C1FAEDD400000000 + + E7A30F04E2BA96EC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E2BA96EC00000000 + + E7A30F0493E49C0E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2993E49C0E00000000 + + E7A30F04B6A1976F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B6A1976F00000000 + + E7A30F04E2636A7500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E2636A7500000000 + + E7A30F0476694AA700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2976694AA700000000 + + E7A30F043D909F6600000000 + + isa + PBXBuildFile + fileRef + 1DD70E293D909F6600000000 + + E7A30F043680855500000000 + + isa + PBXBuildFile + fileRef + 1DD70E293680855500000000 + + E7A30F0414F9178600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914F9178600000000 + + E7A30F049559CED900000000 + + isa + PBXBuildFile + fileRef + 1DD70E299559CED900000000 + + E7A30F04685F3BED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29685F3BED00000000 + + E7A30F04CC5195E600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC5195E600000000 + + E7A30F04938515F200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29938515F200000000 + + E7A30F04CDAC281400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CDAC281400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B025A89A00000000 + E7A30F047D2A136E00000000 + E7A30F04395E079000000000 + E7A30F049040281200000000 + E7A30F049061C1BC00000000 + E7A30F047159DEDE00000000 + E7A30F043B198E7F00000000 + E7A30F042E07922100000000 + E7A30F0437196CEB00000000 + E7A30F04C2B0BCEA00000000 + E7A30F04C83A70C400000000 + E7A30F04C1FAEDD400000000 + E7A30F04E2BA96EC00000000 + E7A30F0493E49C0E00000000 + E7A30F04B6A1976F00000000 + E7A30F04E2636A7500000000 + E7A30F0476694AA700000000 + E7A30F043D909F6600000000 + E7A30F043680855500000000 + E7A30F0414F9178600000000 + E7A30F049559CED900000000 + E7A30F04685F3BED00000000 + E7A30F04CC5195E600000000 + E7A30F04938515F200000000 + E7A30F04CDAC281400000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F04016F454200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29016F454200000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04A889192100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A889192100000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F049856EB2400000000 + + isa + PBXBuildFile + fileRef + 1DD70E299856EB2400000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04EA9CBB5B00000000 + E7A30F04016F454200000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04A889192100000000 + E7A30F04F523B9DE00000000 + E7A30F049856EB2400000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F042417E0B200000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29AA95782D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29403AB85700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B3D163B900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E22643F8800000000 + + isa + PBXNativeTarget + name + BotPaymentsUI + productName + BotPaymentsUI + productReference + 1DD70E297760E65600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479322643F8800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E22643F8800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479322643F8800000000 + + \ No newline at end of file diff --git a/submodules/BotPaymentsUI/BotPaymentsUI.xcodeproj/xcshareddata/xcschemes/BotPaymentsUI.xcscheme b/submodules/BotPaymentsUI/BotPaymentsUI.xcodeproj/xcshareddata/xcschemes/BotPaymentsUI.xcscheme new file mode 100644 index 0000000000..68fa8ebd76 --- /dev/null +++ b/submodules/BotPaymentsUI/BotPaymentsUI.xcodeproj/xcshareddata/xcschemes/BotPaymentsUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj b/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj index 84108cc736..7f0005e3a4 100644 --- a/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj @@ -40,12 +40,12 @@ D0C9C7B52301FFE500FAB518 /* TelegramCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B42301FFE500FAB518 /* TelegramCore.framework */; }; D0C9C7B72301FFE900FAB518 /* SwiftSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B62301FFE900FAB518 /* SwiftSignalKit.framework */; }; D0C9C7B92301FFEF00FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B82301FFEF00FAB518 /* TelegramPresentationData.framework */; }; - D0C9C7BF2302023D00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7BE2302023D00FAB518 /* FrameworkBundle.swift */; }; D0C9C7E32302035800FAB518 /* LocalAuth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E22302035800FAB518 /* LocalAuth.framework */; }; D0C9C7E72302041100FAB518 /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E62302041100FAB518 /* AccountContext.framework */; }; D0C9C7E9230205A500FAB518 /* ItemListUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E8230205A500FAB518 /* ItemListUI.framework */; }; D0C9C7EB230205D700FAB518 /* PasswordSetupUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7EA230205D700FAB518 /* PasswordSetupUI.framework */; }; D0C9C7EF2302061E00FAB518 /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7EE2302061E00FAB518 /* PhotoResources.framework */; }; + D0EFF27A2319832400CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2792319832400CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -84,12 +84,12 @@ D0C9C7B42301FFE500FAB518 /* TelegramCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C7B62301FFE900FAB518 /* SwiftSignalKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftSignalKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C7B82301FFEF00FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C7BE2302023D00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C7E22302035800FAB518 /* LocalAuth.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocalAuth.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C7E62302041100FAB518 /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C7E8230205A500FAB518 /* ItemListUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C7EA230205D700FAB518 /* PasswordSetupUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PasswordSetupUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C7EE2302061E00FAB518 /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF2792319832400CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -97,6 +97,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF27A2319832400CF5164 /* AppBundle.framework in Frameworks */, D0C9C7EF2302061E00FAB518 /* PhotoResources.framework in Frameworks */, D0C9C7EB230205D700FAB518 /* PasswordSetupUI.framework in Frameworks */, D0C9C7E9230205A500FAB518 /* ItemListUI.framework in Frameworks */, @@ -161,7 +162,6 @@ D0C9C77D2301FFCA00FAB518 /* BotPaymentTextItemNode.swift */, D0C9C7812301FFCA00FAB518 /* BotReceiptController.swift */, D0C9C7862301FFCB00FAB518 /* BotReceiptControllerNode.swift */, - D0C9C7BE2302023D00FAB518 /* FrameworkBundle.swift */, D0C9C6CB2301FC9300FAB518 /* BotPaymentsUI.h */, ); path = Sources; @@ -170,6 +170,7 @@ D0C9C7AB2301FFD300FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2792319832400CF5164 /* AppBundle.framework */, D0C9C7EE2302061E00FAB518 /* PhotoResources.framework */, D0C9C7EA230205D700FAB518 /* PasswordSetupUI.framework */, D0C9C7E8230205A500FAB518 /* ItemListUI.framework */, @@ -286,7 +287,6 @@ D0C9C7A12301FFD000FAB518 /* BotCheckoutWebInteractionControllerNode.swift in Sources */, D0C9C7922301FFD000FAB518 /* BotCheckoutPasswordEntryController.swift in Sources */, D0C9C7932301FFD000FAB518 /* BotPaymentActionItemNode.swift in Sources */, - D0C9C7BF2302023D00FAB518 /* FrameworkBundle.swift in Sources */, D0C9C7A72301FFD000FAB518 /* BotCheckoutNativeCardEntryControllerNode.swift in Sources */, D0C9C7A52301FFD000FAB518 /* BotPaymentFieldItemNode.swift in Sources */, D0C9C79C2301FFD000FAB518 /* BotCheckoutWebInteractionController.swift in Sources */, diff --git a/submodules/BotPaymentsUI/Sources/BotCheckoutPaymentMethodSheet.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutPaymentMethodSheet.swift index 630da03eb4..bf43dd2e23 100644 --- a/submodules/BotPaymentsUI/Sources/BotCheckoutPaymentMethodSheet.swift +++ b/submodules/BotPaymentsUI/Sources/BotCheckoutPaymentMethodSheet.swift @@ -5,6 +5,7 @@ import AsyncDisplayKit import SwiftSignalKit import TelegramCore import AccountContext +import AppBundle struct BotCheckoutPaymentWebToken: Equatable { let title: String diff --git a/submodules/BotPaymentsUI/Sources/FrameworkBundle.swift b/submodules/BotPaymentsUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/BotPaymentsUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/BuildConfig/BUCK b/submodules/BuildConfig/BUCK new file mode 100644 index 0000000000..1acc7024d4 --- /dev/null +++ b/submodules/BuildConfig/BUCK @@ -0,0 +1,30 @@ +load("//Config:buck_rule_macros.bzl", "static_library") +load("//Config:app_configuration.bzl", "appConfig") + +static_library( + name = "BuildConfig", + srcs = glob([ + "Sources/*.m", + ]), + compiler_flags = [ + '-DAPP_CONFIG_API_ID=' + appConfig()["apiId"], + '-DAPP_CONFIG_API_HASH="' + appConfig()["apiHash"] + '"', + '-DAPP_CONFIG_HOCKEYAPP_ID="' + appConfig()["hockeyAppId"] + '"', + '-DAPP_CONFIG_IS_INTERNAL_BUILD=' + appConfig()["isInternalBuild"], + '-DAPP_CONFIG_IS_APPSTORE_BUILD=' + appConfig()["isAppStoreBuild"], + '-DAPP_CONFIG_APPSTORE_ID=' + appConfig()["appStoreId"], + '-DAPP_SPECIFIC_URL_SCHEME="' + appConfig()["appSpecificUrlScheme"] + '"', + ], + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "Sources/*.h", + ]), + deps = [ + "//submodules/MtProtoKit:MtProtoKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/BuildConfig/BuildConfig.xcodeproj/project.pbxproj b/submodules/BuildConfig/BuildConfig.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..6e9ae6f067 --- /dev/null +++ b/submodules/BuildConfig/BuildConfig.xcodeproj/project.pbxproj @@ -0,0 +1,343 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EEC2CD2A00000000 + + isa + PBXFileReference + name + BuildConfig.h + path + Sources/BuildConfig.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EEC2CD2F00000000 + + isa + PBXFileReference + name + BuildConfig.m + path + Sources/BuildConfig.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EEC2CD2A00000000 + 1DD70E29EEC2CD2F00000000 + + + B401C979CE2AD33000000000 + + isa + PBXGroup + name + BuildConfig + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2904301F8500000000 + + isa + PBXFileReference + name + BuildConfig-Debug.xcconfig + path + ../../buck-out/gen/submodules/BuildConfig/BuildConfig-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299DC8E9AF00000000 + + isa + PBXFileReference + name + BuildConfig-Profile.xcconfig + path + ../../buck-out/gen/submodules/BuildConfig/BuildConfig-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29115F951100000000 + + isa + PBXFileReference + name + BuildConfig-Release.xcconfig + path + ../../buck-out/gen/submodules/BuildConfig/BuildConfig-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2904301F8500000000 + 1DD70E299DC8E9AF00000000 + 1DD70E29115F951100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E296A322ABE00000000 + + isa + PBXFileReference + name + libBuildConfig.a + path + libBuildConfig.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296A322ABE00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979CE2AD33000000000 + B401C979B781F65D00000000 + B401C979C806358400000000 + + + E7A30F04EEC2CD2F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EEC2CD2F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EEC2CD2F00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2904301F8500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E299DC8E9AF00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29115F951100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ECE2AD33000000000 + + isa + PBXNativeTarget + name + BuildConfig + productName + BuildConfig + productReference + 1DD70E296A322ABE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793CE2AD33000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ECE2AD33000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793CE2AD33000000000 + + \ No newline at end of file diff --git a/submodules/BuildConfig/BuildConfig.xcodeproj/xcshareddata/xcschemes/BuildConfig.xcscheme b/submodules/BuildConfig/BuildConfig.xcodeproj/xcshareddata/xcschemes/BuildConfig.xcscheme new file mode 100644 index 0000000000..0db5742682 --- /dev/null +++ b/submodules/BuildConfig/BuildConfig.xcodeproj/xcshareddata/xcschemes/BuildConfig.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/CallListUI/BUCK b/submodules/CallListUI/BUCK new file mode 100644 index 0000000000..d524cb8e2f --- /dev/null +++ b/submodules/CallListUI/BUCK @@ -0,0 +1,28 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "CallListUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/AccountContext:AccountContext", + "//submodules/ItemListUI:ItemListUI", + "//submodules/AvatarNode:AvatarNode", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/AlertUI:AlertUI", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/MergeLists:MergeLists", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/CallListUI/CallListUI.xcodeproj/project.pbxproj b/submodules/CallListUI/CallListUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..796faba925 --- /dev/null +++ b/submodules/CallListUI/CallListUI.xcodeproj/project.pbxproj @@ -0,0 +1,1159 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E292F059BD200000000 + + isa + PBXFileReference + name + CallListCallItem.swift + path + Sources/CallListCallItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B318599D00000000 + + isa + PBXFileReference + name + CallListController.swift + path + Sources/CallListController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A54F9E3F00000000 + + isa + PBXFileReference + name + CallListControllerNode.swift + path + Sources/CallListControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29914403B400000000 + + isa + PBXFileReference + name + CallListHoleItem.swift + path + Sources/CallListHoleItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AB92F37700000000 + + isa + PBXFileReference + name + CallListNodeEntries.swift + path + Sources/CallListNodeEntries.swift + sourceTree + SOURCE_ROOT + + 1DD70E2970B6869800000000 + + isa + PBXFileReference + name + CallListNodeLocation.swift + path + Sources/CallListNodeLocation.swift + sourceTree + SOURCE_ROOT + + 1DD70E291FE77B5B00000000 + + isa + PBXFileReference + name + CallListViewTransition.swift + path + Sources/CallListViewTransition.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E292F059BD200000000 + 1DD70E29B318599D00000000 + 1DD70E29A54F9E3F00000000 + 1DD70E29914403B400000000 + 1DD70E29AB92F37700000000 + 1DD70E2970B6869800000000 + 1DD70E291FE77B5B00000000 + + + B401C979C8F48FD000000000 + + isa + PBXGroup + name + CallListUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2918618EE500000000 + + isa + PBXFileReference + name + CallListUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/CallListUI/CallListUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296B5C010F00000000 + + isa + PBXFileReference + name + CallListUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/CallListUI/CallListUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DEF2AC7100000000 + + isa + PBXFileReference + name + CallListUI-Release.xcconfig + path + ../../buck-out/gen/submodules/CallListUI/CallListUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2918618EE500000000 + 1DD70E296B5C010F00000000 + 1DD70E29DEF2AC7100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E2997B4D6D800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E2938C0E4C800000000 + + isa + PBXFileReference + name + libCallListUI.a + path + libCallListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2938C0E4C800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979C8F48FD000000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F042F059BD200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F059BD200000000 + + E7A30F04B318599D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B318599D00000000 + + E7A30F04A54F9E3F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54F9E3F00000000 + + E7A30F04914403B400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29914403B400000000 + + E7A30F04AB92F37700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AB92F37700000000 + + E7A30F0470B6869800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2970B6869800000000 + + E7A30F041FE77B5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291FE77B5B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F042F059BD200000000 + E7A30F04B318599D00000000 + E7A30F04A54F9E3F00000000 + E7A30F04914403B400000000 + E7A30F04AB92F37700000000 + E7A30F0470B6869800000000 + E7A30F041FE77B5B00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04F523B9DE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F042417E0B200000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2918618EE500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E296B5C010F00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29DEF2AC7100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EC8F48FD000000000 + + isa + PBXNativeTarget + name + CallListUI + productName + CallListUI + productReference + 1DD70E2938C0E4C800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793C8F48FD000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EC8F48FD000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793C8F48FD000000000 + + \ No newline at end of file diff --git a/submodules/CallListUI/CallListUI.xcodeproj/xcshareddata/xcschemes/CallListUI.xcscheme b/submodules/CallListUI/CallListUI.xcodeproj/xcshareddata/xcschemes/CallListUI.xcscheme new file mode 100644 index 0000000000..639c8675d3 --- /dev/null +++ b/submodules/CallListUI/CallListUI.xcodeproj/xcshareddata/xcschemes/CallListUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/CallListUI/CallListUI_Xcode.xcodeproj/project.pbxproj b/submodules/CallListUI/CallListUI_Xcode.xcodeproj/project.pbxproj index d8988982ba..bd3fd10a95 100644 --- a/submodules/CallListUI/CallListUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/CallListUI/CallListUI_Xcode.xcodeproj/project.pbxproj @@ -30,7 +30,6 @@ D0C9CA7C23022DCC00FAB518 /* TelegramUIPreferences.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CA7B23022DCC00FAB518 /* TelegramUIPreferences.framework */; }; D0C9CA7E23022DD900FAB518 /* TelegramNotices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CA7D23022DD900FAB518 /* TelegramNotices.framework */; }; D0C9CA8023022E1F00FAB518 /* MergeLists.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CA7F23022E1F00FAB518 /* MergeLists.framework */; }; - D0C9CA8423022E6600FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9CA8323022E6600FAB518 /* FrameworkBundle.swift */; }; D0C9CA8623022FCD00FAB518 /* CallListHoleItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9CA8523022FCD00FAB518 /* CallListHoleItem.swift */; }; /* End PBXBuildFile section */ @@ -60,7 +59,6 @@ D0C9CA7B23022DCC00FAB518 /* TelegramUIPreferences.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramUIPreferences.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CA7D23022DD900FAB518 /* TelegramNotices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramNotices.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CA7F23022E1F00FAB518 /* MergeLists.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MergeLists.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9CA8323022E6600FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9CA8523022FCD00FAB518 /* CallListHoleItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallListHoleItem.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -119,7 +117,6 @@ D0C9CA5523022D5E00FAB518 /* CallListNodeEntries.swift */, D0C9CA5623022D5E00FAB518 /* CallListNodeLocation.swift */, D0C9CA5723022D5E00FAB518 /* CallListViewTransition.swift */, - D0C9CA8323022E6600FAB518 /* FrameworkBundle.swift */, D0C9CA4823022CEB00FAB518 /* CallListUI.h */, ); path = Sources; @@ -234,7 +231,6 @@ D0C9CA5B23022D5F00FAB518 /* CallListNodeEntries.swift in Sources */, D0C9CA5F23022D5F00FAB518 /* CallListController.swift in Sources */, D0C9CA5E23022D5F00FAB518 /* CallListControllerNode.swift in Sources */, - D0C9CA8423022E6600FAB518 /* FrameworkBundle.swift in Sources */, D0C9CA5A23022D5F00FAB518 /* CallListCallItem.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/CallListUI/Sources/CallListController.swift b/submodules/CallListUI/Sources/CallListController.swift index fa6e82e03e..17ac428fbb 100644 --- a/submodules/CallListUI/Sources/CallListController.swift +++ b/submodules/CallListUI/Sources/CallListController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import ItemListUI import AccountContext import AlertUI +import AppBundle public enum CallListControllerMode { case tab diff --git a/submodules/CallListUI/Sources/FrameworkBundle.swift b/submodules/CallListUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/CallListUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/ChatListSearchItemHeader/BUCK b/submodules/ChatListSearchItemHeader/BUCK new file mode 100644 index 0000000000..a72c11eea8 --- /dev/null +++ b/submodules/ChatListSearchItemHeader/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ChatListSearchItemHeader", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ListSectionHeaderNode:ListSectionHeaderNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader.xcodeproj/project.pbxproj b/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c3dbbf0d35 --- /dev/null +++ b/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader.xcodeproj/project.pbxproj @@ -0,0 +1,533 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2974E003C300000000 + + isa + PBXFileReference + name + ChatListSearchItemHeader.swift + path + Sources/ChatListSearchItemHeader.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2974E003C300000000 + + + B401C979723D879E00000000 + + isa + PBXGroup + name + ChatListSearchItemHeader + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29F68C415700000000 + + isa + PBXFileReference + name + ChatListSearchItemHeader-Debug.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2969A3DF0100000000 + + isa + PBXFileReference + name + ChatListSearchItemHeader-Profile.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DD3A8A6300000000 + + isa + PBXFileReference + name + ChatListSearchItemHeader-Release.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29F68C415700000000 + 1DD70E2969A3DF0100000000 + 1DD70E29DD3A8A6300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29AC43662400000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29FD72F45600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979723D879E00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F0474E003C300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2974E003C300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0474E003C300000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04AC43662400000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29F68C415700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2969A3DF0100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29DD3A8A6300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E723D879E00000000 + + isa + PBXNativeTarget + name + ChatListSearchItemHeader + productName + ChatListSearchItemHeader + productReference + 1DD70E29FD72F45600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793723D879E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E723D879E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793723D879E00000000 + + \ No newline at end of file diff --git a/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader.xcodeproj/xcshareddata/xcschemes/ChatListSearchItemHeader.xcscheme b/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader.xcodeproj/xcshareddata/xcschemes/ChatListSearchItemHeader.xcscheme new file mode 100644 index 0000000000..dc4e6247a5 --- /dev/null +++ b/submodules/ChatListSearchItemHeader/ChatListSearchItemHeader.xcodeproj/xcshareddata/xcschemes/ChatListSearchItemHeader.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ChatListSearchItemNode/BUCK b/submodules/ChatListSearchItemNode/BUCK new file mode 100644 index 0000000000..b6b530bc87 --- /dev/null +++ b/submodules/ChatListSearchItemNode/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ChatListSearchItemNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/SearchBarNode:SearchBarNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ChatListSearchItemNode/ChatListSearchItemNode.xcodeproj/project.pbxproj b/submodules/ChatListSearchItemNode/ChatListSearchItemNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7eaf4f696c --- /dev/null +++ b/submodules/ChatListSearchItemNode/ChatListSearchItemNode.xcodeproj/project.pbxproj @@ -0,0 +1,555 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2946AEE39600000000 + + isa + PBXFileReference + name + ChatListSearchItem.swift + path + Sources/ChatListSearchItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2946AEE39600000000 + + + B401C9795094635300000000 + + isa + PBXGroup + name + ChatListSearchItemNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E292665E50200000000 + + isa + PBXFileReference + name + ChatListSearchItemNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchItemNode/ChatListSearchItemNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2909A343EC00000000 + + isa + PBXFileReference + name + ChatListSearchItemNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchItemNode/ChatListSearchItemNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297D39EF4E00000000 + + isa + PBXFileReference + name + ChatListSearchItemNode-Release.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchItemNode/ChatListSearchItemNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E292665E50200000000 + 1DD70E2909A343EC00000000 + 1DD70E297D39EF4E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29BF0846EE00000000 + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2907DC840B00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C9795094635300000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F0446AEE39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2946AEE39600000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0446AEE39600000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + E7A30F04EA9CBB5B00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E292665E50200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2909A343EC00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E297D39EF4E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E5094635300000000 + + isa + PBXNativeTarget + name + ChatListSearchItemNode + productName + ChatListSearchItemNode + productReference + 1DD70E2907DC840B00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847935094635300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E5094635300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847935094635300000000 + + \ No newline at end of file diff --git a/submodules/ChatListSearchItemNode/ChatListSearchItemNode.xcodeproj/xcshareddata/xcschemes/ChatListSearchItemNode.xcscheme b/submodules/ChatListSearchItemNode/ChatListSearchItemNode.xcodeproj/xcshareddata/xcschemes/ChatListSearchItemNode.xcscheme new file mode 100644 index 0000000000..635f176773 --- /dev/null +++ b/submodules/ChatListSearchItemNode/ChatListSearchItemNode.xcodeproj/xcshareddata/xcschemes/ChatListSearchItemNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ChatListSearchItemNode/Sources/ChatListSearchItem.swift b/submodules/ChatListSearchItemNode/Sources/ChatListSearchItem.swift index 792fab75f0..b3a6df7f8b 100644 --- a/submodules/ChatListSearchItemNode/Sources/ChatListSearchItem.swift +++ b/submodules/ChatListSearchItemNode/Sources/ChatListSearchItem.swift @@ -115,7 +115,7 @@ public class ChatListSearchItemNode: ListViewItemNode { let baseWidth = params.width - params.leftInset - params.rightInset let backgroundColor = nextIsPinned ? item.theme.chatList.pinnedItemBackgroundColor : item.theme.chatList.itemBackgroundColor - let placeholderColor = item.theme.rootController.navigationSearchBar.inputPlaceholderTextColor + let placeholderColor = item.theme.list.itemSecondaryTextColor let (_, searchBarApply) = searchBarNodeLayout(NSAttributedString(string: placeholder ?? "", font: searchBarFont, textColor: placeholderColor), CGSize(width: baseWidth - 20.0, height: 36.0), 1.0, placeholderColor, nextIsPinned ? item.theme.chatList.pinnedSearchBarColor : item.theme.chatList.regularSearchBarColor, backgroundColor, .immediate) diff --git a/submodules/ChatListSearchRecentPeersNode/BUCK b/submodules/ChatListSearchRecentPeersNode/BUCK new file mode 100644 index 0000000000..a0ce302ad2 --- /dev/null +++ b/submodules/ChatListSearchRecentPeersNode/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ChatListSearchRecentPeersNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/ListSectionHeaderNode:ListSectionHeaderNode", + "//submodules/HorizontalPeerItem:HorizontalPeerItem", + "//submodules/MergeLists:MergeLists", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode.xcodeproj/project.pbxproj b/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..669d6091e0 --- /dev/null +++ b/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode.xcodeproj/project.pbxproj @@ -0,0 +1,819 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C02B0E9F00000000 + + isa + PBXFileReference + name + ChatListSearchRecentPeersNode.swift + path + Sources/ChatListSearchRecentPeersNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C02B0E9F00000000 + + + B401C979A9F0E77A00000000 + + isa + PBXGroup + name + ChatListSearchRecentPeersNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29FD29ADFB00000000 + + isa + PBXFileReference + name + ChatListSearchRecentPeersNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293E98B2A500000000 + + isa + PBXFileReference + name + ChatListSearchRecentPeersNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B22F5E0700000000 + + isa + PBXFileReference + name + ChatListSearchRecentPeersNode-Release.xcconfig + path + ../../buck-out/gen/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FD29ADFB00000000 + 1DD70E293E98B2A500000000 + 1DD70E29B22F5E0700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29928D142900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29097DBE9200000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E297AB043C800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979A9F0E77A00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04C02B0E9F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C02B0E9F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C02B0E9F00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04928D142900000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + E7A30F04097DBE9200000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FD29ADFB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293E98B2A500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B22F5E0700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EA9F0E77A00000000 + + isa + PBXNativeTarget + name + ChatListSearchRecentPeersNode + productName + ChatListSearchRecentPeersNode + productReference + 1DD70E297AB043C800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793A9F0E77A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EA9F0E77A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793A9F0E77A00000000 + + \ No newline at end of file diff --git a/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode.xcodeproj/xcshareddata/xcschemes/ChatListSearchRecentPeersNode.xcscheme b/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode.xcodeproj/xcshareddata/xcschemes/ChatListSearchRecentPeersNode.xcscheme new file mode 100644 index 0000000000..5298122994 --- /dev/null +++ b/submodules/ChatListSearchRecentPeersNode/ChatListSearchRecentPeersNode.xcodeproj/xcshareddata/xcschemes/ChatListSearchRecentPeersNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ChatListUI/BUCK b/submodules/ChatListUI/BUCK new file mode 100644 index 0000000000..b430b2d0bd --- /dev/null +++ b/submodules/ChatListUI/BUCK @@ -0,0 +1,46 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ChatListUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramBaseController:TelegramBaseController", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/AlertUI:AlertUI", + "//submodules/UndoUI:UndoUI", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/SearchUI:SearchUI", + "//submodules/MergeLists:MergeLists", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/ChatListSearchRecentPeersNode:ChatListSearchRecentPeersNode", + "//submodules/ChatListSearchItemNode:ChatListSearchItemNode", + "//submodules/ChatListSearchItemHeader:ChatListSearchItemHeader", + "//submodules/TemporaryCachedPeerDataManager:TemporaryCachedPeerDataManager", + "//submodules/PeerPresenceStatusManager:PeerPresenceStatusManager", + "//submodules/PeerOnlineMarkerNode:PeerOnlineMarkerNode", + "//submodules/LocalizedPeerData:LocalizedPeerData", + "//submodules/ChatTitleActivityNode:ChatTitleActivityNode", + "//submodules/DeleteChatPeerActionSheetItem:DeleteChatPeerActionSheetItem", + "//submodules/LanguageSuggestionUI:LanguageSuggestionUI", + "//submodules/ContactsPeerItem:ContactsPeerItem", + "//submodules/ContactListUI:ContactListUI", + "//submodules/PhotoResources:PhotoResources", + "//submodules/AppBundle:AppBundle", + "//submodules/ContextUI:ContextUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ChatListUI/ChatListUI.xcodeproj/project.pbxproj b/submodules/ChatListUI/ChatListUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..ad75a89ffb --- /dev/null +++ b/submodules/ChatListUI/ChatListUI.xcodeproj/project.pbxproj @@ -0,0 +1,2222 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2989C1B99200000000 + + isa + PBXFileReference + name + ChatListArchiveInfoItem.swift + path + Sources/Node/ChatListArchiveInfoItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E292ECB2C1400000000 + + isa + PBXFileReference + name + ChatListBadgeNode.swift + path + Sources/Node/ChatListBadgeNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2962D1922E00000000 + + isa + PBXFileReference + name + ChatListHoleItem.swift + path + Sources/Node/ChatListHoleItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E3C20C4E00000000 + + isa + PBXFileReference + name + ChatListItem.swift + path + Sources/Node/ChatListItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FF0A31BE00000000 + + isa + PBXFileReference + name + ChatListItemStrings.swift + path + Sources/Node/ChatListItemStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B4C80FFD00000000 + + isa + PBXFileReference + name + ChatListNode.swift + path + Sources/Node/ChatListNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2993AA1ABD00000000 + + isa + PBXFileReference + name + ChatListNodeEntries.swift + path + Sources/Node/ChatListNodeEntries.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B84481200000000 + + isa + PBXFileReference + name + ChatListNodeLocation.swift + path + Sources/Node/ChatListNodeLocation.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AA71255F00000000 + + isa + PBXFileReference + name + ChatListPresentationData.swift + path + Sources/Node/ChatListPresentationData.swift + sourceTree + SOURCE_ROOT + + 1DD70E2928E77D0F00000000 + + isa + PBXFileReference + name + ChatListStatusNode.swift + path + Sources/Node/ChatListStatusNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29978C105400000000 + + isa + PBXFileReference + name + ChatListTypingNode.swift + path + Sources/Node/ChatListTypingNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BE4AC65500000000 + + isa + PBXFileReference + name + ChatListViewTransition.swift + path + Sources/Node/ChatListViewTransition.swift + sourceTree + SOURCE_ROOT + + B401C9790025222200000000 + + isa + PBXGroup + name + Node + path + Sources/Node + sourceTree + SOURCE_ROOT + children + + 1DD70E2989C1B99200000000 + 1DD70E292ECB2C1400000000 + 1DD70E2962D1922E00000000 + 1DD70E29E3C20C4E00000000 + 1DD70E29FF0A31BE00000000 + 1DD70E29B4C80FFD00000000 + 1DD70E2993AA1ABD00000000 + 1DD70E298B84481200000000 + 1DD70E29AA71255F00000000 + 1DD70E2928E77D0F00000000 + 1DD70E29978C105400000000 + 1DD70E29BE4AC65500000000 + + + 1DD70E29308FEF0200000000 + + isa + PBXFileReference + name + ChatContextMenus.swift + path + Sources/ChatContextMenus.swift + sourceTree + SOURCE_ROOT + + 1DD70E29577C319700000000 + + isa + PBXFileReference + name + ChatListController.swift + path + Sources/ChatListController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2943B2E93900000000 + + isa + PBXFileReference + name + ChatListControllerNode.swift + path + Sources/ChatListControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2906CA893E00000000 + + isa + PBXFileReference + name + ChatListEmptyNode.swift + path + Sources/ChatListEmptyNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F726BE7600000000 + + isa + PBXFileReference + name + ChatListRecentPeersListItem.swift + path + Sources/ChatListRecentPeersListItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E295385342A00000000 + + isa + PBXFileReference + name + ChatListSearchContainerNode.swift + path + Sources/ChatListSearchContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2904D1181B00000000 + + isa + PBXFileReference + name + ChatListSelection.swift + path + Sources/ChatListSelection.swift + sourceTree + SOURCE_ROOT + + 1DD70E299588C17700000000 + + isa + PBXFileReference + name + ChatListTitleLockView.swift + path + Sources/ChatListTitleLockView.swift + sourceTree + SOURCE_ROOT + + 1DD70E294EC20C1300000000 + + isa + PBXFileReference + name + ChatListTitleProxyNode.swift + path + Sources/ChatListTitleProxyNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E691DAEC00000000 + + isa + PBXFileReference + name + ChatListTitleView.swift + path + Sources/ChatListTitleView.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C9790025222200000000 + 1DD70E29308FEF0200000000 + 1DD70E29577C319700000000 + 1DD70E2943B2E93900000000 + 1DD70E2906CA893E00000000 + 1DD70E29F726BE7600000000 + 1DD70E295385342A00000000 + 1DD70E2904D1181B00000000 + 1DD70E299588C17700000000 + 1DD70E294EC20C1300000000 + 1DD70E29E691DAEC00000000 + + + B401C9790758854A00000000 + + isa + PBXGroup + name + ChatListUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E290078B62B00000000 + + isa + PBXFileReference + name + ChatListUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/ChatListUI/ChatListUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AA466ED500000000 + + isa + PBXFileReference + name + ChatListUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/ChatListUI/ChatListUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291DDD1A3700000000 + + isa + PBXFileReference + name + ChatListUI-Release.xcconfig + path + ../../buck-out/gen/submodules/ChatListUI/ChatListUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E290078B62B00000000 + 1DD70E29AA466ED500000000 + 1DD70E291DDD1A3700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B6F47D1F00000000 + + isa + PBXFileReference + name + libChatTitleActivityNode.a + path + libChatTitleActivityNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292F91702000000000 + + isa + PBXFileReference + name + libContactListUI.a + path + libContactListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2931752C6000000000 + + isa + PBXFileReference + name + libContactsPeerItem.a + path + libContactsPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CED1620500000000 + + isa + PBXFileReference + name + libDeleteChatPeerActionSheetItem.a + path + libDeleteChatPeerActionSheetItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E220F5E800000000 + + isa + PBXFileReference + name + libLanguageSuggestionUI.a + path + libLanguageSuggestionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292969635400000000 + + isa + PBXFileReference + name + libLiveLocationTimerNode.a + path + libLiveLocationTimerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291328E99400000000 + + isa + PBXFileReference + name + libSearchUI.a + path + libSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2943136EC600000000 + + isa + PBXFileReference + name + libTelegramBaseController.a + path + libTelegramBaseController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AE67341000000000 + + isa + PBXFileReference + name + libUndoUI.a + path + libUndoUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FD72F45600000000 + 1DD70E2907DC840B00000000 + 1DD70E297AB043C800000000 + 1DD70E29B6F47D1F00000000 + 1DD70E2997B4D6D800000000 + 1DD70E292F91702000000000 + 1DD70E2931752C6000000000 + 1DD70E296C9831F100000000 + 1DD70E29CED1620500000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E299A24C4DE00000000 + 1DD70E295A26607D00000000 + 1DD70E29E220F5E800000000 + 1DD70E29AC43662400000000 + 1DD70E292969635400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29BBAF750C00000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E291631B91900000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293E4DE92B00000000 + 1DD70E29AD66967300000000 + 1DD70E291D58331200000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E291328E99400000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E29524F478E00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E2943136EC600000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E29DF758A8500000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E29AE67341000000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E296DFD63C200000000 + + isa + PBXFileReference + name + libChatListUI.a + path + libChatListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296DFD63C200000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C9790758854A00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F0489C1B99200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2989C1B99200000000 + + E7A30F042ECB2C1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292ECB2C1400000000 + + E7A30F0462D1922E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2962D1922E00000000 + + E7A30F04E3C20C4E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3C20C4E00000000 + + E7A30F04FF0A31BE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF0A31BE00000000 + + E7A30F04B4C80FFD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4C80FFD00000000 + + E7A30F0493AA1ABD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2993AA1ABD00000000 + + E7A30F048B84481200000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B84481200000000 + + E7A30F04AA71255F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AA71255F00000000 + + E7A30F0428E77D0F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2928E77D0F00000000 + + E7A30F04978C105400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29978C105400000000 + + E7A30F04BE4AC65500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BE4AC65500000000 + + E7A30F04308FEF0200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29308FEF0200000000 + + E7A30F04577C319700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29577C319700000000 + + E7A30F0443B2E93900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943B2E93900000000 + + E7A30F0406CA893E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2906CA893E00000000 + + E7A30F04F726BE7600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F726BE7600000000 + + E7A30F045385342A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295385342A00000000 + + E7A30F0404D1181B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2904D1181B00000000 + + E7A30F049588C17700000000 + + isa + PBXBuildFile + fileRef + 1DD70E299588C17700000000 + + E7A30F044EC20C1300000000 + + isa + PBXBuildFile + fileRef + 1DD70E294EC20C1300000000 + + E7A30F04E691DAEC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E691DAEC00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0489C1B99200000000 + E7A30F042ECB2C1400000000 + E7A30F0462D1922E00000000 + E7A30F04E3C20C4E00000000 + E7A30F04FF0A31BE00000000 + E7A30F04B4C80FFD00000000 + E7A30F0493AA1ABD00000000 + E7A30F048B84481200000000 + E7A30F04AA71255F00000000 + E7A30F0428E77D0F00000000 + E7A30F04978C105400000000 + E7A30F04BE4AC65500000000 + E7A30F04308FEF0200000000 + E7A30F04577C319700000000 + E7A30F0443B2E93900000000 + E7A30F0406CA893E00000000 + E7A30F04F726BE7600000000 + E7A30F045385342A00000000 + E7A30F0404D1181B00000000 + E7A30F049588C17700000000 + E7A30F044EC20C1300000000 + E7A30F04E691DAEC00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04FD72F45600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD72F45600000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F0407DC840B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC840B00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04B6F47D1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B6F47D1F00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F0431752C6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2931752C6000000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F041328E99400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291328E99400000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F04DF758A8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF758A8500000000 + + E7A30F042F91702000000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F91702000000000 + + E7A30F04CED1620500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CED1620500000000 + + E7A30F04E220F5E800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E220F5E800000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F042969635400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292969635400000000 + + E7A30F0443136EC600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943136EC600000000 + + E7A30F04AE67341000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE67341000000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04F523B9DE00000000 + E7A30F04AC43662400000000 + E7A30F04FD72F45600000000 + E7A30F04EA9CBB5B00000000 + E7A30F0407DC840B00000000 + E7A30F04928D142900000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04B6F47D1F00000000 + E7A30F0497B4D6D800000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F0431752C6000000000 + E7A30F04BBAF750C00000000 + E7A30F041328E99400000000 + E7A30F041E16CC6C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + E7A30F041631B91900000000 + E7A30F04524F478E00000000 + E7A30F04DF758A8500000000 + E7A30F042F91702000000000 + E7A30F04CED1620500000000 + E7A30F04E220F5E800000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F042969635400000000 + E7A30F0443136EC600000000 + E7A30F04AE67341000000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E290078B62B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29AA466ED500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291DDD1A3700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0758854A00000000 + + isa + PBXNativeTarget + name + ChatListUI + productName + ChatListUI + productReference + 1DD70E296DFD63C200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930758854A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0758854A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930758854A00000000 + + \ No newline at end of file diff --git a/submodules/ChatListUI/ChatListUI.xcodeproj/xcshareddata/xcschemes/ChatListUI.xcscheme b/submodules/ChatListUI/ChatListUI.xcodeproj/xcshareddata/xcschemes/ChatListUI.xcscheme new file mode 100644 index 0000000000..935d845497 --- /dev/null +++ b/submodules/ChatListUI/ChatListUI.xcodeproj/xcshareddata/xcschemes/ChatListUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ChatListUI/ChatListUI_Xcode.xcodeproj/project.pbxproj b/submodules/ChatListUI/ChatListUI_Xcode.xcodeproj/project.pbxproj index 7c5da4b686..c1fd596638 100644 --- a/submodules/ChatListUI/ChatListUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/ChatListUI/ChatListUI_Xcode.xcodeproj/project.pbxproj @@ -55,12 +55,12 @@ D0C9CB012302373000FAB518 /* PeerOnlineMarkerNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CB002302373000FAB518 /* PeerOnlineMarkerNode.framework */; }; D0C9CB032302373000FAB518 /* PeerPresenceStatusManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CB022302373000FAB518 /* PeerPresenceStatusManager.framework */; }; D0C9CB052302373000FAB518 /* TemporaryCachedPeerDataManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CB042302373000FAB518 /* TemporaryCachedPeerDataManager.framework */; }; - D0C9CB07230237D000FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9CB06230237D000FAB518 /* FrameworkBundle.swift */; }; D0C9CB442302B15D00FAB518 /* ChatTitleActivityNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CB432302B15D00FAB518 /* ChatTitleActivityNode.framework */; }; D0C9CB802302B37B00FAB518 /* DeleteChatPeerActionSheetItem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CB7F2302B37B00FAB518 /* DeleteChatPeerActionSheetItem.framework */; }; D0C9CBB42302B64C00FAB518 /* LanguageSuggestionUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CBB32302B64C00FAB518 /* LanguageSuggestionUI.framework */; }; D0C9CBE62303387E00FAB518 /* ContactsPeerItem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CBE52303387E00FAB518 /* ContactsPeerItem.framework */; }; D0C9CBE82303407100FAB518 /* ContactListUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CBE72303407100FAB518 /* ContactListUI.framework */; }; + D0EFF272231982C700CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF271231982C700CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -114,12 +114,12 @@ D0C9CB002302373000FAB518 /* PeerOnlineMarkerNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeerOnlineMarkerNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CB022302373000FAB518 /* PeerPresenceStatusManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeerPresenceStatusManager.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CB042302373000FAB518 /* TemporaryCachedPeerDataManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TemporaryCachedPeerDataManager.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9CB06230237D000FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9CB432302B15D00FAB518 /* ChatTitleActivityNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ChatTitleActivityNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CB7F2302B37B00FAB518 /* DeleteChatPeerActionSheetItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DeleteChatPeerActionSheetItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CBB32302B64C00FAB518 /* LanguageSuggestionUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LanguageSuggestionUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CBE52303387E00FAB518 /* ContactsPeerItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ContactsPeerItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CBE72303407100FAB518 /* ContactListUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ContactListUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF271231982C700CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -127,6 +127,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF272231982C700CF5164 /* AppBundle.framework in Frameworks */, D0C9CBE82303407100FAB518 /* ContactListUI.framework in Frameworks */, D0C9CBE62303387E00FAB518 /* ContactsPeerItem.framework in Frameworks */, D0C9CBB42302B64C00FAB518 /* LanguageSuggestionUI.framework in Frameworks */, @@ -195,7 +196,6 @@ D0C9CAA9230235E400FAB518 /* ChatListTitleLockView.swift */, D0C9CAA7230235E300FAB518 /* ChatListTitleProxyNode.swift */, D0C9CAA8230235E400FAB518 /* ChatListTitleView.swift */, - D0C9CB06230237D000FAB518 /* FrameworkBundle.swift */, D0C9CA98230234D400FAB518 /* ChatListUI.h */, ); path = Sources; @@ -204,6 +204,7 @@ D0C9CAB62302360600FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF271231982C700CF5164 /* AppBundle.framework */, D0C9CBE72303407100FAB518 /* ContactListUI.framework */, D0C9CBE52303387E00FAB518 /* ContactsPeerItem.framework */, D0C9CBB32302B64C00FAB518 /* LanguageSuggestionUI.framework */, @@ -346,7 +347,6 @@ D0C9CAAD230235E500FAB518 /* ChatListSearchContainerNode.swift in Sources */, D0C9CAB1230235E500FAB518 /* ChatListTitleView.swift in Sources */, D0C9CAF4230236F700FAB518 /* ChatListViewTransition.swift in Sources */, - D0C9CB07230237D000FAB518 /* FrameworkBundle.swift in Sources */, D0C9CAF5230236F700FAB518 /* ChatListNodeEntries.swift in Sources */, D0C9CAF1230236F700FAB518 /* ChatListBadgeNode.swift in Sources */, D0C9CAB5230235E500FAB518 /* ChatListEmptyNode.swift in Sources */, diff --git a/submodules/ChatListUI/Sources/ChatContextMenus.swift b/submodules/ChatListUI/Sources/ChatContextMenus.swift new file mode 100644 index 0000000000..50be5f7c80 --- /dev/null +++ b/submodules/ChatListUI/Sources/ChatContextMenus.swift @@ -0,0 +1,229 @@ +import Foundation +import UIKit +import SwiftSignalKit +import ContextUI +import AccountContext +import Postbox +import TelegramCore +import Display +import TelegramUIPreferences +import OverlayStatusController +import AlertUI + +func archiveContextMenuItems(context: AccountContext, groupId: PeerGroupId, chatListController: ChatListControllerImpl?) -> Signal<[ContextMenuItem], NoError> { + let strings = context.sharedContext.currentPresentationData.with({ $0 }).strings + return context.account.postbox.transaction { [weak chatListController] transaction -> [ContextMenuItem] in + var items: [ContextMenuItem] = [] + + if !transaction.getUnreadChatListPeerIds(groupId: groupId).isEmpty { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_MarkAllAsRead, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/MarkAsRead"), color: theme.contextMenu.primaryColor) }, action: { [weak chatListController] _, f in + let _ = (context.account.postbox.transaction { transaction in + markAllChatsAsReadInteractively(transaction: transaction, viewTracker: context.account.viewTracker, groupId: groupId) + } + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + }))) + } + + let settings = transaction.getPreferencesEntry(key: ApplicationSpecificPreferencesKeys.chatArchiveSettings) as? ChatArchiveSettings ?? ChatArchiveSettings.default + let isPinned = !settings.isHiddenByDefault + items.append(.action(ContextMenuActionItem(text: isPinned ? strings.ChatList_Context_HideArchive : strings.ChatList_Context_UnhideArchive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: isPinned ? "Chat/Context Menu/Unpin": "Chat/Context Menu/Pin"), color: theme.contextMenu.primaryColor) }, action: { [weak chatListController] _, f in + chatListController?.toggleArchivedFolderHiddenByDefault() + f(.default) + }))) + + return items + } +} + +enum ChatContextMenuSource { + case chatList + case search(ChatListSearchContextActionSource) +} + +func chatContextMenuItems(context: AccountContext, peerId: PeerId, source: ChatContextMenuSource, chatListController: ChatListControllerImpl?) -> Signal<[ContextMenuItem], NoError> { + let strings = context.sharedContext.currentPresentationData.with({ $0 }).strings + return context.account.postbox.transaction { [weak chatListController] transaction -> [ContextMenuItem] in + var items: [ContextMenuItem] = [] + + if case let .search(search) = source { + switch search { + case .recentPeers: + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_RemoveFromRecents, textColor: .destructive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Delete"), color: theme.contextMenu.destructiveColor) }, action: { _, f in + let _ = (removeRecentPeer(account: context.account, peerId: peerId) + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + }))) + items.append(.separator) + case .recentSearch: + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_RemoveFromRecents, textColor: .destructive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Delete"), color: theme.contextMenu.destructiveColor) }, action: { _, f in + let _ = (removeRecentlySearchedPeer(postbox: context.account.postbox, peerId: peerId) + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + }))) + items.append(.separator) + case .search: + break + } + } + + let isSavedMessages = peerId == context.account.peerId + + let chatPeer = transaction.getPeer(peerId) + var peer: Peer? + if let chatPeer = chatPeer { + if let chatPeer = chatPeer as? TelegramSecretChat { + peer = transaction.getPeer(chatPeer.regularPeerId) + } else { + peer = chatPeer + } + } + if !isSavedMessages, let peer = peer as? TelegramUser { + if !transaction.isPeerContact(peerId: peer.id) { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_AddToContacts, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/AddUser"), color: theme.contextMenu.primaryColor) }, action: { _, f in + context.sharedContext.openAddPersonContact(context: context, peerId: peerId, present: { controller, arguments in + if let chatListController = chatListController { + chatListController.present(controller, in: .window(.root), with: arguments) + } + }) + f(.default) + }))) + items.append(.separator) + } + } + + if case .chatList = source, !isSavedMessages { + if let readState = transaction.getCombinedPeerReadState(peerId), readState.isUnread { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_MarkAsRead, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/MarkAsRead"), color: theme.contextMenu.primaryColor) }, action: { _, f in + let _ = togglePeerUnreadMarkInteractively(postbox: context.account.postbox, viewTracker: context.account.viewTracker, peerId: peerId).start() + f(.default) + }))) + } else { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_MarkAsUnread, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/MarkAsUnread"), color: theme.contextMenu.primaryColor) }, action: { _, f in + let _ = togglePeerUnreadMarkInteractively(postbox: context.account.postbox, viewTracker: context.account.viewTracker, peerId: peerId).start() + f(.default) + }))) + } + } + + let groupAndIndex = transaction.getPeerChatListIndex(peerId) + + if let (group, index) = groupAndIndex { + if !isSavedMessages { + let isArchived = group == Namespaces.PeerGroup.archive + items.append(.action(ContextMenuActionItem(text: isArchived ? strings.ChatList_Context_Archive : strings.ChatList_Context_Unarchive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: isArchived ? "Chat/Context Menu/Unarchive" : "Chat/Context Menu/Archive"), color: theme.contextMenu.primaryColor) }, action: { _, f in + if isArchived { + let _ = (context.account.postbox.transaction { transaction -> Void in + updatePeerGroupIdInteractively(transaction: transaction, peerId: peerId, groupId: .root) + } + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + } else { + if let chatListController = chatListController { + chatListController.archiveChats(peerIds: [peerId]) + f(.default) + } else { + let _ = (context.account.postbox.transaction { transaction -> Void in + updatePeerGroupIdInteractively(transaction: transaction, peerId: peerId, groupId: Namespaces.PeerGroup.archive) + } + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + } + } + }))) + } + + let isPinned = index.pinningIndex != nil + items.append(.action(ContextMenuActionItem(text: isPinned ? strings.ChatList_Context_Unpin : strings.ChatList_Context_Pin, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: isPinned ? "Chat/Context Menu/Unpin" : "Chat/Context Menu/Pin"), color: theme.contextMenu.primaryColor) }, action: { _, f in + let _ = (toggleItemPinned(postbox: context.account.postbox, groupId: group, itemId: .peer(peerId)) + |> deliverOnMainQueue).start(next: { result in + switch result { + case .done: + break + case let .limitExceeded(maxCount): + break + //strongSelf.presentAlert?(strongSelf.currentState.presentationData.strings.DialogList_PinLimitError("\(maxCount)").0) + } + f(.default) + }) + }))) + + if !isSavedMessages, let notificationSettings = transaction.getPeerNotificationSettings(peerId) as? TelegramPeerNotificationSettings { + var isMuted = false + if case .muted = notificationSettings.muteState { + isMuted = true + } + items.append(.action(ContextMenuActionItem(text: isMuted ? strings.ChatList_Context_Unmute : strings.ChatList_Context_Mute, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: isMuted ? "Chat/Context Menu/Unmute" : "Chat/Context Menu/Muted"), color: theme.contextMenu.primaryColor) }, action: { _, f in + let _ = (togglePeerMuted(account: context.account, peerId: peerId) + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + }))) + } + } else { + if case .search = source { + if let channel = peer as? TelegramChannel { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_JoinChannel, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Add"), color: theme.contextMenu.primaryColor) }, action: { _, f in + var createSignal = joinChannel(account: context.account, peerId: peerId) + var cancelImpl: (() -> Void)? + let progressSignal = Signal { subscriber in + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let controller = OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .loading(cancelled: { + cancelImpl?() + })) + chatListController?.present(controller, in: .window(.root)) + return ActionDisposable { [weak controller] in + Queue.mainQueue().async() { + controller?.dismiss() + } + } + } + |> runOn(Queue.mainQueue()) + |> delay(0.15, queue: Queue.mainQueue()) + let progressDisposable = progressSignal.start() + + createSignal = createSignal + |> afterDisposed { + Queue.mainQueue().async { + progressDisposable.dispose() + } + } + let joinChannelDisposable = MetaDisposable() + cancelImpl = { + joinChannelDisposable.set(nil) + } + + joinChannelDisposable.set((createSignal + |> deliverOnMainQueue).start(next: { _ in + if let navigationController = (chatListController?.navigationController as? NavigationController) { + context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: context, chatLocation: .peer(peerId))) + } + }, error: { _ in + if let chatListController = chatListController { + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + chatListController.present(textAlertController(context: context, title: nil, text: presentationData.strings.Login_UnknownError, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: {})]), in: .window(.root)) + } + })) + f(.default) + }))) + } + } + } + + if case .chatList = source, groupAndIndex != nil { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_Delete, textColor: .destructive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Delete"), color: theme.contextMenu.destructiveColor) }, action: { _, f in + if let chatListController = chatListController { + chatListController.deletePeerChat(peerId: peerId) + } + f(.default) + }))) + } + + return items + } +} diff --git a/submodules/ChatListUI/Sources/ChatListController.swift b/submodules/ChatListUI/Sources/ChatListController.swift index ecdd070956..ce97d0e0b7 100644 --- a/submodules/ChatListUI/Sources/ChatListController.swift +++ b/submodules/ChatListUI/Sources/ChatListController.swift @@ -16,6 +16,7 @@ import SearchUI import DeleteChatPeerActionSheetItem import LanguageSuggestionUI import ContextUI +import AppBundle public func useSpecialTabBarIcons() -> Bool { return (Date(timeIntervalSince1970: 1545642000)...Date(timeIntervalSince1970: 1546387200)).contains(Date()) @@ -378,19 +379,6 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, preconditionFailure("debug tap") } } - - self.customPresentPreviewingController = { [weak self] controller, sourceNode in - guard let strongSelf = self else { - return nil - } - var items: [ContextMenuItem] = [] - for i in 0 ..< 5 { - items.append(.action(ContextMenuActionItem(text: "Item \(i)", icon: { _ in nil }, action: { controller, f in - f(.default) - }))) - } - return ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: controller, sourceNode: sourceNode)), items: items, reactionItems: []) - } } required public init(coder aDecoder: NSCoder) { @@ -476,240 +464,14 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, guard let strongSelf = self else { return } - let _ = (strongSelf.context.account.postbox.transaction { transaction -> Bool in - var updatedValue = false - updateChatArchiveSettings(transaction: transaction, { settings in - var settings = settings - settings.isHiddenByDefault = !settings.isHiddenByDefault - updatedValue = settings.isHiddenByDefault - return settings - }) - return updatedValue - } - |> deliverOnMainQueue).start(next: { value in - guard let strongSelf = self else { - return - } - strongSelf.chatListDisplayNode.chatListNode.updateState { state in - var state = state - if value { - state.archiveShouldBeTemporaryRevealed = false - } - state.peerIdWithRevealedOptions = nil - return state - } - strongSelf.forEachController({ controller in - if let controller = controller as? UndoOverlayController { - controller.dismissWithCommitActionAndReplacementAnimation() - } - return true - }) - - if value { - strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .hidArchive(title: strongSelf.presentationData.strings.ChatList_UndoArchiveHiddenTitle, text: strongSelf.presentationData.strings.ChatList_UndoArchiveHiddenText, undo: false), elevatedLayout: false, animateInAsReplacement: true, action: { [weak self] shouldCommit in - guard let strongSelf = self else { - return - } - if !shouldCommit { - let _ = (strongSelf.context.account.postbox.transaction { transaction -> Bool in - var updatedValue = false - updateChatArchiveSettings(transaction: transaction, { settings in - var settings = settings - settings.isHiddenByDefault = false - updatedValue = settings.isHiddenByDefault - return settings - }) - return updatedValue - }).start() - } - }), in: .current) - } else { - strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .revealedArchive(title: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedTitle, text: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedText, undo: false), elevatedLayout: false, animateInAsReplacement: true, action: { _ in - }), in: .current) - } - }) + strongSelf.toggleArchivedFolderHiddenByDefault() } self.chatListDisplayNode.chatListNode.deletePeerChat = { [weak self] peerId in guard let strongSelf = self else { return } - let _ = (strongSelf.context.account.postbox.transaction { transaction -> RenderedPeer? in - guard let peer = transaction.getPeer(peerId) else { - return nil - } - if let associatedPeerId = peer.associatedPeerId { - if let associatedPeer = transaction.getPeer(associatedPeerId) { - return RenderedPeer(peerId: peerId, peers: SimpleDictionary([peer.id: peer, associatedPeer.id: associatedPeer])) - } else { - return nil - } - } else { - return RenderedPeer(peer: peer) - } - } - |> deliverOnMainQueue).start(next: { peer in - guard let strongSelf = self, let peer = peer, let chatPeer = peer.peers[peer.peerId], let mainPeer = peer.chatMainPeer else { - return - } - - var canRemoveGlobally = false - let limitsConfiguration = strongSelf.context.currentLimitsConfiguration.with { $0 } - if peer.peerId.namespace == Namespaces.Peer.CloudUser && peer.peerId != strongSelf.context.account.peerId { - if limitsConfiguration.maxMessageRevokeIntervalInPrivateChats == LimitsConfiguration.timeIntervalForever { - canRemoveGlobally = true - } - } - - if let user = chatPeer as? TelegramUser, user.botInfo == nil, canRemoveGlobally { - strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in }, removed: {}) - } else { - let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme) - var items: [ActionSheetItem] = [] - var canClear = true - var canStop = false - - var deleteTitle = strongSelf.presentationData.strings.Common_Delete - if let channel = chatPeer as? TelegramChannel { - if case .broadcast = channel.info { - canClear = false - deleteTitle = strongSelf.presentationData.strings.Channel_LeaveChannel - } else { - deleteTitle = strongSelf.presentationData.strings.Group_LeaveGroup - } - if let addressName = channel.addressName, !addressName.isEmpty { - canClear = false - } - } else if let user = chatPeer as? TelegramUser, user.botInfo != nil { - canStop = !user.flags.contains(.isSupport) - canClear = user.botInfo == nil - deleteTitle = strongSelf.presentationData.strings.ChatList_DeleteChat - } else if let _ = chatPeer as? TelegramSecretChat { - deleteTitle = strongSelf.presentationData.strings.ChatList_DeleteChat - } - - var canRemoveGlobally = false - let limitsConfiguration = strongSelf.context.currentLimitsConfiguration.with { $0 } - if chatPeer is TelegramUser && chatPeer.id != strongSelf.context.account.peerId { - if limitsConfiguration.maxMessageRevokeIntervalInPrivateChats == LimitsConfiguration.timeIntervalForever { - canRemoveGlobally = true - } - } - - items.append(DeleteChatPeerActionSheetItem(context: strongSelf.context, peer: mainPeer, chatPeer: chatPeer, action: .delete, strings: strongSelf.presentationData.strings)) - if canClear { - items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.DialogList_ClearHistoryConfirmation, color: .accent, action: { [weak actionSheet] in - actionSheet?.dismissAnimated() - - guard let strongSelf = self else { - return - } - - let beginClear: (InteractiveHistoryClearingType) -> Void = { type in - guard let strongSelf = self else { - return - } - strongSelf.chatListDisplayNode.chatListNode.updateState({ state in - var state = state - state.pendingClearHistoryPeerIds.insert(peer.peerId) - return state - }) - strongSelf.forEachController({ controller in - if let controller = controller as? UndoOverlayController { - controller.dismissWithCommitActionAndReplacementAnimation() - } - return true - }) - - strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .removedChat(text: strongSelf.presentationData.strings.Undo_ChatCleared), elevatedLayout: false, animateInAsReplacement: true, action: { shouldCommit in - guard let strongSelf = self else { - return - } - if shouldCommit { - let _ = clearHistoryInteractively(postbox: strongSelf.context.account.postbox, peerId: peerId, type: type).start(completed: { - guard let strongSelf = self else { - return - } - strongSelf.chatListDisplayNode.chatListNode.updateState({ state in - var state = state - state.pendingClearHistoryPeerIds.remove(peer.peerId) - return state - }) - }) - } else { - strongSelf.chatListDisplayNode.chatListNode.updateState({ state in - var state = state - state.pendingClearHistoryPeerIds.remove(peer.peerId) - return state - }) - } - }), in: .current) - } - - if canRemoveGlobally { - let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme) - var items: [ActionSheetItem] = [] - - items.append(DeleteChatPeerActionSheetItem(context: strongSelf.context, peer: mainPeer, chatPeer: chatPeer, action: .clearHistory, strings: strongSelf.presentationData.strings)) - items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.ChatList_DeleteForEveryone(mainPeer.compactDisplayTitle).0, color: .destructive, action: { [weak actionSheet] in - beginClear(.forEveryone) - actionSheet?.dismissAnimated() - })) - items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.ChatList_DeleteForCurrentUser, color: .destructive, action: { [weak actionSheet] in - beginClear(.forLocalPeer) - actionSheet?.dismissAnimated() - })) - - actionSheet.setItemGroups([ - ActionSheetItemGroup(items: items), - ActionSheetItemGroup(items: [ - ActionSheetButtonItem(title: strongSelf.presentationData.strings.Common_Cancel, color: .accent, action: { [weak actionSheet] in - actionSheet?.dismissAnimated() - }) - ]) - ]) - strongSelf.present(actionSheet, in: .window(.root)) - } else { - beginClear(.forLocalPeer) - } - })) - } - - items.append(ActionSheetButtonItem(title: deleteTitle, color: .destructive, action: { [weak actionSheet] in - actionSheet?.dismissAnimated() - guard let strongSelf = self else { - return - } - - strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in }, removed: {}) - })) - - if canStop { - items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.DialogList_DeleteBotConversationConfirmation, color: .destructive, action: { [weak actionSheet] in - actionSheet?.dismissAnimated() - - if let strongSelf = self { - strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in - }, removed: { - guard let strongSelf = self else { - return - } - let _ = requestUpdatePeerIsBlocked(account: strongSelf.context.account, peerId: peer.peerId, isBlocked: true).start() - }) - } - })) - } - - actionSheet.setItemGroups([ActionSheetItemGroup(items: items), - ActionSheetItemGroup(items: [ - ActionSheetButtonItem(title: strongSelf.presentationData.strings.Common_Cancel, color: .accent, action: { [weak actionSheet] in - actionSheet?.dismissAnimated() - }) - ]) - ]) - strongSelf.present(actionSheet, in: .window(.root)) - } - }) + strongSelf.deletePeerChat(peerId: peerId) } self.chatListDisplayNode.chatListNode.peerSelected = { [weak self] peerId, animated, isAd in @@ -894,6 +656,36 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, self?.toolbarActionSelected(action: action) } + self.chatListDisplayNode.chatListNode.activateChatPreview = { [weak self] item, node, gesture in + guard let strongSelf = self else { + gesture?.cancel() + return + } + switch item.content { + case let .groupReference(groupReference): + let chatListController = ChatListControllerImpl(context: strongSelf.context, groupId: groupReference.groupId, controlsHistoryPreload: false, enableDebugActions: false) + let contextController = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: chatListController, sourceNode: node)), items: archiveContextMenuItems(context: strongSelf.context, groupId: groupReference.groupId, chatListController: strongSelf), reactionItems: [], gesture: gesture) + strongSelf.presentInGlobalOverlay(contextController) + case let .peer(peer): + let chatController = strongSelf.context.sharedContext.makeChatController(context: strongSelf.context, chatLocation: .peer(peer.peer.peerId), subject: nil, botStart: nil, mode: .standard(previewing: true)) + chatController.canReadHistory.set(false) + let contextController = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: chatController, sourceNode: node)), items: chatContextMenuItems(context: strongSelf.context, peerId: peer.peer.peerId, source: .chatList, chatListController: strongSelf), reactionItems: [], gesture: gesture) + strongSelf.presentInGlobalOverlay(contextController) + } + } + + self.chatListDisplayNode.peerContextAction = { [weak self] peer, source, node, gesture in + guard let strongSelf = self else { + gesture?.cancel() + return + } + + let chatController = strongSelf.context.sharedContext.makeChatController(context: strongSelf.context, chatLocation: .peer(peer.id), subject: nil, botStart: nil, mode: .standard(previewing: true)) + chatController.canReadHistory.set(false) + let contextController = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: chatController, sourceNode: node)), items: chatContextMenuItems(context: strongSelf.context, peerId: peer.id, source: .search(source), chatListController: strongSelf), reactionItems: [], gesture: gesture) + strongSelf.presentInGlobalOverlay(contextController) + } + let context = self.context let peerIdsAndOptions: Signal<(ChatListSelectionOptions, Set)?, NoError> = self.chatListDisplayNode.chatListNode.state |> map { state -> Set? in @@ -985,7 +777,7 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { if !self.didSetup3dTouch && self.traitCollection.forceTouchCapability != .unknown { self.didSetup3dTouch = true - self.registerForPreviewingNonNative(with: self, sourceView: self.view, theme: PeekControllerTheme(presentationTheme: self.presentationData.theme)) + //self.registerForPreviewingNonNative(with: self, sourceView: self.view, theme: PeekControllerTheme(presentationTheme: self.presentationData.theme)) } } } @@ -1107,7 +899,7 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { if !self.didSetup3dTouch { self.didSetup3dTouch = true - self.registerForPreviewingNonNative(with: self, sourceView: self.view, theme: PeekControllerTheme(presentationTheme: self.presentationData.theme)) + //self.registerForPreviewingNonNative(with: self, sourceView: self.view, theme: PeekControllerTheme(presentationTheme: self.presentationData.theme)) } } } @@ -1489,6 +1281,240 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, } } + func toggleArchivedFolderHiddenByDefault() { + let _ = (self.context.account.postbox.transaction { transaction -> Bool in + var updatedValue = false + updateChatArchiveSettings(transaction: transaction, { settings in + var settings = settings + settings.isHiddenByDefault = !settings.isHiddenByDefault + updatedValue = settings.isHiddenByDefault + return settings + }) + return updatedValue + } + |> deliverOnMainQueue).start(next: { [weak self] value in + guard let strongSelf = self else { + return + } + strongSelf.chatListDisplayNode.chatListNode.updateState { state in + var state = state + if value { + state.archiveShouldBeTemporaryRevealed = false + } + state.peerIdWithRevealedOptions = nil + return state + } + strongSelf.forEachController({ controller in + if let controller = controller as? UndoOverlayController { + controller.dismissWithCommitActionAndReplacementAnimation() + } + return true + }) + + if value { + strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .hidArchive(title: strongSelf.presentationData.strings.ChatList_UndoArchiveHiddenTitle, text: strongSelf.presentationData.strings.ChatList_UndoArchiveHiddenText, undo: false), elevatedLayout: false, animateInAsReplacement: true, action: { [weak self] shouldCommit in + guard let strongSelf = self else { + return + } + if !shouldCommit { + let _ = (strongSelf.context.account.postbox.transaction { transaction -> Bool in + var updatedValue = false + updateChatArchiveSettings(transaction: transaction, { settings in + var settings = settings + settings.isHiddenByDefault = false + updatedValue = settings.isHiddenByDefault + return settings + }) + return updatedValue + }).start() + } + }), in: .current) + } else { + strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .revealedArchive(title: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedTitle, text: strongSelf.presentationData.strings.ChatList_UndoArchiveRevealedText, undo: false), elevatedLayout: false, animateInAsReplacement: true, action: { _ in + }), in: .current) + } + }) + } + + func deletePeerChat(peerId: PeerId) { + let _ = (self.context.account.postbox.transaction { transaction -> RenderedPeer? in + guard let peer = transaction.getPeer(peerId) else { + return nil + } + if let associatedPeerId = peer.associatedPeerId { + if let associatedPeer = transaction.getPeer(associatedPeerId) { + return RenderedPeer(peerId: peerId, peers: SimpleDictionary([peer.id: peer, associatedPeer.id: associatedPeer])) + } else { + return nil + } + } else { + return RenderedPeer(peer: peer) + } + } + |> deliverOnMainQueue).start(next: { [weak self] peer in + guard let strongSelf = self, let peer = peer, let chatPeer = peer.peers[peer.peerId], let mainPeer = peer.chatMainPeer else { + return + } + + var canRemoveGlobally = false + let limitsConfiguration = strongSelf.context.currentLimitsConfiguration.with { $0 } + if peer.peerId.namespace == Namespaces.Peer.CloudUser && peer.peerId != strongSelf.context.account.peerId { + if limitsConfiguration.maxMessageRevokeIntervalInPrivateChats == LimitsConfiguration.timeIntervalForever { + canRemoveGlobally = true + } + } + + if let user = chatPeer as? TelegramUser, user.botInfo == nil, canRemoveGlobally { + strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in }, removed: {}) + } else { + let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme) + var items: [ActionSheetItem] = [] + var canClear = true + var canStop = false + + var deleteTitle = strongSelf.presentationData.strings.Common_Delete + if let channel = chatPeer as? TelegramChannel { + if case .broadcast = channel.info { + canClear = false + deleteTitle = strongSelf.presentationData.strings.Channel_LeaveChannel + } else { + deleteTitle = strongSelf.presentationData.strings.Group_LeaveGroup + } + if let addressName = channel.addressName, !addressName.isEmpty { + canClear = false + } + } else if let user = chatPeer as? TelegramUser, user.botInfo != nil { + canStop = !user.flags.contains(.isSupport) + canClear = user.botInfo == nil + deleteTitle = strongSelf.presentationData.strings.ChatList_DeleteChat + } else if let _ = chatPeer as? TelegramSecretChat { + deleteTitle = strongSelf.presentationData.strings.ChatList_DeleteChat + } + + var canRemoveGlobally = false + let limitsConfiguration = strongSelf.context.currentLimitsConfiguration.with { $0 } + if chatPeer is TelegramUser && chatPeer.id != strongSelf.context.account.peerId { + if limitsConfiguration.maxMessageRevokeIntervalInPrivateChats == LimitsConfiguration.timeIntervalForever { + canRemoveGlobally = true + } + } + + items.append(DeleteChatPeerActionSheetItem(context: strongSelf.context, peer: mainPeer, chatPeer: chatPeer, action: .delete, strings: strongSelf.presentationData.strings)) + if canClear { + items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.DialogList_ClearHistoryConfirmation, color: .accent, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + + guard let strongSelf = self else { + return + } + + let beginClear: (InteractiveHistoryClearingType) -> Void = { type in + guard let strongSelf = self else { + return + } + strongSelf.chatListDisplayNode.chatListNode.updateState({ state in + var state = state + state.pendingClearHistoryPeerIds.insert(peer.peerId) + return state + }) + strongSelf.forEachController({ controller in + if let controller = controller as? UndoOverlayController { + controller.dismissWithCommitActionAndReplacementAnimation() + } + return true + }) + + strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .removedChat(text: strongSelf.presentationData.strings.Undo_ChatCleared), elevatedLayout: false, animateInAsReplacement: true, action: { shouldCommit in + guard let strongSelf = self else { + return + } + if shouldCommit { + let _ = clearHistoryInteractively(postbox: strongSelf.context.account.postbox, peerId: peerId, type: type).start(completed: { + guard let strongSelf = self else { + return + } + strongSelf.chatListDisplayNode.chatListNode.updateState({ state in + var state = state + state.pendingClearHistoryPeerIds.remove(peer.peerId) + return state + }) + }) + } else { + strongSelf.chatListDisplayNode.chatListNode.updateState({ state in + var state = state + state.pendingClearHistoryPeerIds.remove(peer.peerId) + return state + }) + } + }), in: .current) + } + + if canRemoveGlobally { + let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme) + var items: [ActionSheetItem] = [] + + items.append(DeleteChatPeerActionSheetItem(context: strongSelf.context, peer: mainPeer, chatPeer: chatPeer, action: .clearHistory, strings: strongSelf.presentationData.strings)) + items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.ChatList_DeleteForEveryone(mainPeer.compactDisplayTitle).0, color: .destructive, action: { [weak actionSheet] in + beginClear(.forEveryone) + actionSheet?.dismissAnimated() + })) + items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.ChatList_DeleteForCurrentUser, color: .destructive, action: { [weak actionSheet] in + beginClear(.forLocalPeer) + actionSheet?.dismissAnimated() + })) + + actionSheet.setItemGroups([ + ActionSheetItemGroup(items: items), + ActionSheetItemGroup(items: [ + ActionSheetButtonItem(title: strongSelf.presentationData.strings.Common_Cancel, color: .accent, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + }) + ]) + ]) + strongSelf.present(actionSheet, in: .window(.root)) + } else { + beginClear(.forLocalPeer) + } + })) + } + + items.append(ActionSheetButtonItem(title: deleteTitle, color: .destructive, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + guard let strongSelf = self else { + return + } + + strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in }, removed: {}) + })) + + if canStop { + items.append(ActionSheetButtonItem(title: strongSelf.presentationData.strings.DialogList_DeleteBotConversationConfirmation, color: .destructive, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + + if let strongSelf = self { + strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in + }, removed: { + guard let strongSelf = self else { + return + } + let _ = requestUpdatePeerIsBlocked(account: strongSelf.context.account, peerId: peer.peerId, isBlocked: true).start() + }) + } + })) + } + + actionSheet.setItemGroups([ActionSheetItemGroup(items: items), + ActionSheetItemGroup(items: [ + ActionSheetButtonItem(title: strongSelf.presentationData.strings.Common_Cancel, color: .accent, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + }) + ]) + ]) + strongSelf.present(actionSheet, in: .window(.root)) + } + }) + } + public func maybeAskForPeerChatRemoval(peer: RenderedPeer, deleteGloballyIfPossible: Bool = false, completion: @escaping (Bool) -> Void, removed: @escaping () -> Void) { guard let chatPeer = peer.peers[peer.peerId], let mainPeer = peer.chatMainPeer else { completion(false) @@ -1543,7 +1569,7 @@ public class ChatListControllerImpl: TelegramBaseController, ChatListController, } } - private func archiveChats(peerIds: [PeerId]) { + func archiveChats(peerIds: [PeerId]) { guard !peerIds.isEmpty else { return } diff --git a/submodules/ChatListUI/Sources/ChatListControllerNode.swift b/submodules/ChatListUI/Sources/ChatListControllerNode.swift index 348cbd8b6b..082ef5cb8f 100644 --- a/submodules/ChatListUI/Sources/ChatListControllerNode.swift +++ b/submodules/ChatListUI/Sources/ChatListControllerNode.swift @@ -11,6 +11,7 @@ import ActivityIndicator import AccountContext import SearchBarNode import SearchUI +import ContextUI private final class ChatListControllerNodeView: UITracingLayerView, PreviewingHostView { var previewingDelegate: PreviewingHostViewDelegate? { @@ -64,6 +65,7 @@ final class ChatListControllerNode: ASDisplayNode { var requestOpenRecentPeerOptions: ((Peer) -> Void)? var requestOpenMessageFromSearch: ((Peer, MessageId) -> Void)? var requestAddContact: ((String) -> Void)? + var peerContextAction: ((Peer, ChatListSearchContextActionSource, ASDisplayNode, ContextGesture?) -> Void)? var dismissSelf: (() -> Void)? var isEmptyUpdated: ((Bool) -> Void)? @@ -272,7 +274,7 @@ final class ChatListControllerNode: ASDisplayNode { if let requestAddContact = self?.requestAddContact { requestAddContact(phoneNumber) } - }), cancel: { [weak self] in + }, peerContextAction: self.peerContextAction), cancel: { [weak self] in if let requestDeactivateSearch = self?.requestDeactivateSearch { requestDeactivateSearch() } diff --git a/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift b/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift index 31b9d455d2..3130901306 100644 --- a/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift +++ b/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift @@ -13,6 +13,7 @@ import SearchUI import ContactsPeerItem import ChatListSearchItemHeader import ContactListUI +import ContextUI private enum ChatListRecentEntryStableId: Hashable { case topPeers @@ -77,7 +78,7 @@ private enum ChatListRecentEntry: Comparable, Identifiable { } } - func item(context: AccountContext, filter: ChatListNodePeersFilter, peerSelected: @escaping (Peer) -> Void, peerLongTapped: @escaping (Peer) -> Void, clearRecentlySearchedPeers: @escaping () -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, deletePeer: @escaping (PeerId) -> Void) -> ListViewItem { + func item(context: AccountContext, filter: ChatListNodePeersFilter, peerSelected: @escaping (Peer) -> Void, peerLongTapped: @escaping (Peer) -> Void, peerContextAction: ((Peer, ChatListSearchContextActionSource, ASDisplayNode, ContextGesture?) -> Void)?, clearRecentlySearchedPeers: @escaping () -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, deletePeer: @escaping (PeerId) -> Void) -> ListViewItem { switch self { case let .topPeers(peers, theme, strings): return ChatListRecentPeersListItem(theme: theme, strings: strings, account: context.account, peers: peers, peerSelected: { peer in @@ -173,7 +174,13 @@ private enum ChatListRecentEntry: Comparable, Identifiable { if let chatPeer = peer.peer.peers[peer.peer.peerId] { peerSelected(chatPeer) } - }, setPeerIdWithRevealedOptions: setPeerIdWithRevealedOptions, deletePeer: deletePeer) + }, setPeerIdWithRevealedOptions: setPeerIdWithRevealedOptions, deletePeer: deletePeer, contextAction: peerContextAction.flatMap { peerContextAction in + return { node, gesture in + if let chatPeer = peer.peer.peers[peer.peer.peerId] { + peerContextAction(chatPeer, .recentSearch, node, gesture) + } + } + }) } } } @@ -316,7 +323,7 @@ public enum ChatListSearchEntry: Comparable, Identifiable { } } - public func item(context: AccountContext, enableHeaders: Bool, filter: ChatListNodePeersFilter, interaction: ChatListNodeInteraction) -> ListViewItem { + public func item(context: AccountContext, enableHeaders: Bool, filter: ChatListNodePeersFilter, interaction: ChatListNodeInteraction, peerContextAction: ((Peer, ChatListSearchContextActionSource, ASDisplayNode, ContextGesture?) -> Void)?) -> ListViewItem { switch self { case let .localPeer(peer, associatedPeer, unreadBadge, _, theme, strings, nameSortOrder, nameDisplayOrder): let primaryPeer: Peer @@ -372,6 +379,14 @@ public enum ChatListSearchEntry: Comparable, Identifiable { return ContactsPeerItem(theme: theme, strings: strings, sortOrder: nameSortOrder, displayOrder: nameDisplayOrder, account: context.account, peerMode: .generalSearch, peer: .peer(peer: primaryPeer, chatPeer: chatPeer), status: .none, badge: badge, enabled: enabled, selection: .none, editing: ContactsPeerItemEditing(editable: false, editing: false, revealed: false), index: nil, header: header, action: { _ in interaction.peerSelected(peer) + }, contextAction: peerContextAction.flatMap { peerContextAction in + return { node, gesture in + if let chatPeer = chatPeer { + peerContextAction(chatPeer, .search, node, gesture) + } else { + gesture?.cancel() + } + } }) case let .globalPeer(peer, unreadBadge, _, theme, strings, nameSortOrder, nameDisplayOrder): var enabled = true @@ -416,6 +431,10 @@ public enum ChatListSearchEntry: Comparable, Identifiable { return ContactsPeerItem(theme: theme, strings: strings, sortOrder: nameSortOrder, displayOrder: nameDisplayOrder, account: context.account, peerMode: .generalSearch, peer: .peer(peer: peer.peer, chatPeer: peer.peer), status: .addressName(suffixString), badge: badge, enabled: enabled, selection: .none, editing: ContactsPeerItemEditing(editable: false, editing: false, revealed: false), index: nil, header: header, action: { _ in interaction.peerSelected(peer.peer) + }, contextAction: peerContextAction.flatMap { peerContextAction in + return { node, gesture in + peerContextAction(peer.peer, .search, node, gesture) + } }) case let .message(message, peer, readState, presentationData): return ChatListItem(presentationData: presentationData, context: context, peerGroupId: .root, index: ChatListIndex(pinningIndex: nil, messageIndex: message.index), content: .peer(message: message, peer: peer, combinedReadState: readState, notificationSettings: nil, presence: nil, summaryInfo: ChatListMessageTagSummaryInfo(), embeddedState: nil, inputActivities: nil, isAd: false, ignoreUnreadBadge: true), editing: false, hasActiveRevealControls: false, selected: false, header: enableHeaders ? ChatListSearchItemHeader(type: .messages, theme: presentationData.theme, strings: presentationData.strings, actionTitle: nil, action: nil) : nil, enableContextActions: false, hiddenOffset: false, interaction: interaction) @@ -447,22 +466,22 @@ public struct ChatListSearchContainerTransition { } } -private func chatListSearchContainerPreparedRecentTransition(from fromEntries: [ChatListRecentEntry], to toEntries: [ChatListRecentEntry], context: AccountContext, filter: ChatListNodePeersFilter, peerSelected: @escaping (Peer) -> Void, peerLongTapped: @escaping (Peer) -> Void, clearRecentlySearchedPeers: @escaping () -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, deletePeer: @escaping (PeerId) -> Void) -> ChatListSearchContainerRecentTransition { +private func chatListSearchContainerPreparedRecentTransition(from fromEntries: [ChatListRecentEntry], to toEntries: [ChatListRecentEntry], context: AccountContext, filter: ChatListNodePeersFilter, peerSelected: @escaping (Peer) -> Void, peerLongTapped: @escaping (Peer) -> Void, peerContextAction: ((Peer, ChatListSearchContextActionSource, ASDisplayNode, ContextGesture?) -> Void)?, clearRecentlySearchedPeers: @escaping () -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, deletePeer: @escaping (PeerId) -> Void) -> ChatListSearchContainerRecentTransition { let (deleteIndices, indicesAndItems, updateIndices) = mergeListsStableWithUpdates(leftList: fromEntries, rightList: toEntries) let deletions = deleteIndices.map { ListViewDeleteItem(index: $0, directionHint: nil) } - let insertions = indicesAndItems.map { ListViewInsertItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, filter: filter, peerSelected: peerSelected, peerLongTapped: peerLongTapped, clearRecentlySearchedPeers: clearRecentlySearchedPeers, setPeerIdWithRevealedOptions: setPeerIdWithRevealedOptions, deletePeer: deletePeer), directionHint: nil) } - let updates = updateIndices.map { ListViewUpdateItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, filter: filter, peerSelected: peerSelected, peerLongTapped: peerLongTapped, clearRecentlySearchedPeers: clearRecentlySearchedPeers, setPeerIdWithRevealedOptions: setPeerIdWithRevealedOptions, deletePeer: deletePeer), directionHint: nil) } + let insertions = indicesAndItems.map { ListViewInsertItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, filter: filter, peerSelected: peerSelected, peerLongTapped: peerLongTapped, peerContextAction: peerContextAction, clearRecentlySearchedPeers: clearRecentlySearchedPeers, setPeerIdWithRevealedOptions: setPeerIdWithRevealedOptions, deletePeer: deletePeer), directionHint: nil) } + let updates = updateIndices.map { ListViewUpdateItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, filter: filter, peerSelected: peerSelected, peerLongTapped: peerLongTapped, peerContextAction: peerContextAction, clearRecentlySearchedPeers: clearRecentlySearchedPeers, setPeerIdWithRevealedOptions: setPeerIdWithRevealedOptions, deletePeer: deletePeer), directionHint: nil) } return ChatListSearchContainerRecentTransition(deletions: deletions, insertions: insertions, updates: updates) } -public func chatListSearchContainerPreparedTransition(from fromEntries: [ChatListSearchEntry], to toEntries: [ChatListSearchEntry], displayingResults: Bool, context: AccountContext, enableHeaders: Bool, filter: ChatListNodePeersFilter, interaction: ChatListNodeInteraction) -> ChatListSearchContainerTransition { +public func chatListSearchContainerPreparedTransition(from fromEntries: [ChatListSearchEntry], to toEntries: [ChatListSearchEntry], displayingResults: Bool, context: AccountContext, enableHeaders: Bool, filter: ChatListNodePeersFilter, interaction: ChatListNodeInteraction, peerContextAction: ((Peer, ChatListSearchContextActionSource, ASDisplayNode, ContextGesture?) -> Void)?) -> ChatListSearchContainerTransition { let (deleteIndices, indicesAndItems, updateIndices) = mergeListsStableWithUpdates(leftList: fromEntries, rightList: toEntries) let deletions = deleteIndices.map { ListViewDeleteItem(index: $0, directionHint: nil) } - let insertions = indicesAndItems.map { ListViewInsertItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, enableHeaders: enableHeaders, filter: filter, interaction: interaction), directionHint: nil) } - let updates = updateIndices.map { ListViewUpdateItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, enableHeaders: enableHeaders, filter: filter, interaction: interaction), directionHint: nil) } + let insertions = indicesAndItems.map { ListViewInsertItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, enableHeaders: enableHeaders, filter: filter, interaction: interaction, peerContextAction: peerContextAction), directionHint: nil) } + let updates = updateIndices.map { ListViewUpdateItem(index: $0.0, previousIndex: $0.2, item: $0.1.item(context: context, enableHeaders: enableHeaders, filter: filter, interaction: interaction, peerContextAction: peerContextAction), directionHint: nil) } return ChatListSearchContainerTransition(deletions: deletions, insertions: insertions, updates: updates, displayingResults: displayingResults) } @@ -517,6 +536,12 @@ private struct ChatListSearchMessagesContext { let loadMoreIndex: MessageIndex? } +public enum ChatListSearchContextActionSource { + case recentPeers + case recentSearch + case search +} + public final class ChatListSearchContainerNode: SearchDisplayControllerContentNode { private let context: AccountContext @@ -547,7 +572,7 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo private let filter: ChatListNodePeersFilter - public init(context: AccountContext, filter: ChatListNodePeersFilter, groupId: PeerGroupId, openPeer: @escaping (Peer, Bool) -> Void, openRecentPeerOptions: @escaping (Peer) -> Void, openMessage: @escaping (Peer, MessageId) -> Void, addContact: ((String) -> Void)?) { + public init(context: AccountContext, filter: ChatListNodePeersFilter, groupId: PeerGroupId, openPeer: @escaping (Peer, Bool) -> Void, openRecentPeerOptions: @escaping (Peer) -> Void, openMessage: @escaping (Peer, MessageId) -> Void, addContact: ((String) -> Void)?, peerContextAction: ((Peer, ChatListSearchContextActionSource, ASDisplayNode, ContextGesture?) -> Void)?) { self.context = context self.filter = filter self.dimNode = ASDisplayNode() @@ -847,6 +872,19 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo }, updatePeerGrouping: { _, _ in }, togglePeerMarkedUnread: { _, _ in }, toggleArchivedFolderHiddenByDefault: { + }, activateChatPreview: { item, node, gesture in + guard let peerContextAction = peerContextAction else { + gesture?.cancel() + return + } + switch item.content { + case let .peer(peer): + if let peer = peer.peer.peer { + peerContextAction(peer, .search, node, gesture) + } + case .groupReference: + gesture?.cancel() + } }) let previousRecentItems = Atomic<[ChatListRecentEntry]?>(value: nil) @@ -933,7 +971,8 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo self?.recentListNode.clearHighlightAnimated(true) }, peerLongTapped: { peer in openRecentPeerOptions(peer) - }, clearRecentlySearchedPeers: { + }, peerContextAction: peerContextAction, + clearRecentlySearchedPeers: { self?.clearRecentSearch() }, setPeerIdWithRevealedOptions: { peerId, fromPeerId in interaction.setPeerIdWithRevealedOptions(peerId, fromPeerId) @@ -954,7 +993,7 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo let previousEntries = previousSearchItems.swap(entriesAndFlags?.0) let firstTime = previousEntries == nil - let transition = chatListSearchContainerPreparedTransition(from: previousEntries ?? [], to: entriesAndFlags?.0 ?? [], displayingResults: entriesAndFlags?.0 != nil, context: context, enableHeaders: true, filter: filter, interaction: interaction) + let transition = chatListSearchContainerPreparedTransition(from: previousEntries ?? [], to: entriesAndFlags?.0 ?? [], displayingResults: entriesAndFlags?.0 != nil, context: context, enableHeaders: true, filter: filter, interaction: interaction, peerContextAction: peerContextAction) strongSelf.enqueueTransition(transition, firstTime: firstTime) } })) diff --git a/submodules/ChatListUI/Sources/ChatListTitleProxyNode.swift b/submodules/ChatListUI/Sources/ChatListTitleProxyNode.swift index 645e5dd761..617d4fea7b 100644 --- a/submodules/ChatListUI/Sources/ChatListTitleProxyNode.swift +++ b/submodules/ChatListUI/Sources/ChatListTitleProxyNode.swift @@ -4,6 +4,7 @@ import Display import AsyncDisplayKit import TelegramPresentationData import ActivityIndicator +import AppBundle enum ChatTitleProxyStatus { case connecting diff --git a/submodules/ChatListUI/Sources/FrameworkBundle.swift b/submodules/ChatListUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/ChatListUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/ChatListUI/Sources/Node/ChatListArchiveInfoItem.swift b/submodules/ChatListUI/Sources/Node/ChatListArchiveInfoItem.swift index b6c9defbd5..13e836f1d9 100644 --- a/submodules/ChatListUI/Sources/Node/ChatListArchiveInfoItem.swift +++ b/submodules/ChatListUI/Sources/Node/ChatListArchiveInfoItem.swift @@ -6,6 +6,7 @@ import Display import SwiftSignalKit import TelegramPresentationData import ListSectionHeaderNode +import AppBundle class ChatListArchiveInfoItem: ListViewItem { let theme: PresentationTheme diff --git a/submodules/ChatListUI/Sources/Node/ChatListItem.swift b/submodules/ChatListUI/Sources/Node/ChatListItem.swift index b31dd70383..622f2f6bdd 100644 --- a/submodules/ChatListUI/Sources/Node/ChatListItem.swift +++ b/submodules/ChatListUI/Sources/Node/ChatListItem.swift @@ -15,6 +15,7 @@ import LocalizedPeerData import PeerPresenceStatusManager import PhotoResources import ChatListSearchItemNode +import ContextUI public enum ChatListItemContent { case peer(message: Message?, peer: RenderedPeer, combinedReadState: CombinedPeerReadState?, notificationSettings: PeerNotificationSettings?, presence: PeerPresence?, summaryInfo: ChatListMessageTagSummaryInfo, embeddedState: PeerChatListEmbeddedInterfaceState?, inputActivities: [(Peer, PeerInputActivity)]?, isAd: Bool, ignoreUnreadBadge: Bool) @@ -294,6 +295,8 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { private let backgroundNode: ASDisplayNode private let highlightedBackgroundNode: ASDisplayNode + let contextContainer: ContextControllerSourceNode + let avatarNode: AvatarNode let titleNode: TextNode let authorNode: TextNode @@ -410,6 +413,8 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { self.highlightedBackgroundNode = ASDisplayNode() self.highlightedBackgroundNode.isLayerBacked = true + self.contextContainer = ContextControllerSourceNode() + self.titleNode = TextNode() self.titleNode.isUserInteractionEnabled = false self.titleNode.displaysAsynchronously = true @@ -457,19 +462,22 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { self.addSubnode(self.backgroundNode) self.addSubnode(self.separatorNode) - self.addSubnode(self.avatarNode) - self.addSubnode(self.onlineNode) - self.addSubnode(self.titleNode) - self.addSubnode(self.authorNode) - self.addSubnode(self.textNode) - self.addSubnode(self.contentImageNode) - self.addSubnode(self.dateNode) - self.addSubnode(self.statusNode) - self.addSubnode(self.pinnedIconNode) - self.addSubnode(self.badgeNode) - self.addSubnode(self.mentionBadgeNode) - self.addSubnode(self.mutedIconNode) + self.addSubnode(self.contextContainer) + + self.contextContainer.addSubnode(self.avatarNode) + self.contextContainer.addSubnode(self.onlineNode) + + self.contextContainer.addSubnode(self.titleNode) + self.contextContainer.addSubnode(self.authorNode) + self.contextContainer.addSubnode(self.textNode) + self.contextContainer.addSubnode(self.contentImageNode) + self.contextContainer.addSubnode(self.dateNode) + self.contextContainer.addSubnode(self.statusNode) + self.contextContainer.addSubnode(self.pinnedIconNode) + self.contextContainer.addSubnode(self.badgeNode) + self.contextContainer.addSubnode(self.mentionBadgeNode) + self.contextContainer.addSubnode(self.mutedIconNode) self.peerPresenceManager = PeerPresenceStatusManager(update: { [weak self] in if let strongSelf = self, let layoutParams = strongSelf.layoutParams { @@ -477,6 +485,13 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { let _ = apply(false, false) } }) + + self.contextContainer.activated = { [weak self] gesture in + guard let strongSelf = self, let item = strongSelf.item else { + return + } + item.interaction.activateChatPreview(item, strongSelf, gesture) + } } func setupItem(item: ChatListItem, synchronousLoads: Bool) { @@ -1110,6 +1125,8 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { strongSelf.layoutParams = (item, first, last, firstWithHeader, nextIsPinned, params, countersSize) strongSelf.contentImageMedia = contentImageMedia + strongSelf.contextContainer.frame = CGRect(origin: CGPoint(), size: layout.contentSize) + var dimensions: CGSize? if let contentImageMedia = contentImageMedia as? TelegramMediaImage { dimensions = largestRepresentationForPhoto(contentImageMedia)?.dimensions @@ -1293,7 +1310,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { iconNode.isLayerBacked = true iconNode.displaysAsynchronously = false iconNode.displayWithoutProcessing = true - strongSelf.addSubnode(iconNode) + strongSelf.contextContainer.addSubnode(iconNode) strongSelf.secretIconNode = iconNode } iconNode.image = currentSecretIconImage @@ -1315,7 +1332,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { iconNode.isLayerBacked = true iconNode.displaysAsynchronously = false iconNode.displayWithoutProcessing = true - strongSelf.addSubnode(iconNode) + strongSelf.contextContainer.addSubnode(iconNode) strongSelf.credibilityIconNode = iconNode } iconNode.image = currentCredibilityIconImage @@ -1352,7 +1369,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode { var animateInputActivitiesFrame = false if let inputActivities = inputActivities, !inputActivities.isEmpty { if strongSelf.inputActivitiesNode.supernode == nil { - strongSelf.addSubnode(strongSelf.inputActivitiesNode) + strongSelf.contextContainer.addSubnode(strongSelf.inputActivitiesNode) } else { animateInputActivitiesFrame = true } diff --git a/submodules/ChatListUI/Sources/Node/ChatListNode.swift b/submodules/ChatListUI/Sources/Node/ChatListNode.swift index eb80cc1fb8..8a26d76ba0 100644 --- a/submodules/ChatListUI/Sources/Node/ChatListNode.swift +++ b/submodules/ChatListUI/Sources/Node/ChatListNode.swift @@ -10,6 +10,7 @@ import TelegramUIPreferences import AccountContext import TelegramNotices import ContactsPeerItem +import ContextUI public enum ChatListNodeMode { case chatList @@ -54,10 +55,11 @@ public final class ChatListNodeInteraction { let updatePeerGrouping: (PeerId, Bool) -> Void let togglePeerMarkedUnread: (PeerId, Bool) -> Void let toggleArchivedFolderHiddenByDefault: () -> Void + let activateChatPreview: (ChatListItem, ASDisplayNode, ContextGesture?) -> Void var highlightedChatLocation: ChatListHighlightedLocation? - public init(activateSearch: @escaping () -> Void, peerSelected: @escaping (Peer) -> Void, togglePeerSelected: @escaping (PeerId) -> Void, messageSelected: @escaping (Peer, Message, Bool) -> Void, groupSelected: @escaping (PeerGroupId) -> Void, addContact: @escaping (String) -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, setItemPinned: @escaping (PinnedItemId, Bool) -> Void, setPeerMuted: @escaping (PeerId, Bool) -> Void, deletePeer: @escaping (PeerId) -> Void, updatePeerGrouping: @escaping (PeerId, Bool) -> Void, togglePeerMarkedUnread: @escaping (PeerId, Bool) -> Void, toggleArchivedFolderHiddenByDefault: @escaping () -> Void) { + public init(activateSearch: @escaping () -> Void, peerSelected: @escaping (Peer) -> Void, togglePeerSelected: @escaping (PeerId) -> Void, messageSelected: @escaping (Peer, Message, Bool) -> Void, groupSelected: @escaping (PeerGroupId) -> Void, addContact: @escaping (String) -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, setItemPinned: @escaping (PinnedItemId, Bool) -> Void, setPeerMuted: @escaping (PeerId, Bool) -> Void, deletePeer: @escaping (PeerId) -> Void, updatePeerGrouping: @escaping (PeerId, Bool) -> Void, togglePeerMarkedUnread: @escaping (PeerId, Bool) -> Void, toggleArchivedFolderHiddenByDefault: @escaping () -> Void, activateChatPreview: @escaping (ChatListItem, ASDisplayNode, ContextGesture?) -> Void) { self.activateSearch = activateSearch self.peerSelected = peerSelected self.togglePeerSelected = togglePeerSelected @@ -71,6 +73,7 @@ public final class ChatListNodeInteraction { self.updatePeerGrouping = updatePeerGrouping self.togglePeerMarkedUnread = togglePeerMarkedUnread self.toggleArchivedFolderHiddenByDefault = toggleArchivedFolderHiddenByDefault + self.activateChatPreview = activateChatPreview } } @@ -313,6 +316,7 @@ public final class ChatListNode: ListView { public var updatePeerGrouping: ((PeerId, Bool) -> Void)? public var presentAlert: ((String) -> Void)? public var toggleArchivedFolderHiddenByDefault: (() -> Void)? + public var activateChatPreview: ((ChatListItem, ASDisplayNode, ContextGesture?) -> Void)? private var theme: PresentationTheme @@ -469,6 +473,15 @@ public final class ChatListNode: ListView { }) }, toggleArchivedFolderHiddenByDefault: { [weak self] in self?.toggleArchivedFolderHiddenByDefault?() + }, activateChatPreview: { [weak self] item, node, gesture in + guard let strongSelf = self else { + return + } + if let activateChatPreview = strongSelf.activateChatPreview { + activateChatPreview(item, node, gesture) + } else { + gesture?.cancel() + } }) let viewProcessingQueue = self.viewProcessingQueue diff --git a/submodules/ChatTitleActivityNode/BUCK b/submodules/ChatTitleActivityNode/BUCK new file mode 100644 index 0000000000..f573138541 --- /dev/null +++ b/submodules/ChatTitleActivityNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ChatTitleActivityNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ChatTitleActivityNode/ChatTitleActivityNode.xcodeproj/project.pbxproj b/submodules/ChatTitleActivityNode/ChatTitleActivityNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7962c1c933 --- /dev/null +++ b/submodules/ChatTitleActivityNode/ChatTitleActivityNode.xcodeproj/project.pbxproj @@ -0,0 +1,499 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29AB1EF43B00000000 + + isa + PBXFileReference + name + ChatPlayingActivityContentNode.swift + path + Sources/ChatPlayingActivityContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296668ECAF00000000 + + isa + PBXFileReference + name + ChatRecordingVideoActivityContentNode.swift + path + Sources/ChatRecordingVideoActivityContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E298D3E0BD800000000 + + isa + PBXFileReference + name + ChatRecordingVoiceActivityContentNode.swift + path + Sources/ChatRecordingVoiceActivityContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E295E0D8B5100000000 + + isa + PBXFileReference + name + ChatTitleActivityContentNode.swift + path + Sources/ChatTitleActivityContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2996B6397600000000 + + isa + PBXFileReference + name + ChatTitleActivityNode.swift + path + Sources/ChatTitleActivityNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29837228E200000000 + + isa + PBXFileReference + name + ChatTypingActivityContentNode.swift + path + Sources/ChatTypingActivityContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E297D14EB8800000000 + + isa + PBXFileReference + name + ChatUploadingActivityContentNode.swift + path + Sources/ChatUploadingActivityContentNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29AB1EF43B00000000 + 1DD70E296668ECAF00000000 + 1DD70E298D3E0BD800000000 + 1DD70E295E0D8B5100000000 + 1DD70E2996B6397600000000 + 1DD70E29837228E200000000 + 1DD70E297D14EB8800000000 + + + B401C979E78EBF9100000000 + + isa + PBXGroup + name + ChatTitleActivityNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29893BC50400000000 + + isa + PBXFileReference + name + ChatTitleActivityNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/ChatTitleActivityNode/ChatTitleActivityNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290E812B6E00000000 + + isa + PBXFileReference + name + ChatTitleActivityNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/ChatTitleActivityNode/ChatTitleActivityNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E298217D6D000000000 + + isa + PBXFileReference + name + ChatTitleActivityNode-Release.xcconfig + path + ../../buck-out/gen/submodules/ChatTitleActivityNode/ChatTitleActivityNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29893BC50400000000 + 1DD70E290E812B6E00000000 + 1DD70E298217D6D000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E29B6F47D1F00000000 + + isa + PBXFileReference + name + libChatTitleActivityNode.a + path + libChatTitleActivityNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29B6F47D1F00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979E78EBF9100000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04AB1EF43B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AB1EF43B00000000 + + E7A30F046668ECAF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296668ECAF00000000 + + E7A30F048D3E0BD800000000 + + isa + PBXBuildFile + fileRef + 1DD70E298D3E0BD800000000 + + E7A30F045E0D8B5100000000 + + isa + PBXBuildFile + fileRef + 1DD70E295E0D8B5100000000 + + E7A30F0496B6397600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2996B6397600000000 + + E7A30F04837228E200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29837228E200000000 + + E7A30F047D14EB8800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297D14EB8800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04AB1EF43B00000000 + E7A30F046668ECAF00000000 + E7A30F048D3E0BD800000000 + E7A30F045E0D8B5100000000 + E7A30F0496B6397600000000 + E7A30F04837228E200000000 + E7A30F047D14EB8800000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29893BC50400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E290E812B6E00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E298217D6D000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE78EBF9100000000 + + isa + PBXNativeTarget + name + ChatTitleActivityNode + productName + ChatTitleActivityNode + productReference + 1DD70E29B6F47D1F00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E78EBF9100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE78EBF9100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E78EBF9100000000 + + \ No newline at end of file diff --git a/submodules/ChatTitleActivityNode/ChatTitleActivityNode.xcodeproj/xcshareddata/xcschemes/ChatTitleActivityNode.xcscheme b/submodules/ChatTitleActivityNode/ChatTitleActivityNode.xcodeproj/xcshareddata/xcschemes/ChatTitleActivityNode.xcscheme new file mode 100644 index 0000000000..e415ce1e30 --- /dev/null +++ b/submodules/ChatTitleActivityNode/ChatTitleActivityNode.xcodeproj/xcshareddata/xcschemes/ChatTitleActivityNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/CheckNode/BUCK b/submodules/CheckNode/BUCK new file mode 100644 index 0000000000..138e1ec664 --- /dev/null +++ b/submodules/CheckNode/BUCK @@ -0,0 +1,24 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "CheckNode", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/TelegramPresentationData.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/TelegramPresentationData.h"]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/CheckNode/CheckNode.xcodeproj/project.pbxproj b/submodules/CheckNode/CheckNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a9a6a72177 --- /dev/null +++ b/submodules/CheckNode/CheckNode.xcodeproj/project.pbxproj @@ -0,0 +1,413 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E298864CE8400000000 + + isa + PBXFileReference + name + CheckNode.h + path + Sources/CheckNode.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2915649E2F00000000 + + isa + PBXFileReference + name + CheckNode.swift + path + Sources/CheckNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E290B01011000000000 + + isa + PBXFileReference + name + ModernCheckNode.swift + path + Sources/ModernCheckNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E298864CE8400000000 + 1DD70E2915649E2F00000000 + 1DD70E290B01011000000000 + + + B401C9798F31630A00000000 + + isa + PBXGroup + name + CheckNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29E790A06B00000000 + + isa + PBXFileReference + name + CheckNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/CheckNode/CheckNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292B0CC91500000000 + + isa + PBXFileReference + name + CheckNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/CheckNode/CheckNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299EA3747700000000 + + isa + PBXFileReference + name + CheckNode-Release.xcconfig + path + ../../buck-out/gen/submodules/CheckNode/CheckNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E790A06B00000000 + 1DD70E292B0CC91500000000 + 1DD70E299EA3747700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2997B4D6D800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C9798F31630A00000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F0415649E2F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2915649E2F00000000 + + E7A30F040B01011000000000 + + isa + PBXBuildFile + fileRef + 1DD70E290B01011000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0415649E2F00000000 + E7A30F040B01011000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E790A06B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E292B0CC91500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E299EA3747700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E8F31630A00000000 + + isa + PBXNativeTarget + name + CheckNode + productName + CheckNode + productReference + 1DD70E2997B4D6D800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847938F31630A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E8F31630A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847938F31630A00000000 + + \ No newline at end of file diff --git a/submodules/CheckNode/CheckNode.xcodeproj/xcshareddata/xcschemes/CheckNode.xcscheme b/submodules/CheckNode/CheckNode.xcodeproj/xcshareddata/xcschemes/CheckNode.xcscheme new file mode 100644 index 0000000000..0da8a9ff8c --- /dev/null +++ b/submodules/CheckNode/CheckNode.xcodeproj/xcshareddata/xcschemes/CheckNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ComposePollUI/BUCK b/submodules/ComposePollUI/BUCK new file mode 100644 index 0000000000..1c817c07d5 --- /dev/null +++ b/submodules/ComposePollUI/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ComposePollUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ItemListUI:ItemListUI", + "//submodules/AccountContext:AccountContext", + "//submodules/AlertUI:AlertUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ComposePollUI/ComposePollUI.xcodeproj/project.pbxproj b/submodules/ComposePollUI/ComposePollUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c23ba6b914 --- /dev/null +++ b/submodules/ComposePollUI/ComposePollUI.xcodeproj/project.pbxproj @@ -0,0 +1,991 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EBE9025C00000000 + + isa + PBXFileReference + name + CreatePollController.swift + path + Sources/CreatePollController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2989C0B5BE00000000 + + isa + PBXFileReference + name + CreatePollOptionActionItem.swift + path + Sources/CreatePollOptionActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E296BCC7AE800000000 + + isa + PBXFileReference + name + CreatePollOptionItem.swift + path + Sources/CreatePollOptionItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EBE9025C00000000 + 1DD70E2989C0B5BE00000000 + 1DD70E296BCC7AE800000000 + + + B401C979694E46A500000000 + + isa + PBXGroup + name + ComposePollUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29FD02B37000000000 + + isa + PBXFileReference + name + ComposePollUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/ComposePollUI/ComposePollUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AC462EDA00000000 + + isa + PBXFileReference + name + ComposePollUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/ComposePollUI/ComposePollUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291FDCDA3C00000000 + + isa + PBXFileReference + name + ComposePollUI-Release.xcconfig + path + ../../buck-out/gen/submodules/ComposePollUI/ComposePollUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FD02B37000000000 + 1DD70E29AC462EDA00000000 + 1DD70E291FDCDA3C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29ABE59A3300000000 + + isa + PBXFileReference + name + libComposePollUI.a + path + libComposePollUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29ABE59A3300000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979694E46A500000000 + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04EBE9025C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EBE9025C00000000 + + E7A30F0489C0B5BE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2989C0B5BE00000000 + + E7A30F046BCC7AE800000000 + + isa + PBXBuildFile + fileRef + 1DD70E296BCC7AE800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EBE9025C00000000 + E7A30F0489C0B5BE00000000 + E7A30F046BCC7AE800000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04F523B9DE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FD02B37000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29AC462EDA00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291FDCDA3C00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E694E46A500000000 + + isa + PBXNativeTarget + name + ComposePollUI + productName + ComposePollUI + productReference + 1DD70E29ABE59A3300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793694E46A500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E694E46A500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793694E46A500000000 + + \ No newline at end of file diff --git a/submodules/ComposePollUI/ComposePollUI.xcodeproj/xcshareddata/xcschemes/ComposePollUI.xcscheme b/submodules/ComposePollUI/ComposePollUI.xcodeproj/xcshareddata/xcschemes/ComposePollUI.xcscheme new file mode 100644 index 0000000000..6562ac2894 --- /dev/null +++ b/submodules/ComposePollUI/ComposePollUI.xcodeproj/xcshareddata/xcschemes/ComposePollUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ContactListUI/BUCK b/submodules/ContactListUI/BUCK new file mode 100644 index 0000000000..f7fc812125 --- /dev/null +++ b/submodules/ContactListUI/BUCK @@ -0,0 +1,34 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ContactListUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/MergeLists:MergeLists", + "//submodules/SearchUI:SearchUI", + "//submodules/ChatListSearchItemHeader:ChatListSearchItemHeader", + "//submodules/ItemListPeerItem:ItemListPeerItem", + "//submodules/ContactsPeerItem:ContactsPeerItem", + "//submodules/ChatListSearchItemNode:ChatListSearchItemNode", + "//submodules/TelegramPermissionsUI:TelegramPermissionsUI", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/AlertUI:AlertUI", + "//submodules/ShareController:ShareController", + "//submodules/AppBundle:AppBundle", + "//submodules/OverlayStatusController:OverlayStatusController", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ContactListUI/ContactListUI.xcodeproj/project.pbxproj b/submodules/ContactListUI/ContactListUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5bee11e55c --- /dev/null +++ b/submodules/ContactListUI/ContactListUI.xcodeproj/project.pbxproj @@ -0,0 +1,1767 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29AA4CA6A300000000 + + isa + PBXFileReference + name + ContactListUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/ContactListUI/ContactListUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292EE0214D00000000 + + isa + PBXFileReference + name + ContactListUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/ContactListUI/ContactListUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A276CCAF00000000 + + isa + PBXFileReference + name + ContactListUI-Release.xcconfig + path + ../../buck-out/gen/submodules/ContactListUI/ContactListUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29AA4CA6A300000000 + 1DD70E292EE0214D00000000 + 1DD70E29A276CCAF00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C95D7ED900000000 + + isa + PBXFileReference + name + ContactAddItem.swift + path + Sources/ContactAddItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2925DE918A00000000 + + isa + PBXFileReference + name + ContactContextMenus.swift + path + Sources/ContactContextMenus.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CD71432C00000000 + + isa + PBXFileReference + name + ContactListActionItem.swift + path + Sources/ContactListActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C8C4BFFB00000000 + + isa + PBXFileReference + name + ContactListNameIndexHeader.swift + path + Sources/ContactListNameIndexHeader.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FD9D368500000000 + + isa + PBXFileReference + name + ContactListNode.swift + path + Sources/ContactListNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D5D22BD400000000 + + isa + PBXFileReference + name + ContactsController.swift + path + Sources/ContactsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2955D77CF600000000 + + isa + PBXFileReference + name + ContactsControllerNode.swift + path + Sources/ContactsControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2912C86E8D00000000 + + isa + PBXFileReference + name + ContactsSearchContainerNode.swift + path + Sources/ContactsSearchContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2947849BFD00000000 + + isa + PBXFileReference + name + InviteContactsController.swift + path + Sources/InviteContactsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CB13B09F00000000 + + isa + PBXFileReference + name + InviteContactsControllerNode.swift + path + Sources/InviteContactsControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D3C9BBF800000000 + + isa + PBXFileReference + name + InviteContactsCountPanelNode.swift + path + Sources/InviteContactsCountPanelNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C95D7ED900000000 + 1DD70E2925DE918A00000000 + 1DD70E29CD71432C00000000 + 1DD70E29C8C4BFFB00000000 + 1DD70E29FD9D368500000000 + 1DD70E29D5D22BD400000000 + 1DD70E2955D77CF600000000 + 1DD70E2912C86E8D00000000 + 1DD70E2947849BFD00000000 + 1DD70E29CB13B09F00000000 + 1DD70E29D3C9BBF800000000 + + + B401C97947E0B3D200000000 + + isa + PBXGroup + name + ContactListUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2931752C6000000000 + + isa + PBXFileReference + name + libContactsPeerItem.a + path + libContactsPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291328E99400000000 + + isa + PBXFileReference + name + libSearchUI.a + path + libSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FD72F45600000000 + 1DD70E2907DC840B00000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E2931752C6000000000 + 1DD70E296C9831F100000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E299A24C4DE00000000 + 1DD70E295A26607D00000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29BBAF750C00000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E291631B91900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293E4DE92B00000000 + 1DD70E29AD66967300000000 + 1DD70E291D58331200000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E291328E99400000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E29524F478E00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E29DF758A8500000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E292F91702000000000 + + isa + PBXFileReference + name + libContactListUI.a + path + libContactListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292F91702000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97947E0B3D200000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04C95D7ED900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C95D7ED900000000 + + E7A30F0425DE918A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925DE918A00000000 + + E7A30F04CD71432C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD71432C00000000 + + E7A30F04C8C4BFFB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C8C4BFFB00000000 + + E7A30F04FD9D368500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD9D368500000000 + + E7A30F04D5D22BD400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D5D22BD400000000 + + E7A30F0455D77CF600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2955D77CF600000000 + + E7A30F0412C86E8D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2912C86E8D00000000 + + E7A30F0447849BFD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2947849BFD00000000 + + E7A30F04CB13B09F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CB13B09F00000000 + + E7A30F04D3C9BBF800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D3C9BBF800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C95D7ED900000000 + E7A30F0425DE918A00000000 + E7A30F04CD71432C00000000 + E7A30F04C8C4BFFB00000000 + E7A30F04FD9D368500000000 + E7A30F04D5D22BD400000000 + E7A30F0455D77CF600000000 + E7A30F0412C86E8D00000000 + E7A30F0447849BFD00000000 + E7A30F04CB13B09F00000000 + E7A30F04D3C9BBF800000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04FD72F45600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD72F45600000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F0407DC840B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC840B00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F0431752C6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2931752C6000000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F041328E99400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291328E99400000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F04DF758A8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF758A8500000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04F523B9DE00000000 + E7A30F04AC43662400000000 + E7A30F04FD72F45600000000 + E7A30F04BF0846EE00000000 + E7A30F04EA9CBB5B00000000 + E7A30F0407DC840B00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F0497B4D6D800000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04C37F741500000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F0431752C6000000000 + E7A30F04BBAF750C00000000 + E7A30F041328E99400000000 + E7A30F041E16CC6C00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F047AB043C800000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + E7A30F041631B91900000000 + E7A30F04524F478E00000000 + E7A30F04DF758A8500000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29AA4CA6A300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E292EE0214D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29A276CCAF00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E47E0B3D200000000 + + isa + PBXNativeTarget + name + ContactListUI + productName + ContactListUI + productReference + 1DD70E292F91702000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479347E0B3D200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E47E0B3D200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479347E0B3D200000000 + + \ No newline at end of file diff --git a/submodules/ContactListUI/ContactListUI.xcodeproj/xcshareddata/xcschemes/ContactListUI.xcscheme b/submodules/ContactListUI/ContactListUI.xcodeproj/xcshareddata/xcschemes/ContactListUI.xcscheme new file mode 100644 index 0000000000..30c765241d --- /dev/null +++ b/submodules/ContactListUI/ContactListUI.xcodeproj/xcshareddata/xcschemes/ContactListUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ContactListUI/ContactListUI_Xcode.xcodeproj/project.pbxproj b/submodules/ContactListUI/ContactListUI_Xcode.xcodeproj/project.pbxproj index 74c9237560..76109f32df 100644 --- a/submodules/ContactListUI/ContactListUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/ContactListUI/ContactListUI_Xcode.xcodeproj/project.pbxproj @@ -26,7 +26,6 @@ D0C9C831230207E600FAB518 /* ContactsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C82B230207E600FAB518 /* ContactsController.swift */; }; D0C9C832230207E600FAB518 /* ContactsControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C82C230207E600FAB518 /* ContactsControllerNode.swift */; }; D0C9C833230207E600FAB518 /* InviteContactsControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C82D230207E600FAB518 /* InviteContactsControllerNode.swift */; }; - D0C9C835230207EE00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C834230207EE00FAB518 /* FrameworkBundle.swift */; }; D0C9C8392302088800FAB518 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C8382302088800FAB518 /* Display.framework */; }; D0C9C83B2302088C00FAB518 /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C83A2302088C00FAB518 /* AsyncDisplayKit.framework */; }; D0C9C83D2302089300FAB518 /* MergeLists.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C83C2302089300FAB518 /* MergeLists.framework */; }; @@ -36,6 +35,7 @@ D0C9C91323020DBF00FAB518 /* ContactsPeerItem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C91223020DBF00FAB518 /* ContactsPeerItem.framework */; }; D0C9C94F2302140500FAB518 /* ChatListSearchItemNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C94E2302140500FAB518 /* ChatListSearchItemNode.framework */; }; D0C9C98D2302153C00FAB518 /* TelegramPermissionsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C98C2302153C00FAB518 /* TelegramPermissionsUI.framework */; }; + D0EFF2782319830300CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2772319830300CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -60,7 +60,6 @@ D0C9C82B230207E600FAB518 /* ContactsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactsController.swift; sourceTree = ""; }; D0C9C82C230207E600FAB518 /* ContactsControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactsControllerNode.swift; sourceTree = ""; }; D0C9C82D230207E600FAB518 /* InviteContactsControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InviteContactsControllerNode.swift; sourceTree = ""; }; - D0C9C834230207EE00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C8382302088800FAB518 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C83A2302088C00FAB518 /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AsyncDisplayKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C83C2302089300FAB518 /* MergeLists.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MergeLists.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -70,6 +69,7 @@ D0C9C91223020DBF00FAB518 /* ContactsPeerItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ContactsPeerItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C94E2302140500FAB518 /* ChatListSearchItemNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ChatListSearchItemNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C98C2302153C00FAB518 /* TelegramPermissionsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPermissionsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF2772319830300CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -77,6 +77,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2782319830300CF5164 /* AppBundle.framework in Frameworks */, D0C9C98D2302153C00FAB518 /* TelegramPermissionsUI.framework in Frameworks */, D0C9C94F2302140500FAB518 /* ChatListSearchItemNode.framework in Frameworks */, D0C9C91323020DBF00FAB518 /* ContactsPeerItem.framework in Frameworks */, @@ -131,7 +132,6 @@ D0C9C80B2302077E00FAB518 /* ContactListActionItem.swift */, D0C9C80A2302077E00FAB518 /* ContactListNameIndexHeader.swift */, D0C9C80D2302077F00FAB518 /* ContactListNode.swift */, - D0C9C834230207EE00FAB518 /* FrameworkBundle.swift */, D0C9C7FD230206F600FAB518 /* ContactListUI.h */, ); path = Sources; @@ -140,6 +140,7 @@ D0C9C817230207B900FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2772319830300CF5164 /* AppBundle.framework */, D0C9C98C2302153C00FAB518 /* TelegramPermissionsUI.framework */, D0C9C94E2302140500FAB518 /* ChatListSearchItemNode.framework */, D0C9C91223020DBF00FAB518 /* ContactsPeerItem.framework */, @@ -248,7 +249,6 @@ D0C9C8132302077F00FAB518 /* ContactListNode.swift in Sources */, D0C9C8102302077F00FAB518 /* ContactListNameIndexHeader.swift in Sources */, D0C9C82F230207E600FAB518 /* InviteContactsController.swift in Sources */, - D0C9C835230207EE00FAB518 /* FrameworkBundle.swift in Sources */, D0C9C8112302077F00FAB518 /* ContactListActionItem.swift in Sources */, D0C9C831230207E600FAB518 /* ContactsController.swift in Sources */, D0C9C8122302077F00FAB518 /* ContactAddItem.swift in Sources */, diff --git a/submodules/ContactListUI/Sources/ContactAddItem.swift b/submodules/ContactListUI/Sources/ContactAddItem.swift index db676a4fe8..57259e3343 100644 --- a/submodules/ContactListUI/Sources/ContactAddItem.swift +++ b/submodules/ContactListUI/Sources/ContactAddItem.swift @@ -6,6 +6,7 @@ import Display import SwiftSignalKit import TelegramCore import TelegramPresentationData +import AppBundle private let titleFont = Font.regular(17.0) diff --git a/submodules/ContactListUI/Sources/ContactContextMenus.swift b/submodules/ContactListUI/Sources/ContactContextMenus.swift new file mode 100644 index 0000000000..90b5d44218 --- /dev/null +++ b/submodules/ContactListUI/Sources/ContactContextMenus.swift @@ -0,0 +1,131 @@ +import Foundation +import UIKit +import SwiftSignalKit +import ContextUI +import AccountContext +import Postbox +import TelegramCore +import Display +import AlertUI +import OverlayStatusController + +func contactContextMenuItems(context: AccountContext, peerId: PeerId, contactsController: ContactsController?) -> Signal<[ContextMenuItem], NoError> { + let strings = context.sharedContext.currentPresentationData.with({ $0 }).strings + return context.account.postbox.transaction { [weak contactsController] transaction -> [ContextMenuItem] in + var items: [ContextMenuItem] = [] + + items.append(.action(ContextMenuActionItem(text: strings.ContactList_Context_SendMessage, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Message"), color: theme.contextMenu.primaryColor) }, action: { _, f in + if let contactsController = contactsController, let navigationController = contactsController.navigationController as? NavigationController { + context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: context, chatLocation: .peer(peerId))) + } + f(.default) + }))) + + items.append(.action(ContextMenuActionItem(text: strings.ContactList_Context_StartSecretChat, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Timer"), color: theme.contextMenu.primaryColor) }, action: { _, f in + let _ = (context.account.postbox.transaction { transaction -> PeerId? in + let filteredPeerIds = Array(transaction.getAssociatedPeerIds(peerId)).filter { $0.namespace == Namespaces.Peer.SecretChat } + var activeIndices: [ChatListIndex] = [] + for associatedId in filteredPeerIds { + if let state = (transaction.getPeer(associatedId) as? TelegramSecretChat)?.embeddedState { + switch state { + case .active, .handshake: + if let (_, index) = transaction.getPeerChatListIndex(associatedId) { + activeIndices.append(index) + } + default: + break + } + } + } + activeIndices.sort() + if let index = activeIndices.last { + return index.messageIndex.id.peerId + } else { + return nil + } + } + |> deliverOnMainQueue).start(next: { currentPeerId in + if let currentPeerId = currentPeerId { + if let contactsController = contactsController, let navigationController = (contactsController.navigationController as? NavigationController) { + context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: context, chatLocation: .peer(currentPeerId))) + } + } else { + var createSignal = createSecretChat(account: context.account, peerId: peerId) + var cancelImpl: (() -> Void)? + let progressSignal = Signal { subscriber in + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let controller = OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .loading(cancelled: { + cancelImpl?() + })) + contactsController?.present(controller, in: .window(.root)) + return ActionDisposable { [weak controller] in + Queue.mainQueue().async() { + controller?.dismiss() + } + } + } + |> runOn(Queue.mainQueue()) + |> delay(0.15, queue: Queue.mainQueue()) + let progressDisposable = progressSignal.start() + + createSignal = createSignal + |> afterDisposed { + Queue.mainQueue().async { + progressDisposable.dispose() + } + } + let createSecretChatDisposable = MetaDisposable() + cancelImpl = { + createSecretChatDisposable.set(nil) + } + + createSecretChatDisposable.set((createSignal + |> deliverOnMainQueue).start(next: { peerId in + if let navigationController = (contactsController?.navigationController as? NavigationController) { + context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: context, chatLocation: .peer(peerId))) + } + }, error: { _ in + if let contactsController = contactsController { + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + contactsController.present(textAlertController(context: context, title: nil, text: presentationData.strings.Login_UnknownError, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: {})]), in: .window(.root)) + } + })) + } + }) + f(.default) + }))) + + var canCall = true + if peerId.namespace == Namespaces.Peer.CloudUser, let cachedUserData = transaction.getPeerCachedData(peerId: peerId) as? CachedUserData, cachedUserData.callsPrivate { + canCall = false + } + + if canCall { + items.append(.action(ContextMenuActionItem(text: strings.ContactList_Context_Call, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Call"), color: theme.contextMenu.primaryColor) }, action: { _, f in + if let contactsController = contactsController { + let callResult = context.sharedContext.callManager?.requestCall(account: context.account, peerId: peerId, endCurrentIfAny: false) + if let callResult = callResult, case let .alreadyInProgress(currentPeerId) = callResult { + if currentPeerId == peerId { + context.sharedContext.navigateToCurrentCall() + } else { + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let _ = (context.account.postbox.transaction { transaction -> (Peer?, Peer?) in + return (transaction.getPeer(peerId), transaction.getPeer(currentPeerId)) + } + |> deliverOnMainQueue).start(next: { [weak contactsController] peer, current in + if let contactsController = contactsController, let peer = peer, let current = current { + contactsController.present(textAlertController(context: context, title: presentationData.strings.Call_CallInProgressTitle, text: presentationData.strings.Call_CallInProgressMessage(current.compactDisplayTitle, peer.compactDisplayTitle).0, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_Cancel, action: {}), TextAlertAction(type: .genericAction, title: presentationData.strings.Common_OK, action: { + let _ = context.sharedContext.callManager?.requestCall(account: context.account, peerId: peerId, endCurrentIfAny: true) + })]), in: .window(.root)) + } + }) + } + } + } + f(.default) + }))) + } + + return items + } +} diff --git a/submodules/ContactListUI/Sources/ContactListNode.swift b/submodules/ContactListUI/Sources/ContactListNode.swift index 0cd7dbcb7f..0399dcf601 100644 --- a/submodules/ContactListUI/Sources/ContactListNode.swift +++ b/submodules/ContactListUI/Sources/ContactListNode.swift @@ -19,6 +19,8 @@ import ChatListSearchItemNode import ChatListSearchItemHeader import SearchUI import TelegramPermissionsUI +import AppBundle +import ContextUI private let dropDownIcon = { () -> UIImage in UIGraphicsBeginImageContextWithOptions(CGSize(width: 12.0, height: 12.0), false, 0.0) @@ -97,15 +99,17 @@ private final class ContactListNodeInteraction { fileprivate let authorize: () -> Void fileprivate let suppressWarning: () -> Void fileprivate let openPeer: (ContactListPeer) -> Void + fileprivate let contextAction: ((Peer, ASDisplayNode, ContextGesture?) -> Void)? let itemHighlighting = ContactItemHighlighting() - init(activateSearch: @escaping () -> Void, openSortMenu: @escaping () -> Void, authorize: @escaping () -> Void, suppressWarning: @escaping () -> Void, openPeer: @escaping (ContactListPeer) -> Void) { + init(activateSearch: @escaping () -> Void, openSortMenu: @escaping () -> Void, authorize: @escaping () -> Void, suppressWarning: @escaping () -> Void, openPeer: @escaping (ContactListPeer) -> Void, contextAction: ((Peer, ASDisplayNode, ContextGesture?) -> Void)?) { self.activateSearch = activateSearch self.openSortMenu = openSortMenu self.authorize = authorize self.suppressWarning = suppressWarning self.openPeer = openPeer + self.contextAction = contextAction } } @@ -174,8 +178,10 @@ private enum ContactListNodeEntry: Comparable, Identifiable { case let .peer(_, peer, presence, header, selection, theme, strings, dateTimeFormat, nameSortOrder, nameDisplayOrder, enabled): let status: ContactsPeerItemStatus let itemPeer: ContactsPeerItemPeer + var isContextActionEnabled = false switch peer { case let .peer(peer, isGlobal, participantCount): + isContextActionEnabled = true if isGlobal, let _ = peer.addressName { status = .addressName("") } else { @@ -199,9 +205,22 @@ private enum ContactListNodeEntry: Comparable, Identifiable { status = .none itemPeer = .deviceContact(stableId: id, contact: contact) } + var itemContextAction: ((ASDisplayNode, ContextGesture?) -> Void)? + if isContextActionEnabled, let contextAction = interaction.contextAction { + itemContextAction = { node, gesture in + switch itemPeer { + case let .peer(peer, _): + if let peer = peer { + contextAction(peer, node, gesture) + } + case .deviceContact: + break + } + } + } return ContactsPeerItem(theme: theme, strings: strings, sortOrder: nameSortOrder, displayOrder: nameDisplayOrder, account: account, peerMode: .peer, peer: itemPeer, status: status, enabled: enabled, selection: selection, editing: ContactsPeerItemEditing(editable: false, editing: false, revealed: false), index: nil, header: header, action: { _ in interaction.openPeer(peer) - }, itemHighlighting: interaction.itemHighlighting) + }, itemHighlighting: interaction.itemHighlighting, contextAction: itemContextAction) } } @@ -743,6 +762,7 @@ public final class ContactListNode: ASDisplayNode { public var openPeer: ((ContactListPeer) -> Void)? public var openPrivacyPolicy: (() -> Void)? public var suppressPermissionWarning: (() -> Void)? + private let contextAction: ((Peer, ASDisplayNode, ContextGesture?) -> Void)? private let previousEntries = Atomic<[ContactListNodeEntry]?>(value: nil) private let disposable = MetaDisposable() @@ -754,10 +774,11 @@ public final class ContactListNode: ASDisplayNode { private var authorizationNode: PermissionContentNode private let displayPermissionPlaceholder: Bool - public init(context: AccountContext, presentation: Signal, filters: [ContactListFilter] = [.excludeSelf], selectionState: ContactListNodeGroupSelectionState? = nil, displayPermissionPlaceholder: Bool = true, displaySortOptions: Bool = false) { + public init(context: AccountContext, presentation: Signal, filters: [ContactListFilter] = [.excludeSelf], selectionState: ContactListNodeGroupSelectionState? = nil, displayPermissionPlaceholder: Bool = true, displaySortOptions: Bool = false, contextAction: ((Peer, ASDisplayNode, ContextGesture?) -> Void)? = nil) { self.context = context self.filters = filters self.displayPermissionPlaceholder = displayPermissionPlaceholder + self.contextAction = contextAction self.presentationData = context.sharedContext.currentPresentationData.with { $0 } @@ -825,7 +846,7 @@ public final class ContactListNode: ASDisplayNode { self?.suppressPermissionWarning?() }, openPeer: { [weak self] peer in self?.openPeer?(peer) - }) + }, contextAction: contextAction) self.indexNode.indexSelected = { [weak self] section in guard let strongSelf = self, let layout = strongSelf.validLayout, let entries = previousEntries.with({ $0 }) else { diff --git a/submodules/ContactListUI/Sources/ContactsController.swift b/submodules/ContactListUI/Sources/ContactsController.swift index f21dd12285..17c4a536a9 100644 --- a/submodules/ContactListUI/Sources/ContactsController.swift +++ b/submodules/ContactListUI/Sources/ContactsController.swift @@ -15,6 +15,7 @@ import TelegramNotices import ContactsPeerItem import SearchUI import TelegramPermissionsUI +import AppBundle private func fixListNodeScrolling(_ listNode: ListView, searchNode: NavigationBarSearchContentNode) -> Bool { if searchNode.expansionProgress > 0.0 && searchNode.expansionProgress < 1.0 { diff --git a/submodules/ContactListUI/Sources/ContactsControllerNode.swift b/submodules/ContactListUI/Sources/ContactsControllerNode.swift index bb247f38eb..4295a9cb24 100644 --- a/submodules/ContactListUI/Sources/ContactsControllerNode.swift +++ b/submodules/ContactListUI/Sources/ContactsControllerNode.swift @@ -11,6 +11,8 @@ import DeviceAccess import AccountContext import SearchBarNode import SearchUI +import AppBundle +import ContextUI private final class ContactsControllerNodeView: UITracingLayerView, PreviewingHostView { var previewingDelegate: PreviewingHostViewDelegate? { @@ -24,6 +26,27 @@ private final class ContactsControllerNodeView: UITracingLayerView, PreviewingHo weak var controller: ContactsController? } +private final class ContextControllerContentSourceImpl: ContextControllerContentSource { + let controller: ViewController + weak var sourceNode: ASDisplayNode? + + init(controller: ViewController, sourceNode: ASDisplayNode?) { + self.controller = controller + self.sourceNode = sourceNode + } + + func transitionInfo() -> ContextControllerTakeControllerInfo? { + let sourceNode = self.sourceNode + return ContextControllerTakeControllerInfo(contentAreaInScreenSpace: CGRect(origin: CGPoint(), size: CGSize(width: 10.0, height: 10.0)), sourceNode: { [weak sourceNode] in + if let sourceNode = sourceNode { + return (sourceNode, sourceNode.bounds) + } else { + return nil + } + }) + } +} + final class ContactsControllerNode: ASDisplayNode { let contactListNode: ContactListNode @@ -68,7 +91,11 @@ final class ContactsControllerNode: ASDisplayNode { } } - self.contactListNode = ContactListNode(context: context, presentation: presentation, displaySortOptions: true) + var contextAction: ((Peer, ASDisplayNode, ContextGesture?) -> Void)? + + self.contactListNode = ContactListNode(context: context, presentation: presentation, displaySortOptions: true, contextAction: { peer, node, gesture in + contextAction?(peer, node, gesture) + }) super.init() @@ -105,6 +132,16 @@ final class ContactsControllerNode: ASDisplayNode { strongSelf.openInvite?() } } + + contextAction = { [weak self] peer, node, gesture in + guard let strongSelf = self, let contactsController = strongSelf.controller else { + return + } + let chatController = strongSelf.context.sharedContext.makeChatController(context: strongSelf.context, chatLocation: .peer(peer.id), subject: nil, botStart: nil, mode: .standard(previewing: true)) + chatController.canReadHistory.set(false) + let contextController = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: chatController, sourceNode: node)), items: contactContextMenuItems(context: strongSelf.context, peerId: peer.id, contactsController: contactsController), reactionItems: [], gesture: gesture) + contactsController.presentInGlobalOverlay(contextController) + } } deinit { diff --git a/submodules/ContactListUI/Sources/FrameworkBundle.swift b/submodules/ContactListUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/ContactListUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/ContactListUI/Sources/InviteContactsControllerNode.swift b/submodules/ContactListUI/Sources/InviteContactsControllerNode.swift index e5a3fba84e..bd61b4e668 100644 --- a/submodules/ContactListUI/Sources/InviteContactsControllerNode.swift +++ b/submodules/ContactListUI/Sources/InviteContactsControllerNode.swift @@ -14,6 +14,7 @@ import SearchBarNode import SearchUI import ContactsPeerItem import ChatListSearchItemHeader +import AppBundle private enum InviteContactsEntryId: Hashable { case option(index: Int) diff --git a/submodules/ContactsPeerItem/BUCK b/submodules/ContactsPeerItem/BUCK new file mode 100644 index 0000000000..52f3dd428a --- /dev/null +++ b/submodules/ContactsPeerItem/BUCK @@ -0,0 +1,30 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ContactsPeerItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/AvatarNode:AvatarNode", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/CheckNode:CheckNode", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/ItemListPeerItem:ItemListPeerItem", + "//submodules/PeerPresenceStatusManager:PeerPresenceStatusManager", + "//submodules/ItemListUI:ItemListUI", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/ListSectionHeaderNode:ListSectionHeaderNode", + "//submodules/ContextUI:ContextUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ContactsPeerItem/ContactsPeerItem.xcodeproj/project.pbxproj b/submodules/ContactsPeerItem/ContactsPeerItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..4c691ebeee --- /dev/null +++ b/submodules/ContactsPeerItem/ContactsPeerItem.xcodeproj/project.pbxproj @@ -0,0 +1,1103 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29C90DDE8D00000000 + + isa + PBXFileReference + name + ContactsPeerItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ContactsPeerItem/ContactsPeerItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A23306B700000000 + + isa + PBXFileReference + name + ContactsPeerItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ContactsPeerItem/ContactsPeerItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2915C9B21900000000 + + isa + PBXFileReference + name + ContactsPeerItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ContactsPeerItem/ContactsPeerItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C90DDE8D00000000 + 1DD70E29A23306B700000000 + 1DD70E2915C9B21900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29597C91CD00000000 + + isa + PBXFileReference + name + ContactsPeerItem.swift + path + Sources/ContactsPeerItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29113DB98B00000000 + + isa + PBXFileReference + name + ContactsSectionHeaderAccessoryItem.swift + path + Sources/ContactsSectionHeaderAccessoryItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29597C91CD00000000 + 1DD70E29113DB98B00000000 + + + B401C979F2B7E52800000000 + + isa + PBXGroup + name + ContactsPeerItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E2997B4D6D800000000 + 1DD70E296C9831F100000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E299A24C4DE00000000 + 1DD70E295A26607D00000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E29AD66967300000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E2931752C6000000000 + + isa + PBXFileReference + name + libContactsPeerItem.a + path + libContactsPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2931752C6000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979F2B7E52800000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04597C91CD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597C91CD00000000 + + E7A30F04113DB98B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29113DB98B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04597C91CD00000000 + E7A30F04113DB98B00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F0497B4D6D800000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F04AC43662400000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C90DDE8D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A23306B700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2915C9B21900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EF2B7E52800000000 + + isa + PBXNativeTarget + name + ContactsPeerItem + productName + ContactsPeerItem + productReference + 1DD70E2931752C6000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793F2B7E52800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EF2B7E52800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793F2B7E52800000000 + + \ No newline at end of file diff --git a/submodules/ContactsPeerItem/ContactsPeerItem.xcodeproj/xcshareddata/xcschemes/ContactsPeerItem.xcscheme b/submodules/ContactsPeerItem/ContactsPeerItem.xcodeproj/xcshareddata/xcschemes/ContactsPeerItem.xcscheme new file mode 100644 index 0000000000..a28cbabdd1 --- /dev/null +++ b/submodules/ContactsPeerItem/ContactsPeerItem.xcodeproj/xcshareddata/xcschemes/ContactsPeerItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ContactsPeerItem/Sources/ContactsPeerItem.swift b/submodules/ContactsPeerItem/Sources/ContactsPeerItem.swift index a12d158d4b..ea5e22fd0f 100644 --- a/submodules/ContactsPeerItem/Sources/ContactsPeerItem.swift +++ b/submodules/ContactsPeerItem/Sources/ContactsPeerItem.swift @@ -14,6 +14,7 @@ import TelegramStringFormatting import AccountContext import PeerPresenceStatusManager import ItemListPeerItem +import ContextUI public final class ContactItemHighlighting { public var chatLocation: ChatLocation? @@ -125,6 +126,7 @@ public class ContactsPeerItem: ListViewItem, ListViewItemWithHeader { let setPeerIdWithRevealedOptions: ((PeerId?, PeerId?) -> Void)? let deletePeer: ((PeerId) -> Void)? let itemHighlighting: ContactItemHighlighting? + let contextAction: ((ASDisplayNode, ContextGesture?) -> Void)? public let selectable: Bool @@ -132,7 +134,7 @@ public class ContactsPeerItem: ListViewItem, ListViewItemWithHeader { public let header: ListViewItemHeader? - public init(theme: PresentationTheme, strings: PresentationStrings, sortOrder: PresentationPersonNameOrder, displayOrder: PresentationPersonNameOrder, account: Account, peerMode: ContactsPeerItemPeerMode, peer: ContactsPeerItemPeer, status: ContactsPeerItemStatus, badge: ContactsPeerItemBadge? = nil, enabled: Bool, selection: ContactsPeerItemSelection, editing: ContactsPeerItemEditing, options: [ItemListPeerItemRevealOption] = [], actionIcon: ContactsPeerItemActionIcon = .none, index: PeerNameIndex?, header: ListViewItemHeader?, action: @escaping (ContactsPeerItemPeer) -> Void, setPeerIdWithRevealedOptions: ((PeerId?, PeerId?) -> Void)? = nil, deletePeer: ((PeerId) -> Void)? = nil, itemHighlighting: ContactItemHighlighting? = nil) { + public init(theme: PresentationTheme, strings: PresentationStrings, sortOrder: PresentationPersonNameOrder, displayOrder: PresentationPersonNameOrder, account: Account, peerMode: ContactsPeerItemPeerMode, peer: ContactsPeerItemPeer, status: ContactsPeerItemStatus, badge: ContactsPeerItemBadge? = nil, enabled: Bool, selection: ContactsPeerItemSelection, editing: ContactsPeerItemEditing, options: [ItemListPeerItemRevealOption] = [], actionIcon: ContactsPeerItemActionIcon = .none, index: PeerNameIndex?, header: ListViewItemHeader?, action: @escaping (ContactsPeerItemPeer) -> Void, setPeerIdWithRevealedOptions: ((PeerId?, PeerId?) -> Void)? = nil, deletePeer: ((PeerId) -> Void)? = nil, itemHighlighting: ContactItemHighlighting? = nil, contextAction: ((ASDisplayNode, ContextGesture?) -> Void)? = nil) { self.theme = theme self.strings = strings self.sortOrder = sortOrder @@ -153,6 +155,7 @@ public class ContactsPeerItem: ListViewItem, ListViewItemWithHeader { self.header = header self.itemHighlighting = itemHighlighting self.selectable = enabled + self.contextAction = contextAction if let index = index { var letter: String = "#" @@ -283,6 +286,8 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { private let separatorNode: ASDisplayNode private let highlightedBackgroundNode: ASDisplayNode + private let containerNode: ContextControllerSourceNode + private let avatarNode: AvatarNode private let titleNode: TextNode private var verificationIconNode: ASImageNode? @@ -325,6 +330,8 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { self.highlightedBackgroundNode = ASDisplayNode() self.highlightedBackgroundNode.isLayerBacked = true + self.containerNode = ContextControllerSourceNode() + self.avatarNode = AvatarNode(font: avatarFont) self.avatarNode.isLayerBacked = !smartInvertColorsEnabled() @@ -337,9 +344,10 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { self.addSubnode(self.backgroundNode) self.addSubnode(self.separatorNode) - self.addSubnode(self.avatarNode) - self.addSubnode(self.titleNode) - self.addSubnode(self.statusNode) + self.addSubnode(self.containerNode) + self.containerNode.addSubnode(self.avatarNode) + self.containerNode.addSubnode(self.titleNode) + self.containerNode.addSubnode(self.statusNode) self.peerPresenceManager = PeerPresenceStatusManager(update: { [weak self] in if let strongSelf = self, let layoutParams = strongSelf.layoutParams { @@ -347,6 +355,14 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { let _ = apply() } }) + + self.containerNode.activated = { [weak self] gesture in + guard let strongSelf = self, let item = strongSelf.item, let contextAction = item.contextAction else { + gesture.cancel() + return + } + contextAction(strongSelf.containerNode, gesture) + } } override public func layoutForParams(_ params: ListViewItemLayoutParams, item: ListViewItem, previousItem: ListViewItem?, nextItem: ListViewItem?) { @@ -639,6 +655,9 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { strongSelf.accessibilityLabel = titleAttributedString?.string strongSelf.accessibilityValue = statusAttributedString?.string + strongSelf.containerNode.frame = CGRect(origin: CGPoint(), size: nodeLayout.contentSize) + strongSelf.containerNode.isGestureEnabled = item.contextAction != nil + switch item.peer { case let .peer(peer, _): if let peer = peer { @@ -701,7 +720,7 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { verificationIconNode.displayWithoutProcessing = true verificationIconNode.displaysAsynchronously = false strongSelf.verificationIconNode = verificationIconNode - strongSelf.addSubnode(verificationIconNode) + strongSelf.containerNode.addSubnode(verificationIconNode) } if let verificationIconNode = strongSelf.verificationIconNode { verificationIconNode.image = verificationIconImage @@ -720,7 +739,7 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { actionIconNode.displayWithoutProcessing = true actionIconNode.displaysAsynchronously = false strongSelf.actionIconNode = actionIconNode - strongSelf.addSubnode(actionIconNode) + strongSelf.containerNode.addSubnode(actionIconNode) } if let actionIconNode = strongSelf.actionIconNode { actionIconNode.image = actionIconImage @@ -744,7 +763,7 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { badgeBackgroundNode.isLayerBacked = true badgeBackgroundNode.displaysAsynchronously = false badgeBackgroundNode.displayWithoutProcessing = true - strongSelf.addSubnode(badgeBackgroundNode) + strongSelf.containerNode.addSubnode(badgeBackgroundNode) strongSelf.badgeBackgroundNode = badgeBackgroundNode badgeTransition = .immediate } @@ -758,7 +777,7 @@ public class ContactsPeerItemNode: ItemListRevealOptionsItemNode { let badgeTextNode = badgeTextApply() if badgeTextNode !== strongSelf.badgeTextNode { strongSelf.badgeTextNode?.removeFromSupernode() - strongSelf.addSubnode(badgeTextNode) + strongSelf.containerNode.addSubnode(badgeTextNode) strongSelf.badgeTextNode = badgeTextNode } diff --git a/submodules/ContextUI/BUCK b/submodules/ContextUI/BUCK new file mode 100644 index 0000000000..dd389963ff --- /dev/null +++ b/submodules/ContextUI/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ContextUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TextSelectionNode:TextSelectionNode", + "//submodules/ReactionSelectionNode:ReactionSelectionNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ContextUI/ContextUI.xcodeproj/project.pbxproj b/submodules/ContextUI/ContextUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1aeafe70f3 --- /dev/null +++ b/submodules/ContextUI/ContextUI.xcodeproj/project.pbxproj @@ -0,0 +1,763 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2940E1D5F200000000 + + isa + PBXFileReference + name + ContextUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/ContextUI/ContextUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2974E6B8DC00000000 + + isa + PBXFileReference + name + ContextUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/ContextUI/ContextUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E87D643E00000000 + + isa + PBXFileReference + name + ContextUI-Release.xcconfig + path + ../../buck-out/gen/submodules/ContextUI/ContextUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2940E1D5F200000000 + 1DD70E2974E6B8DC00000000 + 1DD70E29E87D643E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F5E771AC00000000 + + isa + PBXFileReference + name + ContextActionNode.swift + path + Sources/ContextActionNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296059EB3A00000000 + + isa + PBXFileReference + name + ContextActionsContainerNode.swift + path + Sources/ContextActionsContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2984D0F63E00000000 + + isa + PBXFileReference + name + ContextContentContainerNode.swift + path + Sources/ContextContentContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2972528DAC00000000 + + isa + PBXFileReference + name + ContextContentSourceNode.swift + path + Sources/ContextContentSourceNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B1C7CF000000000 + + isa + PBXFileReference + name + ContextController.swift + path + Sources/ContextController.swift + sourceTree + SOURCE_ROOT + + 1DD70E293607624D00000000 + + isa + PBXFileReference + name + ContextControllerSourceNode.swift + path + Sources/ContextControllerSourceNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2942A6CFDF00000000 + + isa + PBXFileReference + name + ContextGesture.swift + path + Sources/ContextGesture.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F5E771AC00000000 + 1DD70E296059EB3A00000000 + 1DD70E2984D0F63E00000000 + 1DD70E2972528DAC00000000 + 1DD70E298B1C7CF000000000 + 1DD70E293607624D00000000 + 1DD70E2942A6CFDF00000000 + + + B401C9795F32B06300000000 + + isa + PBXGroup + name + ContextUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29AD66967300000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29F40A586F00000000 + 1DD70E29CD296A8300000000 + + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296C9831F100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9795F32B06300000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04F5E771AC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F5E771AC00000000 + + E7A30F046059EB3A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296059EB3A00000000 + + E7A30F0484D0F63E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984D0F63E00000000 + + E7A30F0472528DAC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2972528DAC00000000 + + E7A30F048B1C7CF000000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B1C7CF000000000 + + E7A30F043607624D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293607624D00000000 + + E7A30F0442A6CFDF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2942A6CFDF00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F5E771AC00000000 + E7A30F046059EB3A00000000 + E7A30F0484D0F63E00000000 + E7A30F0472528DAC00000000 + E7A30F048B1C7CF000000000 + E7A30F043607624D00000000 + E7A30F0442A6CFDF00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2940E1D5F200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2974E6B8DC00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29E87D643E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E5F32B06300000000 + + isa + PBXNativeTarget + name + ContextUI + productName + ContextUI + productReference + 1DD70E296C9831F100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847935F32B06300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E5F32B06300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847935F32B06300000000 + + \ No newline at end of file diff --git a/submodules/ContextUI/ContextUI.xcodeproj/xcshareddata/xcschemes/ContextUI.xcscheme b/submodules/ContextUI/ContextUI.xcodeproj/xcshareddata/xcschemes/ContextUI.xcscheme new file mode 100644 index 0000000000..8685a010eb --- /dev/null +++ b/submodules/ContextUI/ContextUI.xcodeproj/xcshareddata/xcschemes/ContextUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ContextUI/Sources/ContextContentContainerNode.swift b/submodules/ContextUI/Sources/ContextContentContainerNode.swift index 3c4a43ca89..ec77f46adb 100644 --- a/submodules/ContextUI/Sources/ContextContentContainerNode.swift +++ b/submodules/ContextUI/Sources/ContextContentContainerNode.swift @@ -21,6 +21,7 @@ final class ContextContentContainerNode: ASDisplayNode { transition.updateBounds(node: controller, bounds: CGRect(origin: CGPoint(), size: size)) transition.updateTransformScale(node: controller, scale: scaledSize.width / size.width) controller.updateLayout(size: size, transition: transition) + controller.controller.containerLayoutUpdated(ContainerViewLayout(size: size, metrics: LayoutMetrics(widthClass: .compact, heightClass: .compact), deviceMetrics: .iPhoneX, intrinsicInsets: UIEdgeInsets(), safeInsets: UIEdgeInsets(), statusBarHeight: nil, inputHeight: nil, inputHeightIsInteractivellyChanging: false, inVoiceOver: false), transition: transition) } } } diff --git a/submodules/ContextUI/Sources/ContextContentSourceNode.swift b/submodules/ContextUI/Sources/ContextContentSourceNode.swift index 9f8fe315d8..80a93d9a56 100644 --- a/submodules/ContextUI/Sources/ContextContentSourceNode.swift +++ b/submodules/ContextUI/Sources/ContextContentSourceNode.swift @@ -39,7 +39,6 @@ final class ContextControllerContentNode: ASDisplayNode { func updateLayout(size: CGSize, transition: ContainedViewLayoutTransition) { transition.updateFrame(node: self.controller.displayNode, frame: CGRect(origin: CGPoint(), size: size)) - self.controller.containerLayoutUpdated(ContainerViewLayout(size: size, metrics: LayoutMetrics(widthClass: .compact, heightClass: .compact), deviceMetrics: .iPhoneX, intrinsicInsets: UIEdgeInsets(), safeInsets: UIEdgeInsets(), statusBarHeight: nil, inputHeight: nil, inputHeightIsInteractivellyChanging: false, inVoiceOver: false), transition: transition) } } diff --git a/submodules/ContextUI/Sources/ContextController.swift b/submodules/ContextUI/Sources/ContextController.swift index 9c69570c7a..9d4a548041 100644 --- a/submodules/ContextUI/Sources/ContextController.swift +++ b/submodules/ContextUI/Sources/ContextController.swift @@ -6,6 +6,7 @@ import TelegramPresentationData import TextSelectionNode import ReactionSelectionNode import TelegramCore +import SwiftSignalKit private let animationDurationFactor: Double = 1.0 @@ -61,9 +62,17 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi private var theme: PresentationTheme private var strings: PresentationStrings private let source: ContextContentSource - private var items: [ContextMenuItem] + private var items: Signal<[ContextMenuItem], NoError> private let beginDismiss: (ContextMenuActionResult) -> Void private let reactionSelected: (String) -> Void + private let getController: () -> ContextController? + private weak var gesture: ContextGesture? + + private var didSetItemsReady = false + let itemsReady = Promise() + let contentReady = Promise() + + private var currentItems: [ContextMenuItem]? private var validLayout: ContainerViewLayout? @@ -93,13 +102,20 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi private var isAnimatingOut = false - init(account: Account, controller: ContextController, theme: PresentationTheme, strings: PresentationStrings, source: ContextContentSource, items: [ContextMenuItem], reactionItems: [ReactionContextItem], beginDismiss: @escaping (ContextMenuActionResult) -> Void, recognizer: TapLongTapOrDoubleTapGestureRecognizer?, reactionSelected: @escaping (String) -> Void) { + private let itemsDisposable = MetaDisposable() + + init(account: Account, controller: ContextController, theme: PresentationTheme, strings: PresentationStrings, source: ContextContentSource, items: Signal<[ContextMenuItem], NoError>, reactionItems: [ReactionContextItem], beginDismiss: @escaping (ContextMenuActionResult) -> Void, recognizer: TapLongTapOrDoubleTapGestureRecognizer?, gesture: ContextGesture?, reactionSelected: @escaping (String) -> Void) { self.theme = theme self.strings = strings self.source = source self.items = items self.beginDismiss = beginDismiss self.reactionSelected = reactionSelected + self.gesture = gesture + + self.getController = { [weak controller] in + return controller + } self.effectView = UIVisualEffectView() if #available(iOS 9.0, *) { @@ -131,9 +147,8 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi self.contentContainerNode = ContextContentContainerNode() - var getController: (() -> ContextController?)? - self.actionsContainerNode = ContextActionsContainerNode(theme: theme, items: items, getController: { - return getController?() + self.actionsContainerNode = ContextActionsContainerNode(theme: theme, items: [], getController: { [weak controller] in + return controller }, actionSelected: { result in beginDismiss(result) }) @@ -161,10 +176,6 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi self.scrollNode.addSubnode(self.contentContainerNode) self.reactionContextNode.flatMap(self.addSubnode) - getController = { [weak controller] in - return controller - } - if let recognizer = recognizer { recognizer.externalUpdated = { [weak self, weak recognizer] view, point in guard let strongSelf = self, let _ = recognizer else { @@ -245,6 +256,86 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi } } } + } else if let gesture = gesture { + gesture.externalUpdated = { [weak self, weak gesture] view, point in + guard let strongSelf = self, let _ = gesture else { + return + } + let localPoint = strongSelf.view.convert(point, from: view) + let initialPoint: CGPoint + if let current = strongSelf.initialContinueGesturePoint { + initialPoint = current + } else { + initialPoint = localPoint + strongSelf.initialContinueGesturePoint = localPoint + } + if strongSelf.didCompleteAnimationIn { + if !strongSelf.didMoveFromInitialGesturePoint { + let distance = abs(localPoint.y - initialPoint.y) + if distance > 4.0 { + strongSelf.didMoveFromInitialGesturePoint = true + } + } + if strongSelf.didMoveFromInitialGesturePoint { + let actionPoint = strongSelf.view.convert(localPoint, to: strongSelf.actionsContainerNode.view) + let actionNode = strongSelf.actionsContainerNode.actionNode(at: actionPoint) + if strongSelf.highlightedActionNode !== actionNode { + strongSelf.highlightedActionNode?.setIsHighlighted(false) + strongSelf.highlightedActionNode = actionNode + if let actionNode = actionNode { + actionNode.setIsHighlighted(true) + strongSelf.hapticFeedback.tap() + } + } + + if let reactionContextNode = strongSelf.reactionContextNode { + let highlightedReaction = reactionContextNode.reaction(at: strongSelf.view.convert(localPoint, to: reactionContextNode.view)).flatMap { value -> String? in + switch value { + case let .reaction(reaction, _, _): + return reaction + default: + return nil + } + } + if strongSelf.highlightedReaction != highlightedReaction { + strongSelf.highlightedReaction = highlightedReaction + reactionContextNode.setHighlightedReaction(highlightedReaction) + if let _ = highlightedReaction { + strongSelf.hapticFeedback.tap() + } + } + } + } + } + } + gesture.externalEnded = { [weak self, weak recognizer] viewAndPoint in + guard let strongSelf = self, let recognizer = recognizer else { + return + } + recognizer.externalUpdated = nil + if strongSelf.didMoveFromInitialGesturePoint { + if let (_, _) = viewAndPoint { + if let highlightedActionNode = strongSelf.highlightedActionNode { + strongSelf.highlightedActionNode = nil + highlightedActionNode.performAction() + } + if let _ = strongSelf.reactionContextNode { + if let reaction = strongSelf.highlightedReaction { + strongSelf.reactionSelected(reaction) + } + } + } else { + if let highlightedActionNode = strongSelf.highlightedActionNode { + strongSelf.highlightedActionNode = nil + highlightedActionNode.setIsHighlighted(false) + } + if let reactionContextNode = strongSelf.reactionContextNode, let _ = strongSelf.highlightedReaction { + strongSelf.highlightedReaction = nil + reactionContextNode.setHighlightedReaction(nil) + } + } + } + } } if let reactionContextNode = self.reactionContextNode { @@ -260,6 +351,20 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi } } } + + self.itemsDisposable.set((items + |> deliverOnMainQueue).start(next: { [weak self] items in + self?.setItems(items: items) + })) + + switch source { + case .extracted: + self.contentReady.set(.single(true)) + case let .controller(source): + self.contentReady.set(source.controller.ready.get()) + } + + self.initializeContent() } deinit { @@ -269,6 +374,8 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi propertyAnimator?.stopAnimation(true) } } + + self.itemsDisposable.dispose() } override func didLoad() { @@ -281,9 +388,7 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi self.beginDismiss(.default) } - func animateIn() { - self.hapticFeedback.impact() - + private func initializeContent() { switch self.source { case let .extracted(source): let takenViewInfo = source.takeView() @@ -330,13 +435,6 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi takenViewInfo.contentContainingNode.isExtractedToContextPreviewUpdated?(true) self.originalProjectedContentViewFrame = (convertFrame(takenViewInfo.contentContainingNode.frame, from: parentSupernode.view, to: self.view), convertFrame(takenViewInfo.contentContainingNode.contentRect, from: takenViewInfo.contentContainingNode.view, to: self.view)) - - var updatedContentAreaInScreenSpace = takenViewInfo.contentAreaInScreenSpace - updatedContentAreaInScreenSpace.origin.x = 0.0 - updatedContentAreaInScreenSpace.size.width = self.bounds.width - - self.clippingNode.layer.animateFrame(from: updatedContentAreaInScreenSpace, to: self.clippingNode.frame, duration: 0.18 * animationDurationFactor, timingFunction: CAMediaTimingFunctionName.easeInEaseOut.rawValue) - self.clippingNode.layer.animateBoundsOriginYAdditive(from: updatedContentAreaInScreenSpace.minY, to: 0.0, duration: 0.18 * animationDurationFactor, timingFunction: CAMediaTimingFunctionName.easeInEaseOut.rawValue) } case let .controller(source): let contentParentNode = ContextControllerContentNode(controller: source.controller) @@ -345,6 +443,30 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi self.contentContainerNode.cornerRadius = 14.0 self.contentContainerNode.addSubnode(contentParentNode) + let transitionInfo = source.transitionInfo() + if let transitionInfo = transitionInfo, let (sourceNode, sourceNodeRect) = transitionInfo.sourceNode() { + let projectedFrame = convertFrame(sourceNodeRect, from: sourceNode.view, to: self.view) + self.originalProjectedContentViewFrame = (projectedFrame, projectedFrame) + } + } + } + + func animateIn() { + self.gesture?.endPressedAppearance() + + self.hapticFeedback.impact() + + switch self.source { + case let .extracted(source): + if let contentAreaInScreenSpace = contentAreaInScreenSpace { + var updatedContentAreaInScreenSpace = contentAreaInScreenSpace + updatedContentAreaInScreenSpace.origin.x = 0.0 + updatedContentAreaInScreenSpace.size.width = self.bounds.width + + self.clippingNode.layer.animateFrame(from: updatedContentAreaInScreenSpace, to: self.clippingNode.frame, duration: 0.18 * animationDurationFactor, timingFunction: CAMediaTimingFunctionName.easeInEaseOut.rawValue) + self.clippingNode.layer.animateBoundsOriginYAdditive(from: updatedContentAreaInScreenSpace.minY, to: 0.0, duration: 0.18 * animationDurationFactor, timingFunction: CAMediaTimingFunctionName.easeInEaseOut.rawValue) + } + case let .controller(source): let transitionInfo = source.transitionInfo() if let transitionInfo = transitionInfo, let (sourceNode, sourceNodeRect) = transitionInfo.sourceNode() { let projectedFrame = convertFrame(sourceNodeRect, from: sourceNode.view, to: self.view) @@ -354,9 +476,6 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi updatedContentAreaInScreenSpace.origin.x = 0.0 updatedContentAreaInScreenSpace.size.width = self.bounds.width self.contentAreaInScreenSpace = updatedContentAreaInScreenSpace - - //self.clippingNode.layer.animateFrame(from: updatedContentAreaInScreenSpace, to: self.clippingNode.frame, duration: 0.18 * animationDurationFactor, timingFunction: CAMediaTimingFunctionName.easeInEaseOut.rawValue) - //self.clippingNode.layer.animateBoundsOriginYAdditive(from: updatedContentAreaInScreenSpace.minY, to: 0.0, duration: 0.18 * animationDurationFactor, timingFunction: CAMediaTimingFunctionName.easeInEaseOut.rawValue) } } @@ -372,14 +491,14 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi let propertyAnimator = propertyAnimator as? UIViewPropertyAnimator propertyAnimator?.stopAnimation(true) } - self.propertyAnimator = UIViewPropertyAnimator(duration: 0.2 * animationDurationFactor, curve: .easeInOut, animations: { [weak self] in + self.propertyAnimator = UIViewPropertyAnimator(duration: 0.2 * animationDurationFactor * UIView.animationDurationFactor(), curve: .easeInOut, animations: { [weak self] in self?.effectView.effect = makeCustomZoomBlurEffect() }) } if let _ = self.propertyAnimator { if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { - self.displayLinkAnimator = DisplayLinkAnimator(duration: 0.2 * animationDurationFactor, from: 0.0, to: 1.0, update: { [weak self] value in + self.displayLinkAnimator = DisplayLinkAnimator(duration: 0.2 * animationDurationFactor * UIView.animationDurationFactor(), from: 0.0, to: 1.0, update: { [weak self] value in (self?.propertyAnimator as? UIViewPropertyAnimator)?.fractionComplete = value }, completion: { [weak self] in self?.didCompleteAnimationIn = true @@ -394,11 +513,12 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi }) } - let springDuration: Double = 0.42 * animationDurationFactor - let springDamping: CGFloat = 104.0 if let contentNode = self.contentContainerNode.contentNode { switch contentNode { case let .extracted(extracted): + let springDuration: Double = 0.42 * animationDurationFactor + let springDamping: CGFloat = 104.0 + self.actionsContainerNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2 * animationDurationFactor) self.actionsContainerNode.layer.animateSpring(from: 0.1 as NSNumber, to: 1.0 as NSNumber, keyPath: "transform.scale", duration: springDuration, initialVelocity: 0.0, damping: springDamping) @@ -416,6 +536,9 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi contentParentNode.applyAbsoluteOffsetSpring?(-contentContainerOffset.y, springDuration, springDamping) } case .controller: + let springDuration: Double = 0.52 * animationDurationFactor + let springDamping: CGFloat = 110.0 + self.actionsContainerNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2 * animationDurationFactor) self.actionsContainerNode.layer.animateSpring(from: 0.1 as NSNumber, to: 1.0 as NSNumber, keyPath: "transform.scale", duration: springDuration, initialVelocity: 0.0, damping: springDamping) self.contentContainerNode.allowsGroupOpacity = true @@ -427,7 +550,7 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi if let originalProjectedContentViewFrame = self.originalProjectedContentViewFrame { let actionsSideInset: CGFloat = 11.0 - let localSourceFrame = self.view.convert(CGRect(origin: CGPoint(x: actionsSideInset, y: originalProjectedContentViewFrame.1.minY), size: CGSize(width: actionsSideInset, height: originalProjectedContentViewFrame.1.height)), to: self.scrollNode.view) + let localSourceFrame = self.view.convert(CGRect(origin: CGPoint(x: originalProjectedContentViewFrame.1.minX, y: originalProjectedContentViewFrame.1.minY), size: CGSize(width: originalProjectedContentViewFrame.1.width, height: originalProjectedContentViewFrame.1.height)), to: self.scrollNode.view) self.actionsContainerNode.layer.animateSpring(from: NSValue(cgPoint: CGPoint(x: localSourceFrame.center.x - self.actionsContainerNode.position.x, y: localSourceFrame.center.y - self.actionsContainerNode.position.y)), to: NSValue(cgPoint: CGPoint()), keyPath: "position", duration: springDuration, initialVelocity: 0.0, damping: springDamping, additive: true) let contentContainerOffset = CGPoint(x: localSourceFrame.center.x - self.contentContainerNode.frame.center.x, y: localSourceFrame.center.y - self.contentContainerNode.frame.center.y) self.contentContainerNode.layer.animateSpring(from: NSValue(cgPoint: contentContainerOffset), to: NSValue(cgPoint: CGPoint()), keyPath: "position", duration: springDuration, initialVelocity: 0.0, damping: springDamping, additive: true) @@ -511,14 +634,14 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi let propertyAnimator = propertyAnimator as? UIViewPropertyAnimator propertyAnimator?.stopAnimation(true) } - self.propertyAnimator = UIViewPropertyAnimator(duration: transitionDuration, curve: .easeInOut, animations: { [weak self] in + self.propertyAnimator = UIViewPropertyAnimator(duration: transitionDuration * UIView.animationDurationFactor(), curve: .easeInOut, animations: { [weak self] in self?.effectView.effect = nil }) } if let _ = self.propertyAnimator { if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { - self.displayLinkAnimator = DisplayLinkAnimator(duration: 0.2 * animationDurationFactor, from: 0.0, to: 0.999, update: { [weak self] value in + self.displayLinkAnimator = DisplayLinkAnimator(duration: 0.2 * animationDurationFactor * UIView.animationDurationFactor(), from: 0.0, to: 0.999, update: { [weak self] value in (self?.propertyAnimator as? UIViewPropertyAnimator)?.fractionComplete = value }, completion: { completedEffect = true @@ -648,14 +771,14 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi let propertyAnimator = propertyAnimator as? UIViewPropertyAnimator propertyAnimator?.stopAnimation(true) } - self.propertyAnimator = UIViewPropertyAnimator(duration: transitionDuration, curve: .easeInOut, animations: { [weak self] in + self.propertyAnimator = UIViewPropertyAnimator(duration: transitionDuration * UIView.animationDurationFactor(), curve: .easeInOut, animations: { [weak self] in self?.effectView.effect = nil }) } if let _ = self.propertyAnimator { if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { - self.displayLinkAnimator = DisplayLinkAnimator(duration: 0.2 * animationDurationFactor, from: 0.0, to: 0.999, update: { [weak self] value in + self.displayLinkAnimator = DisplayLinkAnimator(duration: 0.2 * animationDurationFactor * UIView.animationDurationFactor(), from: 0.0, to: 0.999, update: { [weak self] value in (self?.propertyAnimator as? UIViewPropertyAnimator)?.fractionComplete = value }, completion: { completedEffect = true @@ -697,7 +820,7 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi if animateOutToItem, let originalProjectedContentViewFrame = self.originalProjectedContentViewFrame { let actionsSideInset: CGFloat = 11.0 - let localSourceFrame = self.view.convert(CGRect(origin: CGPoint(x: actionsSideInset, y: originalProjectedContentViewFrame.1.minY), size: CGSize(width: actionsSideInset, height: originalProjectedContentViewFrame.1.height)), to: self.scrollNode.view) + let localSourceFrame = self.view.convert(CGRect(origin: CGPoint(x: originalProjectedContentViewFrame.1.minX, y: originalProjectedContentViewFrame.1.minY), size: CGSize(width: originalProjectedContentViewFrame.1.width, height: originalProjectedContentViewFrame.1.height)), to: self.scrollNode.view) self.actionsContainerNode.layer.animatePosition(from: CGPoint(), to: CGPoint(x: localSourceFrame.center.x - self.actionsContainerNode.position.x, y: localSourceFrame.center.y - self.actionsContainerNode.position.y), duration: transitionDuration * animationDurationFactor, timingFunction: transitionCurve.timingFunction, removeOnCompletion: false, additive: true) let contentContainerOffset = CGPoint(x: localSourceFrame.center.x - self.contentContainerNode.frame.center.x, y: localSourceFrame.center.y - self.contentContainerNode.frame.center.y) @@ -756,12 +879,23 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi }) } - func setItems(controller: ContextController, items: [ContextMenuItem]) { + func setItemsSignal(items: Signal<[ContextMenuItem], NoError>) { self.items = items + self.itemsDisposable.set((items + |> deliverOnMainQueue).start(next: { [weak self] items in + guard let strongSelf = self else { + return + } + strongSelf.setItems(items: items) + })) + } + + private func setItems(items: [ContextMenuItem]) { + self.currentItems = items let previousActionsContainerNode = self.actionsContainerNode - self.actionsContainerNode = ContextActionsContainerNode(theme: self.theme, items: items, getController: { [weak controller] in - return controller + self.actionsContainerNode = ContextActionsContainerNode(theme: self.theme, items: items, getController: { [weak self] in + return self?.getController() }, actionSelected: { [weak self] result in self?.beginDismiss(result) }) @@ -773,6 +907,11 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi } else { previousActionsContainerNode.removeFromSupernode() } + + if !self.didSetItemsReady { + self.didSetItemsReady = true + self.itemsReady.set(.single(true)) + } } func updateTheme(theme: PresentationTheme) { @@ -804,7 +943,6 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi transition.updateFrame(node: self.scrollNode, frame: CGRect(origin: CGPoint(), size: layout.size)) - let contentActionsSpacing: CGFloat = 7.0 let actionsSideInset: CGFloat = 11.0 var contentTopInset: CGFloat = max(11.0, layout.statusBarHeight ?? 0.0) if let _ = self.reactionContextNode { @@ -815,6 +953,7 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi if let contentNode = self.contentContainerNode.contentNode { switch contentNode { case let .extracted(contentParentNode): + let contentActionsSpacing: CGFloat = 8.0 if let originalProjectedContentViewFrame = self.originalProjectedContentViewFrame { let isInitialLayout = self.actionsContainerNode.frame.size.width.isZero let previousContainerFrame = self.view.convert(self.contentContainerNode.frame, from: self.scrollNode.view) @@ -867,23 +1006,29 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi } } case let .controller(contentParentNode): + let contentActionsSpacing: CGFloat = actionsSideInset let topEdge = max(contentTopInset, self.contentAreaInScreenSpace?.minY ?? 0.0) - contentParentNode.updateLayout(size: layout.size, transition: transition) + //contentParentNode.updateLayout(size: layout.size, transition: transition) let isInitialLayout = self.actionsContainerNode.frame.size.width.isZero let previousContainerFrame = self.view.convert(self.contentContainerNode.frame, from: self.scrollNode.view) let actionsSize = self.actionsContainerNode.updateLayout(constrainedWidth: layout.size.width - actionsSideInset * 2.0, transition: actionsContainerTransition) let contentScale = (layout.size.width - actionsSideInset * 2.0) / layout.size.width - let proposedContentHeight = layout.size.height - topEdge - contentActionsSpacing - actionsSize.height - layout.intrinsicInsets.bottom - actionsBottomInset - let contentUnscaledSize = CGSize(width: layout.size.width, height: max(400.0, proposedContentHeight)) + let contentUnscaledSize: CGSize + if !contentParentNode.controller.preferredContentSize.width.isZero { + contentUnscaledSize = contentParentNode.controller.preferredContentSize + } else { + let proposedContentHeight = layout.size.height - topEdge - contentActionsSpacing - actionsSize.height - layout.intrinsicInsets.bottom - actionsBottomInset + contentUnscaledSize = CGSize(width: layout.size.width, height: max(400.0, proposedContentHeight)) + } let contentSize = CGSize(width: floor(contentUnscaledSize.width * contentScale), height: floor(contentUnscaledSize.height * contentScale)) self.contentContainerNode.updateLayout(size: contentUnscaledSize, scaledSize: contentSize, transition: transition) let maximumActionsFrameOrigin = max(60.0, layout.size.height - layout.intrinsicInsets.bottom - actionsBottomInset - actionsSize.height) - var originalActionsFrame = CGRect(origin: CGPoint(x: actionsSideInset, y: maximumActionsFrameOrigin), size: actionsSize) + var originalActionsFrame = CGRect(origin: CGPoint(x: actionsSideInset, y: min(maximumActionsFrameOrigin, floor((layout.size.height - contentActionsSpacing - contentSize.height) / 2.0) + contentSize.height + contentActionsSpacing)), size: actionsSize) var originalContentFrame = CGRect(origin: CGPoint(x: actionsSideInset, y: originalActionsFrame.minY - contentActionsSpacing - contentSize.height), size: contentSize) if originalContentFrame.minY < topEdge { let requiredOffset = topEdge - originalContentFrame.minY @@ -1035,10 +1180,16 @@ public final class ContextController: ViewController { private var theme: PresentationTheme private var strings: PresentationStrings private let source: ContextContentSource - private var items: [ContextMenuItem] + private var items: Signal<[ContextMenuItem], NoError> private var reactionItems: [ReactionContextItem] + private let _ready = Promise() + override public var ready: Promise { + return self._ready + } + private weak var recognizer: TapLongTapOrDoubleTapGestureRecognizer? + private weak var gesture: ContextGesture? private var animatedDidAppear = false private var wasDismissed = false @@ -1049,7 +1200,7 @@ public final class ContextController: ViewController { public var reactionSelected: ((String) -> Void)? - public init(account: Account, theme: PresentationTheme, strings: PresentationStrings, source: ContextContentSource, items: [ContextMenuItem], reactionItems: [ReactionContextItem], recognizer: TapLongTapOrDoubleTapGestureRecognizer? = nil) { + public init(account: Account, theme: PresentationTheme, strings: PresentationStrings, source: ContextContentSource, items: Signal<[ContextMenuItem], NoError>, reactionItems: [ReactionContextItem], recognizer: TapLongTapOrDoubleTapGestureRecognizer? = nil, gesture: ContextGesture? = nil) { self.account = account self.theme = theme self.strings = strings @@ -1057,6 +1208,7 @@ public final class ContextController: ViewController { self.items = items self.reactionItems = reactionItems self.recognizer = recognizer + self.gesture = gesture super.init(navigationBarPresentationData: nil) @@ -1070,7 +1222,7 @@ public final class ContextController: ViewController { override public func loadDisplayNode() { self.displayNode = ContextControllerNode(account: self.account, controller: self, theme: self.theme, strings: self.strings, source: self.source, items: self.items, reactionItems: self.reactionItems, beginDismiss: { [weak self] result in self?.dismiss(result: result, completion: nil) - }, recognizer: self.recognizer, reactionSelected: { [weak self] value in + }, recognizer: self.recognizer, gesture: self.gesture, reactionSelected: { [weak self] value in guard let strongSelf = self else { return } @@ -1078,6 +1230,11 @@ public final class ContextController: ViewController { }) self.displayNodeDidLoad() + + self._ready.set(combineLatest(queue: .mainQueue(), self.controllerNode.itemsReady.get(), self.controllerNode.contentReady.get()) + |> map { values in + return values.0 && values.1 + }) } override public func containerLayoutUpdated(_ layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) { @@ -1098,10 +1255,10 @@ public final class ContextController: ViewController { } } - public func setItems(_ items: [ContextMenuItem]) { + public func setItems(_ items: Signal<[ContextMenuItem], NoError>) { self.items = items if self.isNodeLoaded { - self.controllerNode.setItems(controller: self, items: items) + self.controllerNode.setItemsSignal(items: items) } } diff --git a/submodules/ContextUI/Sources/ContextControllerSourceNode.swift b/submodules/ContextUI/Sources/ContextControllerSourceNode.swift new file mode 100644 index 0000000000..18137bbe91 --- /dev/null +++ b/submodules/ContextUI/Sources/ContextControllerSourceNode.swift @@ -0,0 +1,52 @@ +import Foundation +import AsyncDisplayKit +import Display + +public final class ContextControllerSourceNode: ASDisplayNode { + private var contextGesture: ContextGesture? + + public var isGestureEnabled: Bool = true { + didSet { + self.contextGesture?.isEnabled = self.isGestureEnabled + } + } + public var activated: ((ContextGesture) -> Void)? + + override public func didLoad() { + super.didLoad() + + let contextGesture = ContextGesture(target: self, action: nil) + self.contextGesture = contextGesture + self.view.addGestureRecognizer(contextGesture) + + contextGesture.activationProgress = { [weak self] progress, update in + guard let strongSelf = self, !strongSelf.bounds.width.isZero else { + return + } + let minScale: CGFloat = (strongSelf.bounds.width - 20.0) / strongSelf.bounds.width + let currentScale = 1.0 * (1.0 - progress) + minScale * progress + switch update { + case .update: + strongSelf.layer.sublayerTransform = CATransform3DMakeScale(currentScale, currentScale, 1.0) + case .begin: + strongSelf.layer.sublayerTransform = CATransform3DMakeScale(currentScale, currentScale, 1.0) + /*let previousProgress: CGFloat = 0.0 + let previousScale = 1.0 * (1.0 - previousProgress) + minScale * previousProgress + strongSelf.layer.sublayerTransform = CATransform3DMakeScale(currentScale, currentScale, 1.0) + strongSelf.layer.animate(from: previousScale as NSNumber, to: currentScale as NSNumber, keyPath: "sublayerTransform.scale", timingFunction: kCAMediaTimingFunctionSpring, duration: 0.3, additive: false)*/ + case let .ended(previousProgress): + let previousScale = 1.0 * (1.0 - previousProgress) + minScale * previousProgress + strongSelf.layer.sublayerTransform = CATransform3DMakeScale(currentScale, currentScale, 1.0) + strongSelf.layer.animate(from: previousScale as NSNumber, to: currentScale as NSNumber, keyPath: "sublayerTransform.scale", timingFunction: kCAMediaTimingFunctionSpring, duration: 0.3) + } + } + contextGesture.activated = { [weak self] gesture in + if let activated = self?.activated { + activated(gesture) + } else { + gesture.cancel() + } + } + contextGesture.isEnabled = self.isGestureEnabled + } +} diff --git a/submodules/ContextUI/Sources/ContextGesture.swift b/submodules/ContextUI/Sources/ContextGesture.swift new file mode 100644 index 0000000000..138ac07c79 --- /dev/null +++ b/submodules/ContextUI/Sources/ContextGesture.swift @@ -0,0 +1,170 @@ +import Foundation +import UIKit +import AsyncDisplayKit +import Display + +public enum ContextGestureTransition { + case begin + case update + case ended(CGFloat) +} + +private class TimerTargetWrapper: NSObject { + let f: () -> Void + + init(_ f: @escaping () -> Void) { + self.f = f + } + + @objc func timerEvent() { + self.f() + } +} + +private let beginDelay: Double = 0.1 + +private func cancelParentGestures(view: UIView) { + if let gestureRecognizers = view.gestureRecognizers { + for recognizer in gestureRecognizers { + recognizer.state = .failed + } + } + if let node = (view as? ListViewBackingView)?.target { + node.cancelSelection() + } + if let superview = view.superview { + cancelParentGestures(view: superview) + } +} + +public final class ContextGesture: UIGestureRecognizer, UIGestureRecognizerDelegate { + private var currentProgress: CGFloat = 0.0 + private var delayTimer: Timer? + private var isValidated: Bool = false + + public var activationProgress: ((CGFloat, ContextGestureTransition) -> Void)? + public var activated: ((ContextGesture) -> Void)? + public var externalUpdated: ((UIView?, CGPoint) -> Void)? + public var externalEnded: (((UIView?, CGPoint)?) -> Void)? + + override public init(target: Any?, action: Selector?) { + super.init(target: target, action: action) + + self.delegate = self + } + + override public func reset() { + super.reset() + + self.currentProgress = 0.0 + self.delayTimer?.invalidate() + self.delayTimer = nil + self.isValidated = false + self.externalUpdated = nil + self.externalEnded = nil + } + + public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { + if otherGestureRecognizer is UIPanGestureRecognizer { + return false + } + return true + } + + override public func touchesBegan(_ touches: Set, with event: UIEvent) { + super.touchesBegan(touches, with: event) + + if self.delayTimer == nil { + let delayTimer = Timer(timeInterval: beginDelay, target: TimerTargetWrapper { [weak self] in + guard let strongSelf = self, let _ = strongSelf.delayTimer else { + return + } + strongSelf.isValidated = true + strongSelf.activationProgress?(strongSelf.currentProgress, .begin) + }, selector: #selector(TimerTargetWrapper.timerEvent), userInfo: nil, repeats: false) + self.delayTimer = delayTimer + RunLoop.main.add(delayTimer, forMode: .common) + } + } + + override public func touchesMoved(_ touches: Set, with event: UIEvent) { + super.touchesMoved(touches, with: event) + + if let touch = touches.first { + if #available(iOS 9.0, *) { + let maxForce: CGFloat = min(3.0, touch.maximumPossibleForce) + let progress = touch.force / maxForce + self.currentProgress = progress + if self.isValidated { + self.activationProgress?(progress, .update) + } + if touch.force >= maxForce { + switch self.state { + case .possible: + self.delayTimer?.invalidate() + self.activated?(self) + if let view = self.view?.superview { + cancelParentGestures(view: view) + } + self.state = .began + default: + break + } + } + } + + self.externalUpdated?(self.view, touch.location(in: self.view)) + } + } + + override public func touchesEnded(_ touches: Set, with event: UIEvent) { + super.touchesEnded(touches, with: event) + + if let touch = touches.first { + if !self.currentProgress.isZero, self.isValidated { + if #available(iOS 9.0, *) { + self.activationProgress?(0.0, .ended(self.currentProgress)) + } + } + + self.externalEnded?((self.view, touch.location(in: self.view))) + } + + self.delayTimer?.invalidate() + + self.state = .failed + } + + override public func touchesCancelled(_ touches: Set, with event: UIEvent) { + super.touchesCancelled(touches, with: event) + + if let touch = touches.first, !self.currentProgress.isZero, self.isValidated { + if #available(iOS 9.0, *) { + self.activationProgress?(0.0, .ended(self.currentProgress)) + } + } + + self.delayTimer?.invalidate() + + self.state = .failed + } + + public func cancel() { + if !self.currentProgress.isZero, self.isValidated { + self.activationProgress?(0.0, .ended(self.currentProgress)) + + self.delayTimer?.invalidate() + self.state = .failed + } + } + + public func endPressedAppearance() { + if !self.currentProgress.isZero, self.isValidated { + let previousProgress = self.currentProgress + self.currentProgress = 0.0 + self.delayTimer?.invalidate() + self.isValidated = false + self.activationProgress?(0.0, .ended(previousProgress)) + } + } +} diff --git a/submodules/CounterContollerTitleView/BUCK b/submodules/CounterContollerTitleView/BUCK new file mode 100644 index 0000000000..72f2ca552a --- /dev/null +++ b/submodules/CounterContollerTitleView/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "CounterContollerTitleView", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/CounterContollerTitleView/CounterContollerTitleView.xcodeproj/project.pbxproj b/submodules/CounterContollerTitleView/CounterContollerTitleView.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..3bbea2cd58 --- /dev/null +++ b/submodules/CounterContollerTitleView/CounterContollerTitleView.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29BA75C4C600000000 + + isa + PBXFileReference + name + CounterContollerTitleView-Debug.xcconfig + path + ../../buck-out/gen/submodules/CounterContollerTitleView/CounterContollerTitleView-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D93A42B000000000 + + isa + PBXFileReference + name + CounterContollerTitleView-Profile.xcconfig + path + ../../buck-out/gen/submodules/CounterContollerTitleView/CounterContollerTitleView-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294CD0EE1200000000 + + isa + PBXFileReference + name + CounterContollerTitleView-Release.xcconfig + path + ../../buck-out/gen/submodules/CounterContollerTitleView/CounterContollerTitleView-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29BA75C4C600000000 + 1DD70E29D93A42B000000000 + 1DD70E294CD0EE1200000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B283177400000000 + + isa + PBXFileReference + name + CounterContollerTitleView.swift + path + Sources/CounterContollerTitleView.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B283177400000000 + + + B401C9799DE1740F00000000 + + isa + PBXGroup + name + CounterContollerTitleView + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E2915F6A49D00000000 + + isa + PBXFileReference + name + libCounterContollerTitleView.a + path + libCounterContollerTitleView.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2915F6A49D00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9799DE1740F00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04B283177400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B283177400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B283177400000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29BA75C4C600000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D93A42B000000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294CD0EE1200000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E9DE1740F00000000 + + isa + PBXNativeTarget + name + CounterContollerTitleView + productName + CounterContollerTitleView + productReference + 1DD70E2915F6A49D00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847939DE1740F00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E9DE1740F00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847939DE1740F00000000 + + \ No newline at end of file diff --git a/submodules/CounterContollerTitleView/CounterContollerTitleView.xcodeproj/xcshareddata/xcschemes/CounterContollerTitleView.xcscheme b/submodules/CounterContollerTitleView/CounterContollerTitleView.xcodeproj/xcshareddata/xcschemes/CounterContollerTitleView.xcscheme new file mode 100644 index 0000000000..dc056cc49c --- /dev/null +++ b/submodules/CounterContollerTitleView/CounterContollerTitleView.xcodeproj/xcshareddata/xcschemes/CounterContollerTitleView.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/CountrySelectionUI/BUCK b/submodules/CountrySelectionUI/BUCK new file mode 100644 index 0000000000..d42c4ed704 --- /dev/null +++ b/submodules/CountrySelectionUI/BUCK @@ -0,0 +1,21 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "CountrySelectionUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/CountrySelectionUI/CountrySelectionUI.xcodeproj/project.pbxproj b/submodules/CountrySelectionUI/CountrySelectionUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..62d7106f07 --- /dev/null +++ b/submodules/CountrySelectionUI/CountrySelectionUI.xcodeproj/project.pbxproj @@ -0,0 +1,683 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2959A68FAB00000000 + + isa + PBXFileReference + name + CountrySelectionUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/CountrySelectionUI/CountrySelectionUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296F63E85500000000 + + isa + PBXFileReference + name + CountrySelectionUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/CountrySelectionUI/CountrySelectionUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E2FA93B700000000 + + isa + PBXFileReference + name + CountrySelectionUI-Release.xcconfig + path + ../../buck-out/gen/submodules/CountrySelectionUI/CountrySelectionUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2959A68FAB00000000 + 1DD70E296F63E85500000000 + 1DD70E29E2FA93B700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B790435100000000 + + isa + PBXFileReference + name + AuthorizationSequenceCountrySelectionController.swift + path + Sources/AuthorizationSequenceCountrySelectionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2973938DF300000000 + + isa + PBXFileReference + name + AuthorizationSequenceCountrySelectionControllerNode.swift + path + Sources/AuthorizationSequenceCountrySelectionControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29373FDCD900000000 + + isa + PBXFileReference + name + CountryList.swift + path + Sources/CountryList.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B790435100000000 + 1DD70E2973938DF300000000 + 1DD70E29373FDCD900000000 + + + B401C979C262DBCA00000000 + + isa + PBXGroup + name + CountrySelectionUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29BF0846EE00000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + + + 1DD70E29016F454200000000 + + isa + PBXFileReference + name + libCountrySelectionUI.a + path + libCountrySelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29016F454200000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C262DBCA00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04B790435100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B790435100000000 + + E7A30F0473938DF300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2973938DF300000000 + + E7A30F04373FDCD900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29373FDCD900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B790435100000000 + E7A30F0473938DF300000000 + E7A30F04373FDCD900000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + E7A30F04DB6520C800000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + E7A30F04EA9CBB5B00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2959A68FAB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E296F63E85500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29E2FA93B700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EC262DBCA00000000 + + isa + PBXNativeTarget + name + CountrySelectionUI + productName + CountrySelectionUI + productReference + 1DD70E29016F454200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793C262DBCA00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EC262DBCA00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793C262DBCA00000000 + + \ No newline at end of file diff --git a/submodules/CountrySelectionUI/CountrySelectionUI.xcodeproj/xcshareddata/xcschemes/CountrySelectionUI.xcscheme b/submodules/CountrySelectionUI/CountrySelectionUI.xcodeproj/xcshareddata/xcschemes/CountrySelectionUI.xcscheme new file mode 100644 index 0000000000..f6788e676d --- /dev/null +++ b/submodules/CountrySelectionUI/CountrySelectionUI.xcodeproj/xcshareddata/xcschemes/CountrySelectionUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/CountrySelectionUI/CountrySelectionUI_Xcode.xcodeproj/project.pbxproj b/submodules/CountrySelectionUI/CountrySelectionUI_Xcode.xcodeproj/project.pbxproj index 93a5689204..d52f585933 100644 --- a/submodules/CountrySelectionUI/CountrySelectionUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/CountrySelectionUI/CountrySelectionUI_Xcode.xcodeproj/project.pbxproj @@ -16,9 +16,9 @@ D0C9C2AB2300A1A500FAB518 /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2AA2300A1A500FAB518 /* AsyncDisplayKit.framework */; }; D0C9C2AD2300A1AC00FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2AC2300A1AC00FAB518 /* TelegramPresentationData.framework */; }; D0C9C2AF2300A1B100FAB518 /* TelegramStringFormatting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2AE2300A1B100FAB518 /* TelegramStringFormatting.framework */; }; - D0C9C2B52300A1F300FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C2B42300A1F300FAB518 /* FrameworkBundle.swift */; }; D0C9C2D02300A2D400FAB518 /* SearchBarNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2CF2300A2D400FAB518 /* SearchBarNode.framework */; }; D0C9C4472300DE5100FAB518 /* CountryList.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C4462300DE5100FAB518 /* CountryList.swift */; }; + D0EFF2462319804800CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2452319804800CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -33,9 +33,9 @@ D0C9C2AA2300A1A500FAB518 /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AsyncDisplayKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C2AC2300A1AC00FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C2AE2300A1B100FAB518 /* TelegramStringFormatting.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramStringFormatting.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C2B42300A1F300FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C2CF2300A2D400FAB518 /* SearchBarNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SearchBarNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C4462300DE5100FAB518 /* CountryList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountryList.swift; sourceTree = ""; }; + D0EFF2452319804800CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -43,6 +43,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2462319804800CF5164 /* AppBundle.framework in Frameworks */, D0C9C2D02300A2D400FAB518 /* SearchBarNode.framework in Frameworks */, D0C9C2AF2300A1B100FAB518 /* TelegramStringFormatting.framework in Frameworks */, D0C9C2AD2300A1AC00FAB518 /* TelegramPresentationData.framework in Frameworks */, @@ -80,7 +81,6 @@ D0C9C4462300DE5100FAB518 /* CountryList.swift */, D0C9C29F2300A18B00FAB518 /* AuthorizationSequenceCountrySelectionController.swift */, D0C9C2A02300A18C00FAB518 /* AuthorizationSequenceCountrySelectionControllerNode.swift */, - D0C9C2B42300A1F300FAB518 /* FrameworkBundle.swift */, D0C9C2932300A11000FAB518 /* CountrySelectionUI.h */, ); path = Sources; @@ -89,6 +89,7 @@ D0C9C2A32300A19900FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2452319804800CF5164 /* AppBundle.framework */, D0C9C2CF2300A2D400FAB518 /* SearchBarNode.framework */, D0C9C2AE2300A1B100FAB518 /* TelegramStringFormatting.framework */, D0C9C2AC2300A1AC00FAB518 /* TelegramPresentationData.framework */, @@ -183,7 +184,6 @@ D0C9C4472300DE5100FAB518 /* CountryList.swift in Sources */, D0C9C2A22300A18C00FAB518 /* AuthorizationSequenceCountrySelectionControllerNode.swift in Sources */, D0C9C2A12300A18C00FAB518 /* AuthorizationSequenceCountrySelectionController.swift in Sources */, - D0C9C2B52300A1F300FAB518 /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionController.swift b/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionController.swift index 977e8b9507..634d08f6c1 100644 --- a/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionController.swift +++ b/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionController.swift @@ -5,9 +5,10 @@ import AsyncDisplayKit import TelegramPresentationData import TelegramStringFormatting import SearchBarNode +import AppBundle private func loadCountryCodes() -> [(String, Int)] { - guard let filePath = frameworkBundle.path(forResource: "PhoneCountries", ofType: "txt") else { + guard let filePath = getAppBundle().path(forResource: "PhoneCountries", ofType: "txt") else { return [] } guard let stringData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else { diff --git a/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionControllerNode.swift b/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionControllerNode.swift index 4f005b50a3..02e1095c8d 100644 --- a/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionControllerNode.swift +++ b/submodules/CountrySelectionUI/Sources/AuthorizationSequenceCountrySelectionControllerNode.swift @@ -5,9 +5,10 @@ import Display import TelegramCore import TelegramPresentationData import TelegramStringFormatting +import AppBundle private func loadCountryCodes() -> [(String, Int)] { - guard let filePath = frameworkBundle.path(forResource: "PhoneCountries", ofType: "txt") else { + guard let filePath = getAppBundle().path(forResource: "PhoneCountries", ofType: "txt") else { return [] } guard let stringData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else { diff --git a/submodules/CountrySelectionUI/Sources/CountryList.swift b/submodules/CountrySelectionUI/Sources/CountryList.swift index c1e8a8f76f..d695900dd4 100644 --- a/submodules/CountrySelectionUI/Sources/CountryList.swift +++ b/submodules/CountrySelectionUI/Sources/CountryList.swift @@ -1,7 +1,8 @@ import Foundation +import AppBundle private func loadCountriesInfo() -> [(Int, String, String)] { - guard let filePath = Bundle.main.path(forResource: "PhoneCountries", ofType: "txt") else { + guard let filePath = getAppBundle().path(forResource: "PhoneCountries", ofType: "txt") else { return [] } guard let stringData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else { diff --git a/submodules/CountrySelectionUI/Sources/FrameworkBundle.swift b/submodules/CountrySelectionUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/CountrySelectionUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/Crc32/BUCK b/submodules/Crc32/BUCK new file mode 100644 index 0000000000..9e0e9aeb63 --- /dev/null +++ b/submodules/Crc32/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Crc32", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "Sources/*.h", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/Crc32/Crc32.xcodeproj/project.pbxproj b/submodules/Crc32/Crc32.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f3139f1770 --- /dev/null +++ b/submodules/Crc32/Crc32.xcodeproj/project.pbxproj @@ -0,0 +1,343 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29005B5D4200000000 + + isa + PBXFileReference + name + Crc32-Debug.xcconfig + path + ../../buck-out/gen/submodules/Crc32/Crc32-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293C1BAC2C00000000 + + isa + PBXFileReference + name + Crc32-Profile.xcconfig + path + ../../buck-out/gen/submodules/Crc32/Crc32-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AFB2578E00000000 + + isa + PBXFileReference + name + Crc32-Release.xcconfig + path + ../../buck-out/gen/submodules/Crc32/Crc32-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29005B5D4200000000 + 1DD70E293C1BAC2C00000000 + 1DD70E29AFB2578E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29A055004D00000000 + + isa + PBXFileReference + name + Crc32.h + path + Sources/Crc32.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A055005200000000 + + isa + PBXFileReference + name + Crc32.m + path + Sources/Crc32.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29A055004D00000000 + 1DD70E29A055005200000000 + + + B401C97903E5731300000000 + + isa + PBXGroup + name + Crc32 + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2943956E2100000000 + + isa + PBXFileReference + name + libCrc32.a + path + libCrc32.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2943956E2100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97903E5731300000000 + B401C979C806358400000000 + + + E7A30F04A055005200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A055005200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04A055005200000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29005B5D4200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293C1BAC2C00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AFB2578E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E03E5731300000000 + + isa + PBXNativeTarget + name + Crc32 + productName + Crc32 + productReference + 1DD70E2943956E2100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479303E5731300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E03E5731300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479303E5731300000000 + + \ No newline at end of file diff --git a/submodules/Crc32/Crc32.xcodeproj/xcshareddata/xcschemes/Crc32.xcscheme b/submodules/Crc32/Crc32.xcodeproj/xcshareddata/xcschemes/Crc32.xcscheme new file mode 100644 index 0000000000..5a65a966da --- /dev/null +++ b/submodules/Crc32/Crc32.xcodeproj/xcshareddata/xcschemes/Crc32.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/DateSelectionUI/BUCK b/submodules/DateSelectionUI/BUCK new file mode 100644 index 0000000000..a5a27f0595 --- /dev/null +++ b/submodules/DateSelectionUI/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "DateSelectionUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/DateSelectionUI/DateSelectionUI.xcodeproj/project.pbxproj b/submodules/DateSelectionUI/DateSelectionUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..0813002c3d --- /dev/null +++ b/submodules/DateSelectionUI/DateSelectionUI.xcodeproj/project.pbxproj @@ -0,0 +1,709 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2908EBC60300000000 + + isa + PBXFileReference + name + DateSelectionUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/DateSelectionUI/DateSelectionUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296234E8AD00000000 + + isa + PBXFileReference + name + DateSelectionUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/DateSelectionUI/DateSelectionUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D5CB940F00000000 + + isa + PBXFileReference + name + DateSelectionUI-Release.xcconfig + path + ../../buck-out/gen/submodules/DateSelectionUI/DateSelectionUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2908EBC60300000000 + 1DD70E296234E8AD00000000 + 1DD70E29D5CB940F00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E292FA143EC00000000 + + isa + PBXFileReference + name + DateSelectionActionSheetController.swift + path + Sources/DateSelectionActionSheetController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E292FA143EC00000000 + + + B401C9790092C07200000000 + + isa + PBXGroup + name + DateSelectionUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E2979E58A0000000000 + + isa + PBXFileReference + name + libDateSelectionUI.a + path + libDateSelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2979E58A0000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9790092C07200000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F042FA143EC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292FA143EC00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F042FA143EC00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2908EBC60300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E296234E8AD00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29D5CB940F00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0092C07200000000 + + isa + PBXNativeTarget + name + DateSelectionUI + productName + DateSelectionUI + productReference + 1DD70E2979E58A0000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930092C07200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0092C07200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930092C07200000000 + + \ No newline at end of file diff --git a/submodules/DateSelectionUI/DateSelectionUI.xcodeproj/xcshareddata/xcschemes/DateSelectionUI.xcscheme b/submodules/DateSelectionUI/DateSelectionUI.xcodeproj/xcshareddata/xcschemes/DateSelectionUI.xcscheme new file mode 100644 index 0000000000..14631eb0c4 --- /dev/null +++ b/submodules/DateSelectionUI/DateSelectionUI.xcodeproj/xcshareddata/xcschemes/DateSelectionUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/DeleteChatPeerActionSheetItem/BUCK b/submodules/DeleteChatPeerActionSheetItem/BUCK new file mode 100644 index 0000000000..d99339b04f --- /dev/null +++ b/submodules/DeleteChatPeerActionSheetItem/BUCK @@ -0,0 +1,21 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "DeleteChatPeerActionSheetItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/AvatarNode:AvatarNode", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem.xcodeproj/project.pbxproj b/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..86eb202603 --- /dev/null +++ b/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem.xcodeproj/project.pbxproj @@ -0,0 +1,819 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29F6225ADE00000000 + + isa + PBXFileReference + name + DeleteChatPeerActionSheetItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DC19B2C800000000 + + isa + PBXFileReference + name + DeleteChatPeerActionSheetItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294FB05E2A00000000 + + isa + PBXFileReference + name + DeleteChatPeerActionSheetItem-Release.xcconfig + path + ../../buck-out/gen/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29F6225ADE00000000 + 1DD70E29DC19B2C800000000 + 1DD70E294FB05E2A00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C5E8C65C00000000 + + isa + PBXFileReference + name + DeleteChatPeerActionSheetItem.swift + path + Sources/DeleteChatPeerActionSheetItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C5E8C65C00000000 + + + B401C979DF4E70F700000000 + + isa + PBXGroup + name + DeleteChatPeerActionSheetItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29CED1620500000000 + + isa + PBXFileReference + name + libDeleteChatPeerActionSheetItem.a + path + libDeleteChatPeerActionSheetItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CED1620500000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979DF4E70F700000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04C5E8C65C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C5E8C65C00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C5E8C65C00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29F6225ADE00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29DC19B2C800000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294FB05E2A00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EDF4E70F700000000 + + isa + PBXNativeTarget + name + DeleteChatPeerActionSheetItem + productName + DeleteChatPeerActionSheetItem + productReference + 1DD70E29CED1620500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793DF4E70F700000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EDF4E70F700000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793DF4E70F700000000 + + \ No newline at end of file diff --git a/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem.xcodeproj/xcshareddata/xcschemes/DeleteChatPeerActionSheetItem.xcscheme b/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem.xcodeproj/xcshareddata/xcschemes/DeleteChatPeerActionSheetItem.xcscheme new file mode 100644 index 0000000000..293ab4be76 --- /dev/null +++ b/submodules/DeleteChatPeerActionSheetItem/DeleteChatPeerActionSheetItem.xcodeproj/xcshareddata/xcschemes/DeleteChatPeerActionSheetItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/DeviceAccess/BUCK b/submodules/DeviceAccess/BUCK new file mode 100644 index 0000000000..d74e86ec9c --- /dev/null +++ b/submodules/DeviceAccess/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "DeviceAccess", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/DeviceAccess/DeviceAccess.xcodeproj/project.pbxproj b/submodules/DeviceAccess/DeviceAccess.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e763d92a35 --- /dev/null +++ b/submodules/DeviceAccess/DeviceAccess.xcodeproj/project.pbxproj @@ -0,0 +1,709 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29173399FB00000000 + + isa + PBXFileReference + name + DeviceAccess-Debug.xcconfig + path + ../../buck-out/gen/submodules/DeviceAccess/DeviceAccess-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29FDD79EA500000000 + + isa + PBXFileReference + name + DeviceAccess-Profile.xcconfig + path + ../../buck-out/gen/submodules/DeviceAccess/DeviceAccess-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29716E4A0700000000 + + isa + PBXFileReference + name + DeviceAccess-Release.xcconfig + path + ../../buck-out/gen/submodules/DeviceAccess/DeviceAccess-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29173399FB00000000 + 1DD70E29FDD79EA500000000 + 1DD70E29716E4A0700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299307A29F00000000 + + isa + PBXFileReference + name + DeviceAccess.swift + path + Sources/DeviceAccess.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299307A29F00000000 + + + B401C979B2CC7B7A00000000 + + isa + PBXGroup + name + DeviceAccess + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292417E0B200000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979B2CC7B7A00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F049307A29F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299307A29F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049307A29F00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29173399FB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29FDD79EA500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29716E4A0700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EB2CC7B7A00000000 + + isa + PBXNativeTarget + name + DeviceAccess + productName + DeviceAccess + productReference + 1DD70E292417E0B200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793B2CC7B7A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EB2CC7B7A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793B2CC7B7A00000000 + + \ No newline at end of file diff --git a/submodules/DeviceAccess/DeviceAccess.xcodeproj/xcshareddata/xcschemes/DeviceAccess.xcscheme b/submodules/DeviceAccess/DeviceAccess.xcodeproj/xcshareddata/xcschemes/DeviceAccess.xcscheme new file mode 100644 index 0000000000..b8f2acc2fe --- /dev/null +++ b/submodules/DeviceAccess/DeviceAccess.xcodeproj/xcshareddata/xcschemes/DeviceAccess.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/DeviceLocationManager/BUCK b/submodules/DeviceLocationManager/BUCK new file mode 100644 index 0000000000..a9f7473e71 --- /dev/null +++ b/submodules/DeviceLocationManager/BUCK @@ -0,0 +1,15 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "DeviceLocationManager", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + ], +) diff --git a/submodules/DeviceLocationManager/DeviceLocationManager.xcodeproj/project.pbxproj b/submodules/DeviceLocationManager/DeviceLocationManager.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5ad62a3c17 --- /dev/null +++ b/submodules/DeviceLocationManager/DeviceLocationManager.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2906FD839300000000 + + isa + PBXFileReference + name + DeviceLocationManager-Debug.xcconfig + path + ../../buck-out/gen/submodules/DeviceLocationManager/DeviceLocationManager-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2922CD823D00000000 + + isa + PBXFileReference + name + DeviceLocationManager-Profile.xcconfig + path + ../../buck-out/gen/submodules/DeviceLocationManager/DeviceLocationManager-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2996642D9F00000000 + + isa + PBXFileReference + name + DeviceLocationManager-Release.xcconfig + path + ../../buck-out/gen/submodules/DeviceLocationManager/DeviceLocationManager-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2906FD839300000000 + 1DD70E2922CD823D00000000 + 1DD70E2996642D9F00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2901DC0E0700000000 + + isa + PBXFileReference + name + DeviceLocationManager.swift + path + Sources/DeviceLocationManager.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2901DC0E0700000000 + + + B401C979468F94E200000000 + + isa + PBXGroup + name + DeviceLocationManager + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295915423000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979468F94E200000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F0401DC0E0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2901DC0E0700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0401DC0E0700000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2906FD839300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2922CD823D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2996642D9F00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E468F94E200000000 + + isa + PBXNativeTarget + name + DeviceLocationManager + productName + DeviceLocationManager + productReference + 1DD70E295915423000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793468F94E200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E468F94E200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793468F94E200000000 + + \ No newline at end of file diff --git a/submodules/DeviceLocationManager/DeviceLocationManager.xcodeproj/xcshareddata/xcschemes/DeviceLocationManager.xcscheme b/submodules/DeviceLocationManager/DeviceLocationManager.xcodeproj/xcshareddata/xcschemes/DeviceLocationManager.xcscheme new file mode 100644 index 0000000000..161da0e645 --- /dev/null +++ b/submodules/DeviceLocationManager/DeviceLocationManager.xcodeproj/xcshareddata/xcschemes/DeviceLocationManager.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/DeviceProximity/BUCK b/submodules/DeviceProximity/BUCK new file mode 100644 index 0000000000..8d7d99755b --- /dev/null +++ b/submodules/DeviceProximity/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "DeviceProximity", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/DeviceProximity.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/DeviceProximity.h"]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/DeviceProximity/DeviceProximity.xcodeproj/project.pbxproj b/submodules/DeviceProximity/DeviceProximity.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..28b2ed55c4 --- /dev/null +++ b/submodules/DeviceProximity/DeviceProximity.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E565E6EC00000000 + + isa + PBXFileReference + name + DeviceProximity-Debug.xcconfig + path + ../../buck-out/gen/submodules/DeviceProximity/DeviceProximity-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2908AA735600000000 + + isa + PBXFileReference + name + DeviceProximity-Profile.xcconfig + path + ../../buck-out/gen/submodules/DeviceProximity/DeviceProximity-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297C411EB800000000 + + isa + PBXFileReference + name + DeviceProximity-Release.xcconfig + path + ../../buck-out/gen/submodules/DeviceProximity/DeviceProximity-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E565E6EC00000000 + 1DD70E2908AA735600000000 + 1DD70E297C411EB800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B136E6D900000000 + + isa + PBXFileReference + name + DeviceProximityBag.h + path + Sources/DeviceProximityBag.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B136E6DE00000000 + + isa + PBXFileReference + name + DeviceProximityBag.m + path + Sources/DeviceProximityBag.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2903AAE1BE00000000 + + isa + PBXFileReference + name + DeviceProximityManager.h + path + Sources/DeviceProximityManager.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2903AAE1C300000000 + + isa + PBXFileReference + name + DeviceProximityManager.m + path + Sources/DeviceProximityManager.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B136E6D900000000 + 1DD70E29B136E6DE00000000 + 1DD70E2903AAE1BE00000000 + 1DD70E2903AAE1C300000000 + + + B401C97962B20AA900000000 + + isa + PBXGroup + name + DeviceProximity + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D15B227700000000 + + isa + PBXFileReference + name + libDeviceProximity.a + path + libDeviceProximity.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D15B227700000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97962B20AA900000000 + B401C979C806358400000000 + + + E7A30F04B136E6DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B136E6DE00000000 + + E7A30F0403AAE1C300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2903AAE1C300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B136E6DE00000000 + E7A30F0403AAE1C300000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E565E6EC00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2908AA735600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E297C411EB800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E62B20AA900000000 + + isa + PBXNativeTarget + name + DeviceProximity + productName + DeviceProximity + productReference + 1DD70E29D15B227700000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479362B20AA900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E62B20AA900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479362B20AA900000000 + + \ No newline at end of file diff --git a/submodules/DeviceProximity/DeviceProximity.xcodeproj/xcshareddata/xcschemes/DeviceProximity.xcscheme b/submodules/DeviceProximity/DeviceProximity.xcodeproj/xcshareddata/xcschemes/DeviceProximity.xcscheme new file mode 100644 index 0000000000..8fe0a5b6a9 --- /dev/null +++ b/submodules/DeviceProximity/DeviceProximity.xcodeproj/xcshareddata/xcschemes/DeviceProximity.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/DirectionalPanGesture/BUCK b/submodules/DirectionalPanGesture/BUCK new file mode 100644 index 0000000000..c2ce482cf9 --- /dev/null +++ b/submodules/DirectionalPanGesture/BUCK @@ -0,0 +1,12 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "DirectionalPanGesture", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/DirectionalPanGesture/DirectionalPanGesture.xcodeproj/project.pbxproj b/submodules/DirectionalPanGesture/DirectionalPanGesture.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..50f230dc32 --- /dev/null +++ b/submodules/DirectionalPanGesture/DirectionalPanGesture.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D65B589F00000000 + + isa + PBXFileReference + name + DirectionalPanGesture-Debug.xcconfig + path + ../../buck-out/gen/submodules/DirectionalPanGesture/DirectionalPanGesture-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29920A444900000000 + + isa + PBXFileReference + name + DirectionalPanGesture-Profile.xcconfig + path + ../../buck-out/gen/submodules/DirectionalPanGesture/DirectionalPanGesture-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2905A0EFAB00000000 + + isa + PBXFileReference + name + DirectionalPanGesture-Release.xcconfig + path + ../../buck-out/gen/submodules/DirectionalPanGesture/DirectionalPanGesture-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D65B589F00000000 + 1DD70E29920A444900000000 + 1DD70E2905A0EFAB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2913FC0ABF00000000 + + isa + PBXFileReference + name + DirectionalPanGestureRecognizer.swift + path + Sources/DirectionalPanGestureRecognizer.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2913FC0ABF00000000 + + + B401C9796CDBC95600000000 + + isa + PBXGroup + name + DirectionalPanGesture + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E291D2629A400000000 + + isa + PBXFileReference + name + libDirectionalPanGesture.a + path + libDirectionalPanGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E291D2629A400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9796CDBC95600000000 + B401C979C806358400000000 + + + E7A30F0413FC0ABF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2913FC0ABF00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0413FC0ABF00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D65B589F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29920A444900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2905A0EFAB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6CDBC95600000000 + + isa + PBXNativeTarget + name + DirectionalPanGesture + productName + DirectionalPanGesture + productReference + 1DD70E291D2629A400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936CDBC95600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6CDBC95600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936CDBC95600000000 + + \ No newline at end of file diff --git a/submodules/DirectionalPanGesture/DirectionalPanGesture.xcodeproj/xcshareddata/xcschemes/DirectionalPanGesture.xcscheme b/submodules/DirectionalPanGesture/DirectionalPanGesture.xcodeproj/xcshareddata/xcschemes/DirectionalPanGesture.xcscheme new file mode 100644 index 0000000000..91048d9647 --- /dev/null +++ b/submodules/DirectionalPanGesture/DirectionalPanGesture.xcodeproj/xcshareddata/xcschemes/DirectionalPanGesture.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Display/BUCK b/submodules/Display/BUCK index d073d26cc1..5a427b027d 100644 --- a/submodules/Display/BUCK +++ b/submodules/Display/BUCK @@ -1,53 +1,24 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "framework") -apple_library( - name = 'DisplayPrivate', +framework( + name = "Display", srcs = glob([ - 'Display/*.m', + "Display/*.swift", + "Display/*.m", ]), headers = glob([ - 'Display/*.h', - ]), - header_namespace = 'DisplayPrivate', + "Display/*.h", + ], exclude = ["Display/Display.h"]), exported_headers = glob([ - 'Display/*.h', - ], exclude = ['Display/Display.h']), - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - compiler_flags = ['-w'], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['//submodules/Display:Display'], + "Display/*.h", + ], exclude = ["Display/Display.h"]), deps = [ - '//submodules/AsyncDisplayKit:AsyncDisplayKit', + "//submodules/AsyncDisplayKit:AsyncDisplayKit#dynamic", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + "//submodules/AppBundle:AppBundle", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - ], -) - -apple_library( - name = 'Display', - srcs = glob([ - 'Display/*.swift', - ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - swift_compiler_flags = [ - '-suppress-warnings', - '-application-extension', - ], - visibility = ['PUBLIC'], - deps = [ - ':DisplayPrivate', - '//submodules/AsyncDisplayKit:AsyncDisplayKit', - '//submodules/SSignalKit:SwiftSignalKit', - ], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - '$SDKROOT/System/Library/Frameworks/QuartzCore.framework', - '$SDKROOT/System/Library/Frameworks/CoreText.framework', - '$SDKROOT/System/Library/Frameworks/CoreGraphics.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", ], ) diff --git a/submodules/Display/Display/ActionSheetControllerNode.swift b/submodules/Display/Display/ActionSheetControllerNode.swift index af9c7fdfa1..643004021f 100644 --- a/submodules/Display/Display/ActionSheetControllerNode.swift +++ b/submodules/Display/Display/ActionSheetControllerNode.swift @@ -34,7 +34,7 @@ final class ActionSheetControllerNode: ASDisplayNode, UIScrollViewDelegate { self.scrollNode.canCancelAllTouchesInViews = true self.scrollView = self.scrollNode.view - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.scrollView.contentInsetAdjustmentBehavior = .never } self.scrollView.alwaysBounceVertical = true diff --git a/submodules/Display/Display/ActionSheetItemGroupNode.swift b/submodules/Display/Display/ActionSheetItemGroupNode.swift index 50801c91b8..b14c2da2c1 100644 --- a/submodules/Display/Display/ActionSheetItemGroupNode.swift +++ b/submodules/Display/Display/ActionSheetItemGroupNode.swift @@ -43,7 +43,7 @@ final class ActionSheetItemGroupNode: ASDisplayNode, UIScrollViewDelegate { self.scrollNode = ASScrollNode() self.scrollNode.canCancelAllTouchesInViews = true - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.scrollNode.view.contentInsetAdjustmentBehavior = .never } self.scrollNode.view.delaysContentTouches = false diff --git a/submodules/Display/Display/CAAnimationUtils.swift b/submodules/Display/Display/CAAnimationUtils.swift index 744ac19633..8246010784 100644 --- a/submodules/Display/Display/CAAnimationUtils.swift +++ b/submodules/Display/Display/CAAnimationUtils.swift @@ -1,9 +1,5 @@ import UIKit -#if BUCK -import DisplayPrivate -#endif - @objc private class CALayerAnimationDelegate: NSObject, CAAnimationDelegate { private let keyPath: String? var completion: ((Bool) -> Void)? diff --git a/submodules/Display/Display/ContainerViewLayout.swift b/submodules/Display/Display/ContainerViewLayout.swift index 64bceed61d..559ae45b58 100644 --- a/submodules/Display/Display/ContainerViewLayout.swift +++ b/submodules/Display/Display/ContainerViewLayout.swift @@ -83,12 +83,6 @@ public struct ContainerViewLayout: Equatable { public extension ContainerViewLayout { func insets(options: ContainerViewLayoutInsetOptions) -> UIEdgeInsets { var insets = self.intrinsicInsets - if self.inSlideOver { - let onScreenNavigationHeight = self.deviceMetrics.onScreenNavigationHeight(inLandscape: false) ?? 0.0 - if insets.bottom > 0.0 && abs(insets.bottom - onScreenNavigationHeight) < 0.1 { - insets.bottom = 0.0 - } - } if let statusBarHeight = self.statusBarHeight, options.contains(.statusBar) { insets.top += statusBarHeight } diff --git a/submodules/Display/Display/ContextMenuNode.swift b/submodules/Display/Display/ContextMenuNode.swift index e1f37bb529..8da32a3d48 100644 --- a/submodules/Display/Display/ContextMenuNode.swift +++ b/submodules/Display/Display/ContextMenuNode.swift @@ -255,7 +255,7 @@ final class ContextMenuNode: ASDisplayNode { override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if let event = event { var eventIsPresses = false - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { eventIsPresses = event.type == .presses } if event.type == .touches || eventIsPresses { diff --git a/submodules/Display/Display/DeviceMetrics.swift b/submodules/Display/Display/DeviceMetrics.swift index 2b68959099..3ff81fcfe3 100644 --- a/submodules/Display/Display/DeviceMetrics.swift +++ b/submodules/Display/Display/DeviceMetrics.swift @@ -25,6 +25,11 @@ public enum DeviceMetrics: CaseIterable, Equatable { } public init(screenSize: CGSize, statusBarHeight: CGFloat, onScreenNavigationHeight: CGFloat?) { + var screenSize = screenSize + if screenSize.width > screenSize.height { + screenSize = CGSize(width: screenSize.height, height: screenSize.width) + } + let additionalSize = CGSize(width: screenSize.width, height: screenSize.height + 20.0) for device in DeviceMetrics.allCases { if let _ = onScreenNavigationHeight, device.onScreenNavigationHeight(inLandscape: false) == nil { @@ -33,7 +38,7 @@ public enum DeviceMetrics: CaseIterable, Equatable { let width = device.screenSize.width let height = device.screenSize.height - if ((screenSize.width.isEqual(to: width) && screenSize.height.isEqual(to: height)) || screenSize.height.isEqual(to: width) && screenSize.width.isEqual(to: height)) || ((additionalSize.width.isEqual(to: width) && additionalSize.height.isEqual(to: height)) || additionalSize.height.isEqual(to: width) && additionalSize.width.isEqual(to: height)) { + if ((screenSize.width.isEqual(to: width) && screenSize.height.isEqual(to: height)) || (additionalSize.width.isEqual(to: width) && additionalSize.height.isEqual(to: height))) { self = device return } diff --git a/submodules/Display/Display/EditableTextNode.swift b/submodules/Display/Display/EditableTextNode.swift index b10ea9b24a..f5be807bf5 100644 --- a/submodules/Display/Display/EditableTextNode.swift +++ b/submodules/Display/Display/EditableTextNode.swift @@ -15,6 +15,22 @@ public class EditableTextNode: ASEditableTextNode { self.textView.reloadInputViews() } } + + public var isRTL: Bool { + if let text = self.textView.text, !text.isEmpty { + let tagger = NSLinguisticTagger(tagSchemes: [.language], options: 0) + tagger.string = text + + let lang = tagger.tag(at: 0, scheme: .language, tokenRange: nil, sentenceRange: nil) + if let lang = lang?.rawValue, lang.contains("he") || lang.contains("ar") || lang.contains("fa") { + return true + } else { + return false + } + } else { + return false + } + } } public extension UITextView { diff --git a/submodules/Display/Display/GenerateImage.swift b/submodules/Display/Display/GenerateImage.swift index b77f26efdb..218ade29c5 100644 --- a/submodules/Display/Display/GenerateImage.swift +++ b/submodules/Display/Display/GenerateImage.swift @@ -3,7 +3,7 @@ import UIKit import Accelerate public let deviceColorSpace: CGColorSpace = { - if #available(iOSApplicationExtension 9.3, *) { + if #available(iOSApplicationExtension 9.3, iOS 9.3, *) { if let colorSpace = CGColorSpace(name: CGColorSpace.displayP3) { return colorSpace } else { diff --git a/submodules/Display/Display/GridNodeScroller.swift b/submodules/Display/Display/GridNodeScroller.swift index cbd6801478..22a778f6e8 100644 --- a/submodules/Display/Display/GridNodeScroller.swift +++ b/submodules/Display/Display/GridNodeScroller.swift @@ -14,7 +14,7 @@ private class GridNodeScrollerView: UIScrollView { override init(frame: CGRect) { super.init(frame: frame) - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.contentInsetAdjustmentBehavior = .never } } diff --git a/submodules/Display/Display/HapticFeedback.swift b/submodules/Display/Display/HapticFeedback.swift index d5ba9c885c..e0c135f16a 100644 --- a/submodules/Display/Display/HapticFeedback.swift +++ b/submodules/Display/Display/HapticFeedback.swift @@ -103,7 +103,7 @@ public final class HapticFeedback { deinit { let impl = self.impl DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.0, execute: { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { if let impl = impl as? HapticFeedbackImpl { impl.f() } @@ -120,7 +120,7 @@ public final class HapticFeedback { } public func prepareTap() { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.prepareTap() } @@ -128,7 +128,7 @@ public final class HapticFeedback { } public func tap() { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.tap() } @@ -136,7 +136,7 @@ public final class HapticFeedback { } public func prepareImpact(_ style: ImpactHapticFeedbackStyle = .medium) { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.prepareImpact(style) } @@ -144,7 +144,7 @@ public final class HapticFeedback { } public func impact(_ style: ImpactHapticFeedbackStyle = .medium) { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.impact(style) } @@ -152,7 +152,7 @@ public final class HapticFeedback { } public func success() { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.success() } @@ -160,7 +160,7 @@ public final class HapticFeedback { } public func prepareError() { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.prepareError() } @@ -168,7 +168,7 @@ public final class HapticFeedback { } public func error() { - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { self.withImpl { impl in impl.error() } diff --git a/submodules/Display/Display/KeyShortcut.swift b/submodules/Display/Display/KeyShortcut.swift index ef00181595..4687d9b23d 100644 --- a/submodules/Display/Display/KeyShortcut.swift +++ b/submodules/Display/Display/KeyShortcut.swift @@ -30,7 +30,7 @@ extension UIKeyModifierFlags: Hashable { extension KeyShortcut { var uiKeyCommand: UIKeyCommand { - if #available(iOSApplicationExtension 9.0, *), !self.title.isEmpty { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *), !self.title.isEmpty { return UIKeyCommand(input: self.input, modifierFlags: self.modifiers, action: #selector(KeyShortcutsController.handleKeyCommand(_:)), discoverabilityTitle: self.title) } else { return UIKeyCommand(input: self.input, modifierFlags: self.modifiers, action: #selector(KeyShortcutsController.handleKeyCommand(_:))) diff --git a/submodules/Display/Display/KeyShortcutsController.swift b/submodules/Display/Display/KeyShortcutsController.swift index c6984d775e..c276aacbb2 100644 --- a/submodules/Display/Display/KeyShortcutsController.swift +++ b/submodules/Display/Display/KeyShortcutsController.swift @@ -9,7 +9,7 @@ public class KeyShortcutsController: UIResponder { private var viewControllerEnumerator: ((ContainableController) -> Bool) -> Void public static var isAvailable: Bool { - if #available(iOSApplicationExtension 8.0, *), UIDevice.current.userInterfaceIdiom == .pad { + if #available(iOSApplicationExtension 8.0, iOS 8.0, *), UIDevice.current.userInterfaceIdiom == .pad { return true } else { return false diff --git a/submodules/Display/Display/Keyboard.swift b/submodules/Display/Display/Keyboard.swift index 44526b8f1d..912cd8fb44 100644 --- a/submodules/Display/Display/Keyboard.swift +++ b/submodules/Display/Display/Keyboard.swift @@ -1,9 +1,5 @@ import Foundation -#if BUCK -import DisplayPrivate -#endif - public enum Keyboard { public static func applyAutocorrection() { applyKeyboardAutocorrection() diff --git a/submodules/Display/Display/KeyboardManager.swift b/submodules/Display/Display/KeyboardManager.swift index 0a63a1ebb4..56769ae4b9 100644 --- a/submodules/Display/Display/KeyboardManager.swift +++ b/submodules/Display/Display/KeyboardManager.swift @@ -2,10 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit -#if BUCK -import DisplayPrivate -#endif - struct KeyboardSurface { let host: UIView } diff --git a/submodules/Display/Display/LegacyPresentedController.swift b/submodules/Display/Display/LegacyPresentedController.swift index d0b8308e2e..6403a8088a 100644 --- a/submodules/Display/Display/LegacyPresentedController.swift +++ b/submodules/Display/Display/LegacyPresentedController.swift @@ -2,10 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit -#if BUCK -import DisplayPrivate -#endif - public enum LegacyPresentedControllerPresentation { case custom case modal diff --git a/submodules/Display/Display/ListView.swift b/submodules/Display/Display/ListView.swift index 90c10d45fd..8e628f723a 100644 --- a/submodules/Display/Display/ListView.swift +++ b/submodules/Display/Display/ListView.swift @@ -2,10 +2,6 @@ import UIKit import AsyncDisplayKit import SwiftSignalKit -#if BUCK -import DisplayPrivate -#endif - private let infiniteScrollSize: CGFloat = 10000.0 private let insertionAnimationDuration: Double = 0.4 @@ -30,39 +26,39 @@ private final class ListViewBackingLayer: CALayer { } } -final class ListViewBackingView: UIView { - weak var target: ListView? +public final class ListViewBackingView: UIView { + public fileprivate(set) weak var target: ListView? - override class var layerClass: AnyClass { + override public class var layerClass: AnyClass { return ListViewBackingLayer.self } - override func setNeedsLayout() { + override public func setNeedsLayout() { } - override func layoutSubviews() { + override public func layoutSubviews() { } - override func setNeedsDisplay() { + override public func setNeedsDisplay() { } - override func touchesBegan(_ touches: Set, with event: UIEvent?) { + override public func touchesBegan(_ touches: Set, with event: UIEvent?) { self.target?.touchesBegan(touches, with: event) } - override func touchesCancelled(_ touches: Set?, with event: UIEvent?) { + override public func touchesCancelled(_ touches: Set?, with event: UIEvent?) { self.target?.touchesCancelled(touches, with: event) } - override func touchesMoved(_ touches: Set, with event: UIEvent?) { + override public func touchesMoved(_ touches: Set, with event: UIEvent?) { self.target?.touchesMoved(touches, with: event) } - override func touchesEnded(_ touches: Set, with event: UIEvent?) { + override public func touchesEnded(_ touches: Set, with event: UIEvent?) { self.target?.touchesEnded(touches, with: event) } - override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { + override public func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if !self.isHidden, let target = self.target { if target.limitHitTestToNodes, !target.internalHitTest(point, with: event) { return nil @@ -74,7 +70,7 @@ final class ListViewBackingView: UIView { return super.hitTest(point, with: event) } - override func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool { + override public func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool { return self.target?.accessibilityScroll(direction) ?? false } } @@ -3748,6 +3744,13 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture super.touchesMoved(touches, with: event) } + public func cancelSelection() { + if let selectionTouchLocation = self.selectionTouchLocation { + self.clearHighlightAnimated(true) + self.selectionTouchLocation = nil + } + } + override open func touchesEnded(_ touches: Set, with event: UIEvent?) { if let selectionTouchLocation = self.selectionTouchLocation { let index = self.itemIndexAtPoint(selectionTouchLocation) diff --git a/submodules/Display/Display/ListViewAnimation.swift b/submodules/Display/Display/ListViewAnimation.swift index 18107a64c2..ec321c5d25 100644 --- a/submodules/Display/Display/ListViewAnimation.swift +++ b/submodules/Display/Display/ListViewAnimation.swift @@ -1,10 +1,6 @@ import Foundation import UIKit -#if BUCK -import DisplayPrivate -#endif - public protocol Interpolatable { static func interpolator() -> (Interpolatable, Interpolatable, CGFloat) -> (Interpolatable) } diff --git a/submodules/Display/Display/ListViewItemHeader.swift b/submodules/Display/Display/ListViewItemHeader.swift index 17bd083862..1cd37cd72d 100644 --- a/submodules/Display/Display/ListViewItemHeader.swift +++ b/submodules/Display/Display/ListViewItemHeader.swift @@ -2,10 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit -#if BUCK -import DisplayPrivate -#endif - public enum ListViewItemHeaderStickDirection { case top case bottom diff --git a/submodules/Display/Display/ListViewItemNode.swift b/submodules/Display/Display/ListViewItemNode.swift index a19c7370b7..176edea1d0 100644 --- a/submodules/Display/Display/ListViewItemNode.swift +++ b/submodules/Display/Display/ListViewItemNode.swift @@ -3,10 +3,6 @@ import UIKit import AsyncDisplayKit import SwiftSignalKit -#if BUCK -import DisplayPrivate -#endif - var testSpringFrictionLimits: (CGFloat, CGFloat) = (3.0, 60.0) var testSpringFriction: CGFloat = 31.8211269378662 diff --git a/submodules/Display/Display/ListViewScroller.swift b/submodules/Display/Display/ListViewScroller.swift index fe133f920e..dd8c2f9e75 100644 --- a/submodules/Display/Display/ListViewScroller.swift +++ b/submodules/Display/Display/ListViewScroller.swift @@ -6,7 +6,7 @@ class ListViewScroller: UIScrollView, UIGestureRecognizerDelegate { #if os(iOS) self.scrollsToTop = false - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.contentInsetAdjustmentBehavior = .never } #endif diff --git a/submodules/Display/Display/NativeWindowHostView.swift b/submodules/Display/Display/NativeWindowHostView.swift index 386803213b..99f67a6a1b 100644 --- a/submodules/Display/Display/NativeWindowHostView.swift +++ b/submodules/Display/Display/NativeWindowHostView.swift @@ -77,7 +77,7 @@ private final class WindowRootViewController: UIViewController, UIViewController var gestureEdges: UIRectEdge = [] { didSet { if oldValue != self.gestureEdges { - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.setNeedsUpdateOfScreenEdgesDeferringSystemGestures() } } @@ -87,7 +87,7 @@ private final class WindowRootViewController: UIViewController, UIViewController var preferNavigationUIHidden: Bool = false { didSet { if oldValue != self.preferNavigationUIHidden { - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.setNeedsUpdateOfHomeIndicatorAutoHidden() } } @@ -111,7 +111,7 @@ private final class WindowRootViewController: UIViewController, UIViewController self.extendedLayoutIncludesOpaqueBars = true - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.voiceOverStatusObserver = NotificationCenter.default.addObserver(forName: UIAccessibility.voiceOverStatusDidChangeNotification, object: nil, queue: OperationQueue.main, using: { [weak self] _ in if let strongSelf = self { strongSelf.updatePreviewingRegistration() @@ -159,23 +159,25 @@ private final class WindowRootViewController: UIViewController, UIViewController var shouldRegister = false var isVoiceOverRunning = false - if #available(iOSApplicationExtension 10.0, *) { + if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { isVoiceOverRunning = UIAccessibility.isVoiceOverRunning } if !isVoiceOverRunning { shouldRegister = true } + shouldRegister = false + if shouldRegister != self.registeredForPreviewing { self.registeredForPreviewing = shouldRegister if shouldRegister { - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { self.previewingContext = self.registerForPreviewing(with: self, sourceView: self.view) } } else if let previewingContext = self.previewingContext { self.previewingContext = nil if let previewingContext = previewingContext as? UIViewControllerPreviewing { - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { self.unregisterForPreviewing(withContext: previewingContext) } } @@ -189,7 +191,7 @@ private final class WindowRootViewController: UIViewController, UIViewController if UIAccessibility.isVoiceOverRunning { return nil } - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { guard let result = self.view.hitTest(location, with: nil) else { return nil } @@ -205,7 +207,7 @@ private final class WindowRootViewController: UIViewController, UIViewController } public func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) { - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { if let previousPreviewingHostView = self.previousPreviewingHostView, let delegate = previousPreviewingHostView.previewingDelegate { delegate.commitController(viewControllerToCommit) } @@ -237,7 +239,7 @@ private final class NativeWindow: UIWindow, WindowHost { let sizeUpdated = super.frame.size != value.size var frameTransition: ContainedViewLayoutTransition = .immediate - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { let duration = UIView.inheritedAnimationDuration if !duration.isZero { frameTransition = .animated(duration: duration, curve: .easeInOut) diff --git a/submodules/Display/Display/NavigationBackButtonNode.swift b/submodules/Display/Display/NavigationBackButtonNode.swift index 5b82bbab24..2aa17d953e 100644 --- a/submodules/Display/Display/NavigationBackButtonNode.swift +++ b/submodules/Display/Display/NavigationBackButtonNode.swift @@ -1,5 +1,6 @@ import UIKit import AsyncDisplayKit +import AppBundle public class NavigationBackButtonNode: ASControlNode { private func fontForCurrentState() -> UIFont { @@ -60,7 +61,7 @@ public class NavigationBackButtonNode: ASControlNode { self.label.displaysAsynchronously = false self.addSubnode(self.arrow) - let arrowImage = UIImage(named: "NavigationBackArrowLight", in: Bundle(for: NavigationBackButtonNode.self), compatibleWith: nil)?.precomposed() + let arrowImage = UIImage(named: "NavigationBackArrowLight", in: getAppBundle(), compatibleWith: nil)?.precomposed() self.arrow.contents = arrowImage?.cgImage self.arrow.frame = CGRect(origin: CGPoint(), size: arrowImage?.size ?? CGSize()) diff --git a/submodules/Display/Display/NavigationController.swift b/submodules/Display/Display/NavigationController.swift index 5338e42446..11799d6f45 100644 --- a/submodules/Display/Display/NavigationController.swift +++ b/submodules/Display/Display/NavigationController.swift @@ -3,10 +3,6 @@ import UIKit import AsyncDisplayKit import SwiftSignalKit -#if BUCK -import DisplayPrivate -#endif - public final class NavigationControllerTheme { public let navigationBar: NavigationBarTheme public let emptyAreaColor: UIColor @@ -785,7 +781,7 @@ open class NavigationController: UINavigationController, ContainableController, self.controllerView.backgroundColor = self.theme.emptyAreaColor self.controllerView.separatorView.backgroundColor = theme.navigationBar.separatorColor - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.navigationBar.prefersLargeTitles = false } self.navigationBar.removeFromSuperview() diff --git a/submodules/Display/Display/NavigationTransitionCoordinator.swift b/submodules/Display/Display/NavigationTransitionCoordinator.swift index 6254c7defe..7ebe56c0fa 100644 --- a/submodules/Display/Display/NavigationTransitionCoordinator.swift +++ b/submodules/Display/Display/NavigationTransitionCoordinator.swift @@ -1,4 +1,5 @@ import UIKit +import AppBundle enum NavigationTransition { case Push @@ -8,7 +9,7 @@ enum NavigationTransition { private let shadowWidth: CGFloat = 16.0 private func generateShadow() -> UIImage? { - return UIImage(named: "NavigationShadow", in: Bundle(for: NavigationBackButtonNode.self), compatibleWith: nil)?.precomposed().resizableImage(withCapInsets: UIEdgeInsets(), resizingMode: .tile) + return UIImage(named: "NavigationShadow", in: getAppBundle(), compatibleWith: nil)?.precomposed().resizableImage(withCapInsets: UIEdgeInsets(), resizingMode: .tile) } private let shadowImage = generateShadow() diff --git a/submodules/Display/Display/PeekControllerGestureRecognizer.swift b/submodules/Display/Display/PeekControllerGestureRecognizer.swift index 7a4d3c3fd8..abaa6c0201 100644 --- a/submodules/Display/Display/PeekControllerGestureRecognizer.swift +++ b/submodules/Display/Display/PeekControllerGestureRecognizer.swift @@ -184,7 +184,7 @@ public final class PeekControllerGestureRecognizer: UIPanGestureRecognizer { (presentedController.displayNode as? PeekControllerNode)?.applyDraggingOffset(offset) } case .press: - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { if touch.force >= 2.5 { if presentedController.isNodeLoaded { (presentedController.displayNode as? PeekControllerNode)?.activateMenu() @@ -276,7 +276,7 @@ public final class PeekControllerGestureRecognizer: UIPanGestureRecognizer { case .drag: break case .press: - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { if presentedController.traitCollection.forceTouchCapability != .available { strongSelf.startPressTimer() } diff --git a/submodules/Display/Display/ScrollToTopProxyView.swift b/submodules/Display/Display/ScrollToTopProxyView.swift index 3433b8b88f..1544e0d027 100644 --- a/submodules/Display/Display/ScrollToTopProxyView.swift +++ b/submodules/Display/Display/ScrollToTopProxyView.swift @@ -8,7 +8,7 @@ class ScrollToTopView: UIScrollView, UIScrollViewDelegate { self.delegate = self self.scrollsToTop = true - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.contentInsetAdjustmentBehavior = .never } } diff --git a/submodules/Display/Display/StatusBar.swift b/submodules/Display/Display/StatusBar.swift index 7fa7814950..f0e1ae3462 100644 --- a/submodules/Display/Display/StatusBar.swift +++ b/submodules/Display/Display/StatusBar.swift @@ -2,10 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit -#if BUCK -import DisplayPrivate -#endif - public class StatusBarSurface { var statusBars: [StatusBar] = [] diff --git a/submodules/Display/Display/TabBarNode.swift b/submodules/Display/Display/TabBarNode.swift index 99f37b694f..3df984b58b 100644 --- a/submodules/Display/Display/TabBarNode.swift +++ b/submodules/Display/Display/TabBarNode.swift @@ -3,10 +3,6 @@ import UIKit import AsyncDisplayKit import SwiftSignalKit -#if BUCK -import DisplayPrivate -#endif - private let separatorHeight: CGFloat = 1.0 / UIScreen.main.scale private func tabBarItemImage(_ image: UIImage?, title: String, backgroundColor: UIColor, tintColor: UIColor, horizontal: Bool, imageMode: Bool) -> (UIImage, CGFloat) { let font = horizontal ? Font.regular(13.0) : Font.medium(10.0) diff --git a/submodules/Display/Display/TooltipControllerNode.swift b/submodules/Display/Display/TooltipControllerNode.swift index b9fabbc225..8d16192b42 100644 --- a/submodules/Display/Display/TooltipControllerNode.swift +++ b/submodules/Display/Display/TooltipControllerNode.swift @@ -121,7 +121,7 @@ final class TooltipControllerNode: ASDisplayNode { override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if let event = event { var eventIsPresses = false - if #available(iOSApplicationExtension 9.0, *) { + if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { eventIsPresses = event.type == .presses } if event.type == .touches || eventIsPresses { diff --git a/submodules/Display/Display/UITracingLayerView.swift b/submodules/Display/Display/UITracingLayerView.swift index 4949f056b9..8a68530dea 100644 --- a/submodules/Display/Display/UITracingLayerView.swift +++ b/submodules/Display/Display/UITracingLayerView.swift @@ -2,10 +2,6 @@ import Foundation import UIKit import AsyncDisplayKit -#if BUCK -import DisplayPrivate -#endif - open class UITracingLayerView: UIView { private var scheduledWithLayout: (() -> Void)? diff --git a/submodules/Display/Display/ViewController.swift b/submodules/Display/Display/ViewController.swift index 561c7c7538..923a40f8e8 100644 --- a/submodules/Display/Display/ViewController.swift +++ b/submodules/Display/Display/ViewController.swift @@ -3,10 +3,6 @@ import UIKit import AsyncDisplayKit import SwiftSignalKit -#if BUCK -import DisplayPrivate -#endif - private func findCurrentResponder(_ view: UIView) -> UIResponder? { if view.isFirstResponder { return view diff --git a/submodules/Display/Display/WindowContent.swift b/submodules/Display/Display/WindowContent.swift index a794da4b03..fabe7ac0da 100644 --- a/submodules/Display/Display/WindowContent.swift +++ b/submodules/Display/Display/WindowContent.swift @@ -3,10 +3,6 @@ import UIKit import AsyncDisplayKit import SwiftSignalKit -#if BUCK -import DisplayPrivate -#endif - private struct WindowLayout: Equatable { let size: CGSize let metrics: LayoutMetrics @@ -85,6 +81,7 @@ private struct UpdatingLayout { } } +private let defaultStatusBarHeight: CGFloat = 20.0 private let statusBarHiddenInLandscape: Bool = UIDevice.current.userInterfaceIdiom == .phone private func inputHeightOffsetForLayout(_ layout: WindowLayout) -> CGFloat { @@ -236,7 +233,7 @@ public final class WindowHostView { } fileprivate var onScreenNavigationHeight: CGFloat? { - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { return self.eventView.safeAreaInsets.bottom.isLessThanOrEqualTo(0.0) ? nil : self.eventView.safeAreaInsets.bottom } else { return nil @@ -280,7 +277,7 @@ public final class WindowKeyboardGestureRecognizerDelegate: NSObject, UIGestureR public class Window1 { public let hostView: WindowHostView - private let deviceMetrics: DeviceMetrics + private var deviceMetrics: DeviceMetrics private let statusBarHost: StatusBarHost? private let statusBarManager: StatusBarManager? @@ -342,7 +339,7 @@ public class Window1 { self.volumeControlStatusBarNode.isHidden = true let boundsSize = self.hostView.eventView.bounds.size - self.deviceMetrics = DeviceMetrics(screenSize: UIScreen.main.bounds.size, statusBarHeight: statusBarHost?.statusBarFrame.height ?? 20.0, onScreenNavigationHeight: self.hostView.onScreenNavigationHeight) + self.deviceMetrics = DeviceMetrics(screenSize: UIScreen.main.bounds.size, statusBarHeight: statusBarHost?.statusBarFrame.height ?? defaultStatusBarHeight, onScreenNavigationHeight: self.hostView.onScreenNavigationHeight) self.statusBarHost = statusBarHost let statusBarHeight: CGFloat @@ -439,7 +436,7 @@ public class Window1 { self.statusBarChangeObserver = NotificationCenter.default.addObserver(forName: UIApplication.willChangeStatusBarFrameNotification, object: nil, queue: OperationQueue.main, using: { [weak self] notification in if let strongSelf = self { - let statusBarHeight: CGFloat = max(20.0, (notification.userInfo?[UIApplication.statusBarFrameUserInfoKey] as? NSValue)?.cgRectValue.height ?? 20.0) + let statusBarHeight: CGFloat = max(defaultStatusBarHeight, (notification.userInfo?[UIApplication.statusBarFrameUserInfoKey] as? NSValue)?.cgRectValue.height ?? defaultStatusBarHeight) let transition: ContainedViewLayoutTransition = .animated(duration: 0.35, curve: .easeInOut) strongSelf.updateLayout { $0.update(statusBarHeight: statusBarHeight, transition: transition, overrideTransition: false) } @@ -510,7 +507,7 @@ public class Window1 { } }) - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.keyboardTypeChangeObserver = NotificationCenter.default.addObserver(forName: UITextInputMode.currentInputModeDidChangeNotification, object: nil, queue: OperationQueue.main, using: { [weak self] notification in if let strongSelf = self, let initialInputHeight = strongSelf.windowLayout.inputHeight, let firstResponder = getFirstResponderAndAccessoryHeight(strongSelf.hostView.eventView).0 { if firstResponder.textInputMode?.primaryLanguage != nil { @@ -541,7 +538,7 @@ public class Window1 { }) } - if #available(iOSApplicationExtension 11.0, *) { + if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { self.voiceOverStatusObserver = NotificationCenter.default.addObserver(forName: UIAccessibility.voiceOverStatusDidChangeNotification, object: nil, queue: OperationQueue.main, using: { [weak self] _ in if let strongSelf = self { strongSelf.updateLayout { $0.update(inVoiceOver: UIAccessibility.isVoiceOverRunning) } @@ -947,6 +944,11 @@ public class Window1 { } else { statusBarHeight = self.deviceMetrics.statusBarHeight } + + if self.deviceMetrics.type == .tablet, let onScreenNavigationHeight = self.hostView.onScreenNavigationHeight, onScreenNavigationHeight != self.deviceMetrics.onScreenNavigationHeight(inLandscape: false) { + self.deviceMetrics = DeviceMetrics(screenSize: UIScreen.main.bounds.size, statusBarHeight: statusBarHeight ?? defaultStatusBarHeight, onScreenNavigationHeight: onScreenNavigationHeight) + } + let statusBarWasHidden = self.statusBarHidden if statusBarHiddenInLandscape && isLandscape { statusBarHeight = nil diff --git a/submodules/Display/Display_Xcode.xcodeproj/project.pbxproj b/submodules/Display/Display_Xcode.xcodeproj/project.pbxproj index b4241bb3e0..3525be327c 100644 --- a/submodules/Display/Display_Xcode.xcodeproj/project.pbxproj +++ b/submodules/Display/Display_Xcode.xcodeproj/project.pbxproj @@ -55,7 +55,6 @@ D03AA4EB202E02B10056C405 /* ListViewReorderingGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03AA4EA202E02B10056C405 /* ListViewReorderingGestureRecognizer.swift */; }; D03AA5162030C5F80056C405 /* ListViewTempItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03AA5152030C5F80056C405 /* ListViewTempItemNode.swift */; }; D03B0E701D6331FB00955575 /* StatusBarHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03B0E6F1D6331FB00955575 /* StatusBarHost.swift */; }; - D03E7DE41C96A90100C07816 /* NavigationShadow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D03E7DE31C96A90100C07816 /* NavigationShadow@2x.png */; }; D03E7DE61C96B96E00C07816 /* NavigationBarTransitionContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E7DE51C96B96E00C07816 /* NavigationBarTransitionContainer.swift */; }; D03E7DF81C96C5F200C07816 /* NSWeakReference.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E7DF61C96C5F200C07816 /* NSWeakReference.h */; settings = {ATTRIBUTES = (Public, ); }; }; D03E7DF91C96C5F200C07816 /* NSWeakReference.m in Sources */ = {isa = PBXBuildFile; fileRef = D03E7DF71C96C5F200C07816 /* NSWeakReference.m */; }; @@ -101,7 +100,6 @@ D05CC3201B695A9600E235A3 /* NavigationControllerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = D05CC3141B695A9600E235A3 /* NavigationControllerProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; D05CC3241B695B0700E235A3 /* NavigationBarProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = D05CC3221B695B0700E235A3 /* NavigationBarProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; D05CC3251B695B0700E235A3 /* NavigationBarProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = D05CC3231B695B0700E235A3 /* NavigationBarProxy.m */; }; - D05CC3271B69725400E235A3 /* NavigationBackArrowLight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D05CC3261B69725400E235A3 /* NavigationBackArrowLight@2x.png */; }; D05CC3291B69750D00E235A3 /* InteractiveTransitionGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D05CC3281B69750D00E235A3 /* InteractiveTransitionGestureRecognizer.swift */; }; D060185F22F35E7400796784 /* ShakeAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D060185E22F35E7400796784 /* ShakeAnimation.swift */; }; D06B76DB20592A97006E9EEA /* LayoutSizes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06B76DA20592A97006E9EEA /* LayoutSizes.swift */; }; @@ -231,7 +229,6 @@ D03AA4EA202E02B10056C405 /* ListViewReorderingGestureRecognizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListViewReorderingGestureRecognizer.swift; sourceTree = ""; }; D03AA5152030C5F80056C405 /* ListViewTempItemNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListViewTempItemNode.swift; sourceTree = ""; }; D03B0E6F1D6331FB00955575 /* StatusBarHost.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StatusBarHost.swift; sourceTree = ""; }; - D03E7DE31C96A90100C07816 /* NavigationShadow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "NavigationShadow@2x.png"; sourceTree = ""; }; D03E7DE51C96B96E00C07816 /* NavigationBarTransitionContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationBarTransitionContainer.swift; sourceTree = ""; }; D03E7DF61C96C5F200C07816 /* NSWeakReference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSWeakReference.h; sourceTree = ""; }; D03E7DF71C96C5F200C07816 /* NSWeakReference.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSWeakReference.m; sourceTree = ""; }; @@ -280,7 +277,6 @@ D05CC3141B695A9600E235A3 /* NavigationControllerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigationControllerProxy.h; sourceTree = ""; }; D05CC3221B695B0700E235A3 /* NavigationBarProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigationBarProxy.h; sourceTree = ""; }; D05CC3231B695B0700E235A3 /* NavigationBarProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NavigationBarProxy.m; sourceTree = ""; }; - D05CC3261B69725400E235A3 /* NavigationBackArrowLight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "NavigationBackArrowLight@2x.png"; sourceTree = ""; }; D05CC3281B69750D00E235A3 /* InteractiveTransitionGestureRecognizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InteractiveTransitionGestureRecognizer.swift; sourceTree = ""; }; D060185E22F35E7400796784 /* ShakeAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShakeAnimation.swift; sourceTree = ""; }; D06B76DA20592A97006E9EEA /* LayoutSizes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LayoutSizes.swift; sourceTree = ""; }; @@ -575,8 +571,6 @@ D05CC2E11B69534100E235A3 /* Supporting Files */ = { isa = PBXGroup; children = ( - D03E7DE31C96A90100C07816 /* NavigationShadow@2x.png */, - D05CC3261B69725400E235A3 /* NavigationBackArrowLight@2x.png */, D05CC2661B69316F00E235A3 /* Display.h */, D05CC2681B69316F00E235A3 /* Info.plist */, ); @@ -852,8 +846,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - D03E7DE41C96A90100C07816 /* NavigationShadow@2x.png in Resources */, - D05CC3271B69725400E235A3 /* NavigationBackArrowLight@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/Emoji/BUCK b/submodules/Emoji/BUCK new file mode 100644 index 0000000000..35e87da39c --- /dev/null +++ b/submodules/Emoji/BUCK @@ -0,0 +1,13 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Emoji", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/CoreText.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", + ], +) diff --git a/submodules/Emoji/Emoji.xcodeproj/project.pbxproj b/submodules/Emoji/Emoji.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b9c4156b4b --- /dev/null +++ b/submodules/Emoji/Emoji.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29CCF717CF00000000 + + isa + PBXFileReference + name + Emoji-Debug.xcconfig + path + ../../buck-out/gen/submodules/Emoji/Emoji-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2950B2F77900000000 + + isa + PBXFileReference + name + Emoji-Profile.xcconfig + path + ../../buck-out/gen/submodules/Emoji/Emoji-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C449A2DB00000000 + + isa + PBXFileReference + name + Emoji-Release.xcconfig + path + ../../buck-out/gen/submodules/Emoji/Emoji-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29CCF717CF00000000 + 1DD70E2950B2F77900000000 + 1DD70E29C449A2DB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C4C3D69000000000 + + isa + PBXFileReference + name + EmojiUtils.swift + path + Sources/EmojiUtils.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C4C3D69000000000 + + + B401C97903FF902600000000 + + isa + PBXGroup + name + Emoji + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29A59C927400000000 + + isa + PBXFileReference + name + libEmoji.a + path + libEmoji.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A59C927400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97903FF902600000000 + B401C979C806358400000000 + + + E7A30F04C4C3D69000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C4C3D69000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C4C3D69000000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29CCF717CF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2950B2F77900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29C449A2DB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E03FF902600000000 + + isa + PBXNativeTarget + name + Emoji + productName + Emoji + productReference + 1DD70E29A59C927400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479303FF902600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E03FF902600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479303FF902600000000 + + \ No newline at end of file diff --git a/submodules/Emoji/Emoji.xcodeproj/xcshareddata/xcschemes/Emoji.xcscheme b/submodules/Emoji/Emoji.xcodeproj/xcshareddata/xcschemes/Emoji.xcscheme new file mode 100644 index 0000000000..c4eb6b0a83 --- /dev/null +++ b/submodules/Emoji/Emoji.xcodeproj/xcshareddata/xcschemes/Emoji.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Emoji/Sources/EmojiUtils.swift b/submodules/Emoji/Sources/EmojiUtils.swift index 0c0ebb2f75..cf869bebe8 100644 --- a/submodules/Emoji/Sources/EmojiUtils.swift +++ b/submodules/Emoji/Sources/EmojiUtils.swift @@ -1,5 +1,6 @@ import Foundation import CoreText +import AVFoundation public extension UnicodeScalar { var isEmoji: Bool { @@ -48,6 +49,9 @@ public extension UnicodeScalar { static var VariationSelector = UnicodeScalar(0xfe0f)! } +private final class FrameworkClass: NSObject { +} + public extension String { func trimmingTrailingSpaces() -> String { var t = self diff --git a/submodules/Emoji/TestFolder.bundle/TestFile.txt b/submodules/Emoji/TestFolder.bundle/TestFile.txt new file mode 100644 index 0000000000..e1fe4cfb7b --- /dev/null +++ b/submodules/Emoji/TestFolder.bundle/TestFile.txt @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/submodules/EncryptionKeyVisualization/BUCK b/submodules/EncryptionKeyVisualization/BUCK new file mode 100644 index 0000000000..78c401a40d --- /dev/null +++ b/submodules/EncryptionKeyVisualization/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "EncryptionKeyVisualization", + srcs = glob([ + "Sources/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/EncryptionKeyVisualization.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/EncryptionKeyVisualization.h"]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization.xcodeproj/project.pbxproj b/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..681696d1d7 --- /dev/null +++ b/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization.xcodeproj/project.pbxproj @@ -0,0 +1,415 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FB488CED00000000 + + isa + PBXFileReference + name + EncryptionKeyVisualization-Debug.xcconfig + path + ../../buck-out/gen/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29307B9D1700000000 + + isa + PBXFileReference + name + EncryptionKeyVisualization-Profile.xcconfig + path + ../../buck-out/gen/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A412487900000000 + + isa + PBXFileReference + name + EncryptionKeyVisualization-Release.xcconfig + path + ../../buck-out/gen/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FB488CED00000000 + 1DD70E29307B9D1700000000 + 1DD70E29A412487900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29BFABA62700000000 + + isa + PBXFileReference + name + SecretChatKeyVisualization.h + path + Sources/SecretChatKeyVisualization.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BFABA62C00000000 + + isa + PBXFileReference + name + SecretChatKeyVisualization.m + path + Sources/SecretChatKeyVisualization.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E291860EC5200000000 + + isa + PBXFileReference + name + SecretChatKeyVisualization.swift + path + Sources/SecretChatKeyVisualization.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29BFABA62700000000 + 1DD70E29BFABA62C00000000 + 1DD70E291860EC5200000000 + + + B401C979BC0242C800000000 + + isa + PBXGroup + name + EncryptionKeyVisualization + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29119CDA0700000000 + + + 1DD70E29AE190FC000000000 + + isa + PBXFileReference + name + libEncryptionKeyVisualization.a + path + libEncryptionKeyVisualization.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AE190FC000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979BC0242C800000000 + B401C97968022A5500000000 + B401C979C806358400000000 + + + E7A30F04BFABA62C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BFABA62C00000000 + + E7A30F041860EC5200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291860EC5200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04BFABA62C00000000 + E7A30F041860EC5200000000 + + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FB488CED00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29307B9D1700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29A412487900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EBC0242C800000000 + + isa + PBXNativeTarget + name + EncryptionKeyVisualization + productName + EncryptionKeyVisualization + productReference + 1DD70E29AE190FC000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793BC0242C800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EBC0242C800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793BC0242C800000000 + + \ No newline at end of file diff --git a/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization.xcodeproj/xcshareddata/xcschemes/EncryptionKeyVisualization.xcscheme b/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization.xcodeproj/xcshareddata/xcschemes/EncryptionKeyVisualization.xcscheme new file mode 100644 index 0000000000..3346001747 --- /dev/null +++ b/submodules/EncryptionKeyVisualization/EncryptionKeyVisualization.xcodeproj/xcshareddata/xcschemes/EncryptionKeyVisualization.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/GZip/BUCK b/submodules/GZip/BUCK new file mode 100644 index 0000000000..e15e4b1bd4 --- /dev/null +++ b/submodules/GZip/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "GZip", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "Sources/*.h", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/GZip/GZip.xcodeproj/project.pbxproj b/submodules/GZip/GZip.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..d336fc1624 --- /dev/null +++ b/submodules/GZip/GZip.xcodeproj/project.pbxproj @@ -0,0 +1,343 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E299169741B00000000 + + isa + PBXFileReference + name + GZip-Debug.xcconfig + path + ../../buck-out/gen/submodules/GZip/GZip-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C1FF70C500000000 + + isa + PBXFileReference + name + GZip-Profile.xcconfig + path + ../../buck-out/gen/submodules/GZip/GZip-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2935961C2700000000 + + isa + PBXFileReference + name + GZip-Release.xcconfig + path + ../../buck-out/gen/submodules/GZip/GZip-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E299169741B00000000 + 1DD70E29C1FF70C500000000 + 1DD70E2935961C2700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E297E4DBCD400000000 + + isa + PBXFileReference + name + GZip.h + path + Sources/GZip.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E297E4DBCD900000000 + + isa + PBXFileReference + name + GZip.m + path + Sources/GZip.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E297E4DBCD400000000 + 1DD70E297E4DBCD900000000 + + + B401C9790021A55A00000000 + + isa + PBXGroup + name + GZip + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29E6AAA79200000000 + + isa + PBXFileReference + name + libGZip.a + path + libGZip.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29E6AAA79200000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9790021A55A00000000 + B401C979C806358400000000 + + + E7A30F047E4DBCD900000000 + + isa + PBXBuildFile + fileRef + 1DD70E297E4DBCD900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F047E4DBCD900000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E299169741B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29C1FF70C500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2935961C2700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0021A55A00000000 + + isa + PBXNativeTarget + name + GZip + productName + GZip + productReference + 1DD70E29E6AAA79200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930021A55A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0021A55A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930021A55A00000000 + + \ No newline at end of file diff --git a/submodules/GZip/GZip.xcodeproj/xcshareddata/xcschemes/GZip.xcscheme b/submodules/GZip/GZip.xcodeproj/xcshareddata/xcschemes/GZip.xcscheme new file mode 100644 index 0000000000..35b84aa2d2 --- /dev/null +++ b/submodules/GZip/GZip.xcodeproj/xcshareddata/xcschemes/GZip.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/GalleryUI/BUCK b/submodules/GalleryUI/BUCK new file mode 100644 index 0000000000..f32a3d2406 --- /dev/null +++ b/submodules/GalleryUI/BUCK @@ -0,0 +1,32 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "GalleryUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TextFormat:TextFormat", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramUniversalVideoContent:TelegramUniversalVideoContent", + "//submodules/WebsiteType:WebsiteType", + "//submodules/ScreenCaptureDetection:ScreenCaptureDetection", + "//submodules/OpenInExternalAppUI:OpenInExternalAppUI", + "//submodules/ShareController:ShareController", + "//submodules/SwipeToDismissGesture:SwipeToDismissGesture", + "//submodules/CheckNode:CheckNode", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/QuickLook.framework", + "$SDKROOT/System/Library/Frameworks/SafariServices.framework", + ], +) diff --git a/submodules/GalleryUI/GalleryUI.xcodeproj/project.pbxproj b/submodules/GalleryUI/GalleryUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..4892500c80 --- /dev/null +++ b/submodules/GalleryUI/GalleryUI.xcodeproj/project.pbxproj @@ -0,0 +1,1780 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29B539AEAF00000000 + + isa + PBXFileReference + name + GalleryUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/GalleryUI/GalleryUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2932AB565900000000 + + isa + PBXFileReference + name + GalleryUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/GalleryUI/GalleryUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A64201BB00000000 + + isa + PBXFileReference + name + GalleryUI-Release.xcconfig + path + ../../buck-out/gen/submodules/GalleryUI/GalleryUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29B539AEAF00000000 + 1DD70E2932AB565900000000 + 1DD70E29A64201BB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29AF00DC4900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2958777ADE00000000 + + isa + PBXFileReference + name + ChatAnimationGalleryItem.swift + path + Sources/Items/ChatAnimationGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29916337F700000000 + + isa + PBXFileReference + name + ChatDocumentGalleryItem.swift + path + Sources/Items/ChatDocumentGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E299CCC16AB00000000 + + isa + PBXFileReference + name + ChatExternalFileGalleryItem.swift + path + Sources/Items/ChatExternalFileGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B48701E700000000 + + isa + PBXFileReference + name + ChatImageGalleryItem.swift + path + Sources/Items/ChatImageGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E299E33F93A00000000 + + isa + PBXFileReference + name + UniversalVideoGalleryItem.swift + path + Sources/Items/UniversalVideoGalleryItem.swift + sourceTree + SOURCE_ROOT + + B401C979043AF7A000000000 + + isa + PBXGroup + name + Items + path + Sources/Items + sourceTree + SOURCE_ROOT + children + + 1DD70E2958777ADE00000000 + 1DD70E29916337F700000000 + 1DD70E299CCC16AB00000000 + 1DD70E29B48701E700000000 + 1DD70E299E33F93A00000000 + + + 1DD70E2978DEFDFE00000000 + + isa + PBXFileReference + name + ChatItemGalleryFooterContentNode.swift + path + Sources/ChatItemGalleryFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2975D0EAEC00000000 + + isa + PBXFileReference + name + ChatVideoGalleryItemScrubberView.swift + path + Sources/ChatVideoGalleryItemScrubberView.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FA38189300000000 + + isa + PBXFileReference + name + GalleryController.swift + path + Sources/GalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C7EAF23500000000 + + isa + PBXFileReference + name + GalleryControllerNode.swift + path + Sources/GalleryControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E35656AE00000000 + + isa + PBXFileReference + name + GalleryControllerPresentationState.swift + path + Sources/GalleryControllerPresentationState.swift + sourceTree + SOURCE_ROOT + + 1DD70E2947F0409300000000 + + isa + PBXFileReference + name + GalleryFooterContentNode.swift + path + Sources/GalleryFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E0140A7400000000 + + isa + PBXFileReference + name + GalleryFooterNode.swift + path + Sources/GalleryFooterNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299F45E04A00000000 + + isa + PBXFileReference + name + GalleryItem.swift + path + Sources/GalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E291CD0066C00000000 + + isa + PBXFileReference + name + GalleryItemNode.swift + path + Sources/GalleryItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D073D76100000000 + + isa + PBXFileReference + name + GalleryItemTransitionNode.swift + path + Sources/GalleryItemTransitionNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299611168900000000 + + isa + PBXFileReference + name + GalleryNavigationCheckNode.swift + path + Sources/GalleryNavigationCheckNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2962CB955A00000000 + + isa + PBXFileReference + name + GalleryNavigationRecipientNode.swift + path + Sources/GalleryNavigationRecipientNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E291F7B21B800000000 + + isa + PBXFileReference + name + GalleryPagerNode.swift + path + Sources/GalleryPagerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E32A664E00000000 + + isa + PBXFileReference + name + GalleryThumbnailContainerNode.swift + path + Sources/GalleryThumbnailContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C9CBB5DE00000000 + + isa + PBXFileReference + name + GalleryVideoDecoration.swift + path + Sources/GalleryVideoDecoration.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BA1DBF9500000000 + + isa + PBXFileReference + name + SecretMediaPreviewController.swift + path + Sources/SecretMediaPreviewController.swift + sourceTree + SOURCE_ROOT + + 1DD70E298073135100000000 + + isa + PBXFileReference + name + SecretMediaPreviewFooterContentNode.swift + path + Sources/SecretMediaPreviewFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AE0E120000000000 + + isa + PBXFileReference + name + ZoomableContentGalleryItemNode.swift + path + Sources/ZoomableContentGalleryItemNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C979043AF7A000000000 + 1DD70E2978DEFDFE00000000 + 1DD70E2975D0EAEC00000000 + 1DD70E29FA38189300000000 + 1DD70E29C7EAF23500000000 + 1DD70E29E35656AE00000000 + 1DD70E2947F0409300000000 + 1DD70E29E0140A7400000000 + 1DD70E299F45E04A00000000 + 1DD70E291CD0066C00000000 + 1DD70E29D073D76100000000 + 1DD70E299611168900000000 + 1DD70E2962CB955A00000000 + 1DD70E291F7B21B800000000 + 1DD70E29E32A664E00000000 + 1DD70E29C9CBB5DE00000000 + 1DD70E29BA1DBF9500000000 + 1DD70E298073135100000000 + 1DD70E29AE0E120000000000 + + + B401C9798A7E154600000000 + + isa + PBXGroup + name + GalleryUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F29DEA1400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9798A7E154600000000 + B401C979C806358400000000 + + + E7A30F0458777ADE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2958777ADE00000000 + + E7A30F04916337F700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29916337F700000000 + + E7A30F049CCC16AB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299CCC16AB00000000 + + E7A30F04B48701E700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B48701E700000000 + + E7A30F049E33F93A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299E33F93A00000000 + + E7A30F0478DEFDFE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2978DEFDFE00000000 + + E7A30F0475D0EAEC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2975D0EAEC00000000 + + E7A30F04FA38189300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FA38189300000000 + + E7A30F04C7EAF23500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7EAF23500000000 + + E7A30F04E35656AE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E35656AE00000000 + + E7A30F0447F0409300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2947F0409300000000 + + E7A30F04E0140A7400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E0140A7400000000 + + E7A30F049F45E04A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299F45E04A00000000 + + E7A30F041CD0066C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291CD0066C00000000 + + E7A30F04D073D76100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D073D76100000000 + + E7A30F049611168900000000 + + isa + PBXBuildFile + fileRef + 1DD70E299611168900000000 + + E7A30F0462CB955A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2962CB955A00000000 + + E7A30F041F7B21B800000000 + + isa + PBXBuildFile + fileRef + 1DD70E291F7B21B800000000 + + E7A30F04E32A664E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E32A664E00000000 + + E7A30F04C9CBB5DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C9CBB5DE00000000 + + E7A30F04BA1DBF9500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA1DBF9500000000 + + E7A30F048073135100000000 + + isa + PBXBuildFile + fileRef + 1DD70E298073135100000000 + + E7A30F04AE0E120000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE0E120000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0458777ADE00000000 + E7A30F04916337F700000000 + E7A30F049CCC16AB00000000 + E7A30F04B48701E700000000 + E7A30F049E33F93A00000000 + E7A30F0478DEFDFE00000000 + E7A30F0475D0EAEC00000000 + E7A30F04FA38189300000000 + E7A30F04C7EAF23500000000 + E7A30F04E35656AE00000000 + E7A30F0447F0409300000000 + E7A30F04E0140A7400000000 + E7A30F049F45E04A00000000 + E7A30F041CD0066C00000000 + E7A30F04D073D76100000000 + E7A30F049611168900000000 + E7A30F0462CB955A00000000 + E7A30F041F7B21B800000000 + E7A30F04E32A664E00000000 + E7A30F04C9CBB5DE00000000 + E7A30F04BA1DBF9500000000 + E7A30F048073135100000000 + E7A30F04AE0E120000000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0497B4D6D800000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F0481AE180900000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29B539AEAF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2932AB565900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29A64201BB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E8A7E154600000000 + + isa + PBXNativeTarget + name + GalleryUI + productName + GalleryUI + productReference + 1DD70E29F29DEA1400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847938A7E154600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E8A7E154600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847938A7E154600000000 + + \ No newline at end of file diff --git a/submodules/GalleryUI/GalleryUI.xcodeproj/xcshareddata/xcschemes/GalleryUI.xcscheme b/submodules/GalleryUI/GalleryUI.xcodeproj/xcshareddata/xcschemes/GalleryUI.xcscheme new file mode 100644 index 0000000000..1df6a944ee --- /dev/null +++ b/submodules/GalleryUI/GalleryUI.xcodeproj/xcshareddata/xcschemes/GalleryUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/GalleryUI/GalleryUI_Xcode.xcodeproj/project.pbxproj b/submodules/GalleryUI/GalleryUI_Xcode.xcodeproj/project.pbxproj index ceb0f97aa4..4da522f0f3 100644 --- a/submodules/GalleryUI/GalleryUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/GalleryUI/GalleryUI_Xcode.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ D0C9C3102300A58500FAB518 /* GalleryFooterContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3032300A58500FAB518 /* GalleryFooterContentNode.swift */; }; D0C9C3112300A58500FAB518 /* GalleryVideoDecoration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3042300A58500FAB518 /* GalleryVideoDecoration.swift */; }; D0C9C3122300A58500FAB518 /* GalleryThumbnailContainerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3052300A58500FAB518 /* GalleryThumbnailContainerNode.swift */; }; - D0C9C3132300A58500FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3062300A58500FAB518 /* FrameworkBundle.swift */; }; D0C9C3142300A58500FAB518 /* GalleryPagerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3072300A58500FAB518 /* GalleryPagerNode.swift */; }; D0C9C31B2300A9B900FAB518 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C31A2300A9B900FAB518 /* Foundation.framework */; }; D0C9C31D2300A9BD00FAB518 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C31C2300A9BD00FAB518 /* UIKit.framework */; }; @@ -49,6 +48,7 @@ D0C9C43B2300D6DC00FAB518 /* OpenInExternalAppUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C43A2300D6DC00FAB518 /* OpenInExternalAppUI.framework */; }; D0C9C4412300D91200FAB518 /* GalleryItemTransitionNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C4402300D91200FAB518 /* GalleryItemTransitionNode.swift */; }; D0C9C91723020E6100FAB518 /* ShareController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C91623020E6100FAB518 /* ShareController.framework */; }; + D0EFF262231981A300CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF261231981A300CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -66,7 +66,6 @@ D0C9C3032300A58500FAB518 /* GalleryFooterContentNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GalleryFooterContentNode.swift; sourceTree = ""; }; D0C9C3042300A58500FAB518 /* GalleryVideoDecoration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GalleryVideoDecoration.swift; sourceTree = ""; }; D0C9C3052300A58500FAB518 /* GalleryThumbnailContainerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GalleryThumbnailContainerNode.swift; sourceTree = ""; }; - D0C9C3062300A58500FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C3072300A58500FAB518 /* GalleryPagerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GalleryPagerNode.swift; sourceTree = ""; }; D0C9C31A2300A9B900FAB518 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D0C9C31C2300A9BD00FAB518 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -96,6 +95,7 @@ D0C9C43A2300D6DC00FAB518 /* OpenInExternalAppUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = OpenInExternalAppUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C4402300D91200FAB518 /* GalleryItemTransitionNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GalleryItemTransitionNode.swift; sourceTree = ""; }; D0C9C91623020E6100FAB518 /* ShareController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ShareController.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF261231981A300CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -103,6 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF262231981A300CF5164 /* AppBundle.framework in Frameworks */, D0C9C91723020E6100FAB518 /* ShareController.framework in Frameworks */, D0C9C43B2300D6DC00FAB518 /* OpenInExternalAppUI.framework in Frameworks */, D0C9C3FD2300D59B00FAB518 /* ScreenCaptureDetection.framework in Frameworks */, @@ -165,7 +166,6 @@ D0C9C3072300A58500FAB518 /* GalleryPagerNode.swift */, D0C9C3052300A58500FAB518 /* GalleryThumbnailContainerNode.swift */, D0C9C3042300A58500FAB518 /* GalleryVideoDecoration.swift */, - D0C9C3062300A58500FAB518 /* FrameworkBundle.swift */, D0C9C2F32300A51400FAB518 /* GalleryUI.h */, D0C9C4402300D91200FAB518 /* GalleryItemTransitionNode.swift */, ); @@ -175,6 +175,7 @@ D0C9C3192300A9B900FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF261231981A300CF5164 /* AppBundle.framework */, D0C9C91623020E6100FAB518 /* ShareController.framework */, D0C9C43A2300D6DC00FAB518 /* OpenInExternalAppUI.framework */, D0C9C3FC2300D59B00FAB518 /* ScreenCaptureDetection.framework */, @@ -306,7 +307,6 @@ D0C9C34D2300AA8A00FAB518 /* ChatAnimationGalleryItem.swift in Sources */, D0C9C3442300AA8A00FAB518 /* ChatImageGalleryItem.swift in Sources */, D0C9C34F2300AA8A00FAB518 /* ChatDocumentGalleryItem.swift in Sources */, - D0C9C3132300A58500FAB518 /* FrameworkBundle.swift in Sources */, D0C9C3082300A58500FAB518 /* GalleryItem.swift in Sources */, D0C9C3112300A58500FAB518 /* GalleryVideoDecoration.swift in Sources */, D0C9C34A2300AA8A00FAB518 /* ChatItemGalleryFooterContentNode.swift in Sources */, diff --git a/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift b/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift index bdfe5ee6e2..3991109a67 100644 --- a/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift +++ b/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift @@ -13,6 +13,7 @@ import AccountContext import RadialStatusNode import ShareController import OpenInExternalAppUI +import AppBundle private let deleteImage = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionTrash"), color: .white) private let actionImage = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionAction"), color: .white) diff --git a/submodules/GalleryUI/Sources/FrameworkBundle.swift b/submodules/GalleryUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 3f7a202833..0000000000 --- a/submodules/GalleryUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,14 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) -private let screenScaleFactor = Int(UIScreen.main.scale) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/GalleryUI/Sources/Items/ChatAnimationGalleryItem.swift b/submodules/GalleryUI/Sources/Items/ChatAnimationGalleryItem.swift index f179391722..6e8741fb8a 100644 --- a/submodules/GalleryUI/Sources/Items/ChatAnimationGalleryItem.swift +++ b/submodules/GalleryUI/Sources/Items/ChatAnimationGalleryItem.swift @@ -11,6 +11,7 @@ import AnimationUI import AccountContext import RadialStatusNode import StickerResources +import AppBundle class ChatAnimationGalleryItem: GalleryItem { let context: AccountContext diff --git a/submodules/GalleryUI/Sources/Items/ChatDocumentGalleryItem.swift b/submodules/GalleryUI/Sources/Items/ChatDocumentGalleryItem.swift index 8ba9fbb487..c879800a96 100644 --- a/submodules/GalleryUI/Sources/Items/ChatDocumentGalleryItem.swift +++ b/submodules/GalleryUI/Sources/Items/ChatDocumentGalleryItem.swift @@ -39,7 +39,7 @@ class ChatDocumentGalleryItem: GalleryItem { } if let location = self.location { - node._title.set(.single("\(location.index + 1) \(self.presentationData.strings.Common_of) \(location.count)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.index + 1)", "\(location.count)").0)) } node.setMessage(self.message) @@ -48,7 +48,7 @@ class ChatDocumentGalleryItem: GalleryItem { func updateNode(node: GalleryItemNode) { if let node = node as? ChatDocumentGalleryItemNode, let location = self.location { - node._title.set(.single("\(location.index + 1) \(self.presentationData.strings.Common_of) \(location.count)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.index + 1)", "\(location.count)").0)) node.setMessage(self.message) } } diff --git a/submodules/GalleryUI/Sources/Items/ChatExternalFileGalleryItem.swift b/submodules/GalleryUI/Sources/Items/ChatExternalFileGalleryItem.swift index c36903b223..3f0a4df1b8 100644 --- a/submodules/GalleryUI/Sources/Items/ChatExternalFileGalleryItem.swift +++ b/submodules/GalleryUI/Sources/Items/ChatExternalFileGalleryItem.swift @@ -40,7 +40,7 @@ class ChatExternalFileGalleryItem: GalleryItem { } if let location = self.location { - node._title.set(.single("\(location.index + 1) \(self.presentationData.strings.Common_of) \(location.count)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.index + 1)", "\(location.count)").0)) } node.setMessage(self.message) @@ -49,7 +49,7 @@ class ChatExternalFileGalleryItem: GalleryItem { func updateNode(node: GalleryItemNode) { if let node = node as? ChatExternalFileGalleryItemNode, let location = self.location { - node._title.set(.single("\(location.index + 1) \(self.presentationData.strings.Common_of) \(location.count)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.index + 1)", "\(location.count)").0)) node.setMessage(self.message) } } diff --git a/submodules/GalleryUI/Sources/Items/ChatImageGalleryItem.swift b/submodules/GalleryUI/Sources/Items/ChatImageGalleryItem.swift index 4c2a217f7d..1103737923 100644 --- a/submodules/GalleryUI/Sources/Items/ChatImageGalleryItem.swift +++ b/submodules/GalleryUI/Sources/Items/ChatImageGalleryItem.swift @@ -112,7 +112,7 @@ class ChatImageGalleryItem: GalleryItem { } if let location = self.location { - node._title.set(.single("\(location.index + 1) \(self.presentationData.strings.Common_of) \(location.count)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.index + 1)", "\(location.count)").0)) } node.setMessage(self.message) @@ -122,7 +122,7 @@ class ChatImageGalleryItem: GalleryItem { func updateNode(node: GalleryItemNode) { if let node = node as? ChatImageGalleryItemNode, let location = self.location { - node._title.set(.single("\(location.index + 1) \(self.presentationData.strings.Common_of) \(location.count)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.index + 1)", "\(location.count)").0)) node.setMessage(self.message) } diff --git a/submodules/GalleryUI/Sources/Items/UniversalVideoGalleryItem.swift b/submodules/GalleryUI/Sources/Items/UniversalVideoGalleryItem.swift index 1e90cbc364..199be79e80 100644 --- a/submodules/GalleryUI/Sources/Items/UniversalVideoGalleryItem.swift +++ b/submodules/GalleryUI/Sources/Items/UniversalVideoGalleryItem.swift @@ -10,6 +10,7 @@ import UniversalMediaPlayer import AccountContext import RadialStatusNode import TelegramUniversalVideoContent +import AppBundle public enum UniversalVideoGalleryItemContentInfo { case message(Message) @@ -55,7 +56,7 @@ public class UniversalVideoGalleryItem: GalleryItem { let node = UniversalVideoGalleryItemNode(context: self.context, presentationData: self.presentationData, performAction: self.performAction, openActionOptions: self.openActionOptions) if let indexData = self.indexData { - node._title.set(.single("\(indexData.position + 1) \(self.presentationData.strings.Common_of) \(indexData.totalCount)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(indexData.position + 1)", "\(indexData.totalCount)").0)) } node.setupItem(self) @@ -66,7 +67,7 @@ public class UniversalVideoGalleryItem: GalleryItem { public func updateNode(node: GalleryItemNode) { if let node = node as? UniversalVideoGalleryItemNode { if let indexData = self.indexData { - node._title.set(.single("\(indexData.position + 1) \(self.presentationData.strings.Common_of) \(indexData.totalCount)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(indexData.position + 1)", "\(indexData.totalCount)").0)) } node.setupItem(self) diff --git a/submodules/GalleryUI/Sources/SecretMediaPreviewController.swift b/submodules/GalleryUI/Sources/SecretMediaPreviewController.swift index 9244ec960a..c2b2d7c83d 100644 --- a/submodules/GalleryUI/Sources/SecretMediaPreviewController.swift +++ b/submodules/GalleryUI/Sources/SecretMediaPreviewController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import AccountContext import RadialStatusNode import ScreenCaptureDetection +import AppBundle private func galleryMediaForMedia(media: Media) -> Media? { if let media = media as? TelegramMediaImage { diff --git a/submodules/GameUI/BUCK b/submodules/GameUI/BUCK new file mode 100644 index 0000000000..3d78cade3a --- /dev/null +++ b/submodules/GameUI/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "GameUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/ShareController:ShareController", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/WebKit.framework", + ], +) diff --git a/submodules/GameUI/GameUI.xcodeproj/project.pbxproj b/submodules/GameUI/GameUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1ce5c8d7c4 --- /dev/null +++ b/submodules/GameUI/GameUI.xcodeproj/project.pbxproj @@ -0,0 +1,1167 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E292338D9CF00000000 + + isa + PBXFileReference + name + GameUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/GameUI/GameUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291D8C397900000000 + + isa + PBXFileReference + name + GameUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/GameUI/GameUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299122E4DB00000000 + + isa + PBXFileReference + name + GameUI-Release.xcconfig + path + ../../buck-out/gen/submodules/GameUI/GameUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E292338D9CF00000000 + 1DD70E291D8C397900000000 + 1DD70E299122E4DB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E294817097300000000 + + isa + PBXFileReference + name + GameController.swift + path + Sources/GameController.swift + sourceTree + SOURCE_ROOT + + 1DD70E293926731500000000 + + isa + PBXFileReference + name + GameControllerNode.swift + path + Sources/GameControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2985ADA6D400000000 + + isa + PBXFileReference + name + GameControllerTitleView.swift + path + Sources/GameControllerTitleView.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E294817097300000000 + 1DD70E293926731500000000 + 1DD70E2985ADA6D400000000 + + + B401C9797EB20E2600000000 + + isa + PBXGroup + name + GameUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E295F34701E00000000 + + isa + PBXFileReference + name + libGameUI.a + path + libGameUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295F34701E00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9797EB20E2600000000 + B401C979C806358400000000 + + + E7A30F044817097300000000 + + isa + PBXBuildFile + fileRef + 1DD70E294817097300000000 + + E7A30F043926731500000000 + + isa + PBXBuildFile + fileRef + 1DD70E293926731500000000 + + E7A30F0485ADA6D400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2985ADA6D400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F044817097300000000 + E7A30F043926731500000000 + E7A30F0485ADA6D400000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E292338D9CF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E291D8C397900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E299122E4DB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E7EB20E2600000000 + + isa + PBXNativeTarget + name + GameUI + productName + GameUI + productReference + 1DD70E295F34701E00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847937EB20E2600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E7EB20E2600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847937EB20E2600000000 + + \ No newline at end of file diff --git a/submodules/GameUI/GameUI.xcodeproj/xcshareddata/xcschemes/GameUI.xcscheme b/submodules/GameUI/GameUI.xcodeproj/xcshareddata/xcschemes/GameUI.xcscheme new file mode 100644 index 0000000000..18bd222bb6 --- /dev/null +++ b/submodules/GameUI/GameUI.xcodeproj/xcshareddata/xcschemes/GameUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Geocoding/BUCK b/submodules/Geocoding/BUCK new file mode 100644 index 0000000000..3c03b57353 --- /dev/null +++ b/submodules/Geocoding/BUCK @@ -0,0 +1,15 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Geocoding", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + ], +) diff --git a/submodules/Geocoding/Geocoding.xcodeproj/project.pbxproj b/submodules/Geocoding/Geocoding.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e7b042a299 --- /dev/null +++ b/submodules/Geocoding/Geocoding.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D3C2357A00000000 + + isa + PBXFileReference + name + Geocoding-Debug.xcconfig + path + ../../buck-out/gen/submodules/Geocoding/Geocoding-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D12D566400000000 + + isa + PBXFileReference + name + Geocoding-Profile.xcconfig + path + ../../buck-out/gen/submodules/Geocoding/Geocoding-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2944C401C600000000 + + isa + PBXFileReference + name + Geocoding-Release.xcconfig + path + ../../buck-out/gen/submodules/Geocoding/Geocoding-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D3C2357A00000000 + 1DD70E29D12D566400000000 + 1DD70E2944C401C600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2979374C4000000000 + + isa + PBXFileReference + name + Geocoding.swift + path + Sources/Geocoding.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2979374C4000000000 + + + B401C979B9E031DB00000000 + + isa + PBXGroup + name + Geocoding + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D1EB356900000000 + + isa + PBXFileReference + name + libGeocoding.a + path + libGeocoding.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D1EB356900000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979B9E031DB00000000 + B401C979C806358400000000 + + + E7A30F0479374C4000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979374C4000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0479374C4000000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D3C2357A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D12D566400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2944C401C600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EB9E031DB00000000 + + isa + PBXNativeTarget + name + Geocoding + productName + Geocoding + productReference + 1DD70E29D1EB356900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793B9E031DB00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EB9E031DB00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793B9E031DB00000000 + + \ No newline at end of file diff --git a/submodules/Geocoding/Geocoding.xcodeproj/xcshareddata/xcschemes/Geocoding.xcscheme b/submodules/Geocoding/Geocoding.xcodeproj/xcshareddata/xcschemes/Geocoding.xcscheme new file mode 100644 index 0000000000..2225e56d32 --- /dev/null +++ b/submodules/Geocoding/Geocoding.xcodeproj/xcshareddata/xcschemes/Geocoding.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/GridMessageSelectionNode/BUCK b/submodules/GridMessageSelectionNode/BUCK new file mode 100644 index 0000000000..47bdff99c9 --- /dev/null +++ b/submodules/GridMessageSelectionNode/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "GridMessageSelectionNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/CheckNode:CheckNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/GridMessageSelectionNode/GridMessageSelectionNode.xcodeproj/project.pbxproj b/submodules/GridMessageSelectionNode/GridMessageSelectionNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a067b95090 --- /dev/null +++ b/submodules/GridMessageSelectionNode/GridMessageSelectionNode.xcodeproj/project.pbxproj @@ -0,0 +1,533 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29B8D46BA800000000 + + isa + PBXFileReference + name + GridMessageSelectionNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/GridMessageSelectionNode/GridMessageSelectionNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BA8AB91200000000 + + isa + PBXFileReference + name + GridMessageSelectionNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/GridMessageSelectionNode/GridMessageSelectionNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292E21647400000000 + + isa + PBXFileReference + name + GridMessageSelectionNode-Release.xcconfig + path + ../../buck-out/gen/submodules/GridMessageSelectionNode/GridMessageSelectionNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29B8D46BA800000000 + 1DD70E29BA8AB91200000000 + 1DD70E292E21647400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E2997B4D6D800000000 + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29689CCA5200000000 + + isa + PBXFileReference + name + GridMessageSelectionNode.swift + path + Sources/GridMessageSelectionNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29689CCA5200000000 + + + B401C9798A7A256D00000000 + + isa + PBXGroup + name + GridMessageSelectionNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29F8FF5A6500000000 + + isa + PBXFileReference + name + libGridMessageSelectionNode.a + path + libGridMessageSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F8FF5A6500000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9798A7A256D00000000 + B401C979C806358400000000 + + + E7A30F04689CCA5200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29689CCA5200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04689CCA5200000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F0497B4D6D800000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29B8D46BA800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29BA8AB91200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292E21647400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E8A7A256D00000000 + + isa + PBXNativeTarget + name + GridMessageSelectionNode + productName + GridMessageSelectionNode + productReference + 1DD70E29F8FF5A6500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847938A7A256D00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E8A7A256D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847938A7A256D00000000 + + \ No newline at end of file diff --git a/submodules/GridMessageSelectionNode/GridMessageSelectionNode.xcodeproj/xcshareddata/xcschemes/GridMessageSelectionNode.xcscheme b/submodules/GridMessageSelectionNode/GridMessageSelectionNode.xcodeproj/xcshareddata/xcschemes/GridMessageSelectionNode.xcscheme new file mode 100644 index 0000000000..5f9d87477b --- /dev/null +++ b/submodules/GridMessageSelectionNode/GridMessageSelectionNode.xcodeproj/xcshareddata/xcschemes/GridMessageSelectionNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/HashtagSearchUI/BUCK b/submodules/HashtagSearchUI/BUCK new file mode 100644 index 0000000000..88393dcdbd --- /dev/null +++ b/submodules/HashtagSearchUI/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "HashtagSearchUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramBaseController:TelegramBaseController", + "//submodules/ChatListUI:ChatListUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/HashtagSearchUI/HashtagSearchUI.xcodeproj/project.pbxproj b/submodules/HashtagSearchUI/HashtagSearchUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e7a302326f --- /dev/null +++ b/submodules/HashtagSearchUI/HashtagSearchUI.xcodeproj/project.pbxproj @@ -0,0 +1,1829 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D27875AD00000000 + + isa + PBXFileReference + name + HashtagSearchUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/HashtagSearchUI/HashtagSearchUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29FB5455D700000000 + + isa + PBXFileReference + name + HashtagSearchUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/HashtagSearchUI/HashtagSearchUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296EEB013900000000 + + isa + PBXFileReference + name + HashtagSearchUI-Release.xcconfig + path + ../../buck-out/gen/submodules/HashtagSearchUI/HashtagSearchUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D27875AD00000000 + 1DD70E29FB5455D700000000 + 1DD70E296EEB013900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296DFD63C200000000 + + isa + PBXFileReference + name + libChatListUI.a + path + libChatListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B6F47D1F00000000 + + isa + PBXFileReference + name + libChatTitleActivityNode.a + path + libChatTitleActivityNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292F91702000000000 + + isa + PBXFileReference + name + libContactListUI.a + path + libContactListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2931752C6000000000 + + isa + PBXFileReference + name + libContactsPeerItem.a + path + libContactsPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CED1620500000000 + + isa + PBXFileReference + name + libDeleteChatPeerActionSheetItem.a + path + libDeleteChatPeerActionSheetItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E220F5E800000000 + + isa + PBXFileReference + name + libLanguageSuggestionUI.a + path + libLanguageSuggestionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292969635400000000 + + isa + PBXFileReference + name + libLiveLocationTimerNode.a + path + libLiveLocationTimerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291328E99400000000 + + isa + PBXFileReference + name + libSearchUI.a + path + libSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2943136EC600000000 + + isa + PBXFileReference + name + libTelegramBaseController.a + path + libTelegramBaseController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AE67341000000000 + + isa + PBXFileReference + name + libUndoUI.a + path + libUndoUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FD72F45600000000 + 1DD70E2907DC840B00000000 + 1DD70E297AB043C800000000 + 1DD70E296DFD63C200000000 + 1DD70E29B6F47D1F00000000 + 1DD70E2997B4D6D800000000 + 1DD70E292F91702000000000 + 1DD70E2931752C6000000000 + 1DD70E296C9831F100000000 + 1DD70E29CED1620500000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E299A24C4DE00000000 + 1DD70E295A26607D00000000 + 1DD70E29E220F5E800000000 + 1DD70E29AC43662400000000 + 1DD70E292969635400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29BBAF750C00000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E291631B91900000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293E4DE92B00000000 + 1DD70E29AD66967300000000 + 1DD70E291D58331200000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E291328E99400000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E29524F478E00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E2943136EC600000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E29DF758A8500000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E29AE67341000000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EAA579D500000000 + + isa + PBXFileReference + name + HashtagSearchController.swift + path + Sources/HashtagSearchController.swift + sourceTree + SOURCE_ROOT + + 1DD70E291461E27700000000 + + isa + PBXFileReference + name + HashtagSearchControllerNode.swift + path + Sources/HashtagSearchControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EAA579D500000000 + 1DD70E291461E27700000000 + + + B401C9790795F20800000000 + + isa + PBXGroup + name + HashtagSearchUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29CCE2AE1600000000 + + isa + PBXFileReference + name + libHashtagSearchUI.a + path + libHashtagSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CCE2AE1600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9790795F20800000000 + B401C979C806358400000000 + + + E7A30F04EAA579D500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EAA579D500000000 + + E7A30F041461E27700000000 + + isa + PBXBuildFile + fileRef + 1DD70E291461E27700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EAA579D500000000 + E7A30F041461E27700000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04FD72F45600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD72F45600000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F0407DC840B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC840B00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04B6F47D1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B6F47D1F00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F0431752C6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2931752C6000000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F041328E99400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291328E99400000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F04DF758A8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF758A8500000000 + + E7A30F042F91702000000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F91702000000000 + + E7A30F04CED1620500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CED1620500000000 + + E7A30F04E220F5E800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E220F5E800000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F042969635400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292969635400000000 + + E7A30F0443136EC600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943136EC600000000 + + E7A30F04AE67341000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE67341000000000 + + E7A30F046DFD63C200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296DFD63C200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04F523B9DE00000000 + E7A30F04AC43662400000000 + E7A30F04FD72F45600000000 + E7A30F04EA9CBB5B00000000 + E7A30F0407DC840B00000000 + E7A30F04928D142900000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04B6F47D1F00000000 + E7A30F0497B4D6D800000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F0431752C6000000000 + E7A30F04BBAF750C00000000 + E7A30F041328E99400000000 + E7A30F041E16CC6C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + E7A30F041631B91900000000 + E7A30F04524F478E00000000 + E7A30F04DF758A8500000000 + E7A30F042F91702000000000 + E7A30F04CED1620500000000 + E7A30F04E220F5E800000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F042969635400000000 + E7A30F0443136EC600000000 + E7A30F04AE67341000000000 + E7A30F046DFD63C200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D27875AD00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29FB5455D700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E296EEB013900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0795F20800000000 + + isa + PBXNativeTarget + name + HashtagSearchUI + productName + HashtagSearchUI + productReference + 1DD70E29CCE2AE1600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930795F20800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0795F20800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930795F20800000000 + + \ No newline at end of file diff --git a/submodules/HashtagSearchUI/HashtagSearchUI.xcodeproj/xcshareddata/xcschemes/HashtagSearchUI.xcscheme b/submodules/HashtagSearchUI/HashtagSearchUI.xcodeproj/xcshareddata/xcschemes/HashtagSearchUI.xcscheme new file mode 100644 index 0000000000..6439d62351 --- /dev/null +++ b/submodules/HashtagSearchUI/HashtagSearchUI.xcodeproj/xcshareddata/xcschemes/HashtagSearchUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/HashtagSearchUI/Sources/HashtagSearchController.swift b/submodules/HashtagSearchUI/Sources/HashtagSearchController.swift index 150ce02736..d8d3b41df0 100644 --- a/submodules/HashtagSearchUI/Sources/HashtagSearchController.swift +++ b/submodules/HashtagSearchUI/Sources/HashtagSearchController.swift @@ -67,6 +67,8 @@ public final class HashtagSearchController: TelegramBaseController { }, updatePeerGrouping: { _, _ in }, togglePeerMarkedUnread: { _, _ in }, toggleArchivedFolderHiddenByDefault: { + }, activateChatPreview: { _, _, gesture in + gesture?.cancel() }) let previousSearchItems = Atomic<[ChatListSearchEntry]?>(value: nil) @@ -76,7 +78,7 @@ public final class HashtagSearchController: TelegramBaseController { let previousEntries = previousSearchItems.swap(entries) let firstTime = previousEntries == nil - let transition = chatListSearchContainerPreparedTransition(from: previousEntries ?? [], to: entries, displayingResults: true, context: strongSelf.context, enableHeaders: false, filter: [], interaction: interaction) + let transition = chatListSearchContainerPreparedTransition(from: previousEntries ?? [], to: entries, displayingResults: true, context: strongSelf.context, enableHeaders: false, filter: [], interaction: interaction, peerContextAction: nil) strongSelf.controllerNode.enqueueTransition(transition, firstTime: firstTime) } }) diff --git a/submodules/HexColor/BUCK b/submodules/HexColor/BUCK new file mode 100644 index 0000000000..1a0fd3ba2a --- /dev/null +++ b/submodules/HexColor/BUCK @@ -0,0 +1,12 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "HexColor", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/HexColor/HexColor.xcodeproj/project.pbxproj b/submodules/HexColor/HexColor.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a0d704a0a6 --- /dev/null +++ b/submodules/HexColor/HexColor.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29A52D7A8D00000000 + + isa + PBXFileReference + name + HexColor-Debug.xcconfig + path + ../../buck-out/gen/submodules/HexColor/HexColor-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F4DBA2B700000000 + + isa + PBXFileReference + name + HexColor-Profile.xcconfig + path + ../../buck-out/gen/submodules/HexColor/HexColor-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2968724E1900000000 + + isa + PBXFileReference + name + HexColor-Release.xcconfig + path + ../../buck-out/gen/submodules/HexColor/HexColor-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29A52D7A8D00000000 + 1DD70E29F4DBA2B700000000 + 1DD70E2968724E1900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299A1D75CD00000000 + + isa + PBXFileReference + name + HexColor.swift + path + Sources/HexColor.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299A1D75CD00000000 + + + B401C979E6D3C92800000000 + + isa + PBXGroup + name + HexColor + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2947B6256000000000 + + isa + PBXFileReference + name + libHexColor.a + path + libHexColor.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2947B6256000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979E6D3C92800000000 + B401C979C806358400000000 + + + E7A30F049A1D75CD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A1D75CD00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049A1D75CD00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29A52D7A8D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29F4DBA2B700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2968724E1900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE6D3C92800000000 + + isa + PBXNativeTarget + name + HexColor + productName + HexColor + productReference + 1DD70E2947B6256000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E6D3C92800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE6D3C92800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E6D3C92800000000 + + \ No newline at end of file diff --git a/submodules/HexColor/HexColor.xcodeproj/xcshareddata/xcschemes/HexColor.xcscheme b/submodules/HexColor/HexColor.xcodeproj/xcshareddata/xcschemes/HexColor.xcscheme new file mode 100644 index 0000000000..59f2ccadaf --- /dev/null +++ b/submodules/HexColor/HexColor.xcodeproj/xcshareddata/xcschemes/HexColor.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/HockeySDK-iOS/BUCK b/submodules/HockeySDK-iOS/BUCK index 1921be1a0d..46eb139de8 100644 --- a/submodules/HockeySDK-iOS/BUCK +++ b/submodules/HockeySDK-iOS/BUCK @@ -1,93 +1,58 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library") -genrule( - name = 'CrashReporter_lib_file', - srcs = [ - 'Vendor/libCrashReporter.a', - ], - bash = 'mkdir -p $OUT; cp $SRCS $OUT/', - out = 'CrashReporter_lib_file', - visibility = [ - '//submodules/HockeySDK-iOS:...', - ] +prebuilt_apple_framework( + name = "CrashReporter", + framework = "Vendor/CrashReporter.framework", + preferred_linkage = "static", ) -apple_library( - name = 'CrashReporter', - visibility = [ - '//submodules/HockeySDK-iOS:...' - ], - header_namespace = 'CrashReporter', - exported_headers = glob([ - 'Vendor/include/**/*.h', - ]), - exported_linker_flags = [ - '-lCrashReporter', - '-L$(location :CrashReporter_lib_file)', - ], -) - -'''apple_library( - name = 'CrashReporter', - framework = 'Vendor/CrashReporter.framework', - preferred_linkage = 'static', - visibility = ['//submodules/HockeySDK-iOS:...'] -)''' - -apple_library( - name = 'HockeySDK', +static_library( + name = "HockeySDK", srcs = glob([ - 'Classes/*.m', - 'Classes/*.mm', + "Classes/*.m", + "Classes/*.mm", ]), headers = glob([ - 'Classes/*.h', + "Classes/*.h", ]), - header_namespace = 'HockeySDK', exported_headers = [ - 'Classes/HockeySDKFeatureConfig.h', - 'Classes/HockeySDKEnums.h', - 'Classes/HockeySDKNullability.h', - 'Classes/BITAlertAction.h', + "Classes/HockeySDKFeatureConfig.h", + "Classes/HockeySDKEnums.h", + "Classes/HockeySDKNullability.h", + "Classes/BITAlertAction.h", - 'Classes/BITHockeyManager.h', + "Classes/BITHockeyManager.h", - 'Classes/BITHockeyAttachment.h', + "Classes/BITHockeyAttachment.h", - 'Classes/BITHockeyBaseManager.h', - 'Classes/BITCrashManager.h', - 'Classes/BITCrashAttachment.h', - 'Classes/BITCrashManagerDelegate.h', - 'Classes/BITCrashDetails.h', - 'Classes/BITCrashMetaData.h', + "Classes/BITHockeyBaseManager.h", + "Classes/BITCrashManager.h", + "Classes/BITCrashAttachment.h", + "Classes/BITCrashManagerDelegate.h", + "Classes/BITCrashDetails.h", + "Classes/BITCrashMetaData.h", - 'Classes/BITUpdateManager.h', - 'Classes/BITUpdateManagerDelegate.h', - 'Classes/BITUpdateViewController.h', - 'Classes/BITHockeyBaseViewController.h', - 'Classes/BITHockeyManagerDelegate.h', + "Classes/BITUpdateManager.h", + "Classes/BITUpdateManagerDelegate.h", + "Classes/BITUpdateViewController.h", + "Classes/BITHockeyBaseViewController.h", + "Classes/BITHockeyManagerDelegate.h", ], - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, LIB_SPECIFIC_CONFIG])), compiler_flags = [ - '-w', '-DBITHOCKEY_VERSION=@\"5.1.2\"', '-DBITHOCKEY_C_VERSION="5.1.2"', '-DBITHOCKEY_C_BUILD="108"', - '-DHOCKEYSDK_FEATURE_CRASH_REPORTER=1', - '-DHOCKEYSDK_FEATURE_UPDATES=1', - '-DHOCKEYSDK_FEATURE_FEEDBACK=0', - '-DHOCKEYSDK_FEATURE_AUTHENTICATOR=0', - '-DHOCKEYSDK_FEATURE_METRICS=0', + "-DHOCKEYSDK_FEATURE_CRASH_REPORTER=1", + "-DHOCKEYSDK_FEATURE_UPDATES=1", + "-DHOCKEYSDK_FEATURE_FEEDBACK=0", + "-DHOCKEYSDK_FEATURE_AUTHENTICATOR=0", + "-DHOCKEYSDK_FEATURE_METRICS=0", ], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], deps = [ - ':CrashReporter', + ":CrashReporter", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", ], ) diff --git a/submodules/HockeySDK-iOS/Classes/BITHockeyManagerDelegate.h b/submodules/HockeySDK-iOS/Classes/BITHockeyManagerDelegate.h index c4f099b733..a95b546890 100644 --- a/submodules/HockeySDK-iOS/Classes/BITHockeyManagerDelegate.h +++ b/submodules/HockeySDK-iOS/Classes/BITHockeyManagerDelegate.h @@ -38,11 +38,11 @@ #endif #if HOCKEYSDK_FEATURE_FEEDBACK -#import "BITFeedbackManagerDelegate.h" +//#import "BITFeedbackManagerDelegate.h" #endif #if HOCKEYSDK_FEATURE_AUTHENTICATOR -#import "BITAuthenticator.h" +//#import "BITAuthenticator.h" #endif @class BITHockeyManager; @@ -61,10 +61,10 @@ , BITUpdateManagerDelegate #endif #if HOCKEYSDK_FEATURE_FEEDBACK - , BITFeedbackManagerDelegate + //, BITFeedbackManagerDelegate #endif #if HOCKEYSDK_FEATURE_AUTHENTICATOR - , BITAuthenticatorDelegate + //, BITAuthenticatorDelegate #endif > diff --git a/submodules/HorizontalPeerItem/BUCK b/submodules/HorizontalPeerItem/BUCK new file mode 100644 index 0000000000..82120ebfe3 --- /dev/null +++ b/submodules/HorizontalPeerItem/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "HorizontalPeerItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/SelectablePeerNode:SelectablePeerNode", + "//submodules/PeerOnlineMarkerNode:PeerOnlineMarkerNode", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/HorizontalPeerItem/HorizontalPeerItem.xcodeproj/project.pbxproj b/submodules/HorizontalPeerItem/HorizontalPeerItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a87584bd09 --- /dev/null +++ b/submodules/HorizontalPeerItem/HorizontalPeerItem.xcodeproj/project.pbxproj @@ -0,0 +1,753 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E299DEC7F9C00000000 + + isa + PBXFileReference + name + HorizontalPeerItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/HorizontalPeerItem/HorizontalPeerItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B9EDA00600000000 + + isa + PBXFileReference + name + HorizontalPeerItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/HorizontalPeerItem/HorizontalPeerItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292D844B6800000000 + + isa + PBXFileReference + name + HorizontalPeerItem-Release.xcconfig + path + ../../buck-out/gen/submodules/HorizontalPeerItem/HorizontalPeerItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E299DEC7F9C00000000 + 1DD70E29B9EDA00600000000 + 1DD70E292D844B6800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29928D142900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29097DBE9200000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C784B3DE00000000 + + isa + PBXFileReference + name + HorizontalPeerItem.swift + path + Sources/HorizontalPeerItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C784B3DE00000000 + + + B401C97989C327F900000000 + + isa + PBXGroup + name + HorizontalPeerItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2971ED41B100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97989C327F900000000 + B401C979C806358400000000 + + + E7A30F04C784B3DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C784B3DE00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C784B3DE00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04928D142900000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + E7A30F04097DBE9200000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E299DEC7F9C00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B9EDA00600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292D844B6800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E89C327F900000000 + + isa + PBXNativeTarget + name + HorizontalPeerItem + productName + HorizontalPeerItem + productReference + 1DD70E2971ED41B100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479389C327F900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E89C327F900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479389C327F900000000 + + \ No newline at end of file diff --git a/submodules/HorizontalPeerItem/HorizontalPeerItem.xcodeproj/xcshareddata/xcschemes/HorizontalPeerItem.xcscheme b/submodules/HorizontalPeerItem/HorizontalPeerItem.xcodeproj/xcshareddata/xcschemes/HorizontalPeerItem.xcscheme new file mode 100644 index 0000000000..fd11e94d7b --- /dev/null +++ b/submodules/HorizontalPeerItem/HorizontalPeerItem.xcodeproj/xcshareddata/xcschemes/HorizontalPeerItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ImageBlur/BUCK b/submodules/ImageBlur/BUCK new file mode 100644 index 0000000000..48d65a2fb9 --- /dev/null +++ b/submodules/ImageBlur/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ImageBlur", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/ImageBlur.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/ImageBlur.h"]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Accelerate.framework", + ], +) diff --git a/submodules/ImageBlur/ImageBlur.xcodeproj/project.pbxproj b/submodules/ImageBlur/ImageBlur.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..4099feef28 --- /dev/null +++ b/submodules/ImageBlur/ImageBlur.xcodeproj/project.pbxproj @@ -0,0 +1,399 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29CB11A43300000000 + + isa + PBXFileReference + name + ImageBlur-Debug.xcconfig + path + ../../buck-out/gen/submodules/ImageBlur/ImageBlur-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29325BFADD00000000 + + isa + PBXFileReference + name + ImageBlur-Profile.xcconfig + path + ../../buck-out/gen/submodules/ImageBlur/ImageBlur-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A5F2A63F00000000 + + isa + PBXFileReference + name + ImageBlur-Release.xcconfig + path + ../../buck-out/gen/submodules/ImageBlur/ImageBlur-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29CB11A43300000000 + 1DD70E29325BFADD00000000 + 1DD70E29A5F2A63F00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2961ED1ABF00000000 + + isa + PBXFileReference + name + ApplyScreenshotEffect.h + path + Sources/ApplyScreenshotEffect.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2961ED1AC400000000 + + isa + PBXFileReference + name + ApplyScreenshotEffect.m + path + Sources/ApplyScreenshotEffect.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E291345A43D00000000 + + isa + PBXFileReference + name + FastBlur.h + path + Sources/FastBlur.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E291345A44200000000 + + isa + PBXFileReference + name + FastBlur.m + path + Sources/FastBlur.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29E6A2B96700000000 + + isa + PBXFileReference + name + ImageBlur.swift + path + Sources/ImageBlur.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2961ED1ABF00000000 + 1DD70E2961ED1AC400000000 + 1DD70E291345A43D00000000 + 1DD70E291345A44200000000 + 1DD70E29E6A2B96700000000 + + + B401C9794312484200000000 + + isa + PBXGroup + name + ImageBlur + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D6F14E1000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9794312484200000000 + B401C979C806358400000000 + + + E7A30F0461ED1AC400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2961ED1AC400000000 + + E7A30F041345A44200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291345A44200000000 + + E7A30F04E6A2B96700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E6A2B96700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0461ED1AC400000000 + E7A30F041345A44200000000 + E7A30F04E6A2B96700000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29CB11A43300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29325BFADD00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29A5F2A63F00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E4312484200000000 + + isa + PBXNativeTarget + name + ImageBlur + productName + ImageBlur + productReference + 1DD70E29D6F14E1000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847934312484200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E4312484200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847934312484200000000 + + \ No newline at end of file diff --git a/submodules/ImageBlur/ImageBlur.xcodeproj/xcshareddata/xcschemes/ImageBlur.xcscheme b/submodules/ImageBlur/ImageBlur.xcodeproj/xcshareddata/xcschemes/ImageBlur.xcscheme new file mode 100644 index 0000000000..5082816cd7 --- /dev/null +++ b/submodules/ImageBlur/ImageBlur.xcodeproj/xcshareddata/xcschemes/ImageBlur.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ImageCompression/BUCK b/submodules/ImageCompression/BUCK new file mode 100644 index 0000000000..04b38610bc --- /dev/null +++ b/submodules/ImageCompression/BUCK @@ -0,0 +1,13 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ImageCompression", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", + ], +) diff --git a/submodules/ImageCompression/ImageCompression.xcodeproj/project.pbxproj b/submodules/ImageCompression/ImageCompression.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..6258b839ab --- /dev/null +++ b/submodules/ImageCompression/ImageCompression.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29751F982A00000000 + + isa + PBXFileReference + name + ImageCompression-Debug.xcconfig + path + ../../buck-out/gen/submodules/ImageCompression/ImageCompression-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2990BCCD1400000000 + + isa + PBXFileReference + name + ImageCompression-Profile.xcconfig + path + ../../buck-out/gen/submodules/ImageCompression/ImageCompression-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290453787600000000 + + isa + PBXFileReference + name + ImageCompression-Release.xcconfig + path + ../../buck-out/gen/submodules/ImageCompression/ImageCompression-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29751F982A00000000 + 1DD70E2990BCCD1400000000 + 1DD70E290453787600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2992AF239000000000 + + isa + PBXFileReference + name + ImageCompression.swift + path + Sources/ImageCompression.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2992AF239000000000 + + + B401C979E29FC52B00000000 + + isa + PBXGroup + name + ImageCompression + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29C6E517A300000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979E29FC52B00000000 + B401C979C806358400000000 + + + E7A30F0492AF239000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2992AF239000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0492AF239000000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29751F982A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2990BCCD1400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E290453787600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE29FC52B00000000 + + isa + PBXNativeTarget + name + ImageCompression + productName + ImageCompression + productReference + 1DD70E29C6E517A300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E29FC52B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE29FC52B00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E29FC52B00000000 + + \ No newline at end of file diff --git a/submodules/ImageCompression/ImageCompression.xcodeproj/xcshareddata/xcschemes/ImageCompression.xcscheme b/submodules/ImageCompression/ImageCompression.xcodeproj/xcshareddata/xcschemes/ImageCompression.xcscheme new file mode 100644 index 0000000000..deca876f0d --- /dev/null +++ b/submodules/ImageCompression/ImageCompression.xcodeproj/xcshareddata/xcschemes/ImageCompression.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ImageTransparency/BUCK b/submodules/ImageTransparency/BUCK new file mode 100644 index 0000000000..28d47290df --- /dev/null +++ b/submodules/ImageTransparency/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ImageTransparency", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Accelerate.framework", + ], +) diff --git a/submodules/ImageTransparency/ImageTransparency.xcodeproj/project.pbxproj b/submodules/ImageTransparency/ImageTransparency.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1ce9916c79 --- /dev/null +++ b/submodules/ImageTransparency/ImageTransparency.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29CBFE942200000000 + + isa + PBXFileReference + name + ImageTransparency-Debug.xcconfig + path + ../../buck-out/gen/submodules/ImageTransparency/ImageTransparency-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29ABCCAB0C00000000 + + isa + PBXFileReference + name + ImageTransparency-Profile.xcconfig + path + ../../buck-out/gen/submodules/ImageTransparency/ImageTransparency-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291F63566E00000000 + + isa + PBXFileReference + name + ImageTransparency-Release.xcconfig + path + ../../buck-out/gen/submodules/ImageTransparency/ImageTransparency-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29CBFE942200000000 + 1DD70E29ABCCAB0C00000000 + 1DD70E291F63566E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29ABDE509800000000 + + isa + PBXFileReference + name + ImageTransparency.swift + path + Sources/ImageTransparency.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29ABDE509800000000 + + + B401C979A5D7583300000000 + + isa + PBXGroup + name + ImageTransparency + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29247D9AC100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979A5D7583300000000 + B401C979C806358400000000 + + + E7A30F04ABDE509800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29ABDE509800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04ABDE509800000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29CBFE942200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29ABCCAB0C00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291F63566E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EA5D7583300000000 + + isa + PBXNativeTarget + name + ImageTransparency + productName + ImageTransparency + productReference + 1DD70E29247D9AC100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793A5D7583300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EA5D7583300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793A5D7583300000000 + + \ No newline at end of file diff --git a/submodules/ImageTransparency/ImageTransparency.xcodeproj/xcshareddata/xcschemes/ImageTransparency.xcscheme b/submodules/ImageTransparency/ImageTransparency.xcodeproj/xcshareddata/xcschemes/ImageTransparency.xcscheme new file mode 100644 index 0000000000..c2ff66efad --- /dev/null +++ b/submodules/ImageTransparency/ImageTransparency.xcodeproj/xcshareddata/xcschemes/ImageTransparency.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/InstantPageCache/BUCK b/submodules/InstantPageCache/BUCK new file mode 100644 index 0000000000..6136310edf --- /dev/null +++ b/submodules/InstantPageCache/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "InstantPageCache", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/PersistentStringHash:PersistentStringHash", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/InstantPageCache/InstantPageCache.xcodeproj/project.pbxproj b/submodules/InstantPageCache/InstantPageCache.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..373c879cf3 --- /dev/null +++ b/submodules/InstantPageCache/InstantPageCache.xcodeproj/project.pbxproj @@ -0,0 +1,489 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2947DD7D0300000000 + + isa + PBXFileReference + name + InstantPageCache-Debug.xcconfig + path + ../../buck-out/gen/submodules/InstantPageCache/InstantPageCache-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AB94DFAD00000000 + + isa + PBXFileReference + name + InstantPageCache-Profile.xcconfig + path + ../../buck-out/gen/submodules/InstantPageCache/InstantPageCache-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291F2B8B0F00000000 + + isa + PBXFileReference + name + InstantPageCache-Release.xcconfig + path + ../../buck-out/gen/submodules/InstantPageCache/InstantPageCache-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2947DD7D0300000000 + 1DD70E29AB94DFAD00000000 + 1DD70E291F2B8B0F00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29B5051C0E00000000 + + isa + PBXFileReference + name + libPersistentStringHash.a + path + libPersistentStringHash.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29B5051C0E00000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2911F7CFAA00000000 + + isa + PBXFileReference + name + CachedInstantPages.swift + path + Sources/CachedInstantPages.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2911F7CFAA00000000 + + + B401C979B949E97200000000 + + isa + PBXGroup + name + InstantPageCache + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299B97462A00000000 + + isa + PBXFileReference + name + libInstantPageCache.a + path + libInstantPageCache.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E299B97462A00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979B949E97200000000 + B401C979C806358400000000 + + + E7A30F0411F7CFAA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2911F7CFAA00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0411F7CFAA00000000 + + + E7A30F04B5051C0E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B5051C0E00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04B5051C0E00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F04FF334B1F00000000 + E7A30F042395015100000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2947DD7D0300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29AB94DFAD00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291F2B8B0F00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EB949E97200000000 + + isa + PBXNativeTarget + name + InstantPageCache + productName + InstantPageCache + productReference + 1DD70E299B97462A00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793B949E97200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EB949E97200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793B949E97200000000 + + \ No newline at end of file diff --git a/submodules/InstantPageCache/InstantPageCache.xcodeproj/xcshareddata/xcschemes/InstantPageCache.xcscheme b/submodules/InstantPageCache/InstantPageCache.xcodeproj/xcshareddata/xcschemes/InstantPageCache.xcscheme new file mode 100644 index 0000000000..ce5b0eaef0 --- /dev/null +++ b/submodules/InstantPageCache/InstantPageCache.xcodeproj/xcshareddata/xcschemes/InstantPageCache.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/InstantPageUI/BUCK b/submodules/InstantPageUI/BUCK new file mode 100644 index 0000000000..72be45275a --- /dev/null +++ b/submodules/InstantPageUI/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "InstantPageUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/GalleryUI:GalleryUI", + "//submodules/MusicAlbumArtResources:MusicAlbumArtResources", + "//submodules/LiveLocationPositionNode:LiveLocationPositionNode", + "//submodules/MosaicLayout:MosaicLayout", + "//submodules/LocationUI:LocationUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/InstantPageUI/InstantPageUI.xcodeproj/project.pbxproj b/submodules/InstantPageUI/InstantPageUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..93b606aff1 --- /dev/null +++ b/submodules/InstantPageUI/InstantPageUI.xcodeproj/project.pbxproj @@ -0,0 +1,2497 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E291C0E45B100000000 + + isa + PBXFileReference + name + InstantPageUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/InstantPageUI/InstantPageUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2936B634DB00000000 + + isa + PBXFileReference + name + InstantPageUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/InstantPageUI/InstantPageUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AA4CE03D00000000 + + isa + PBXFileReference + name + InstantPageUI-Release.xcconfig + path + ../../buck-out/gen/submodules/InstantPageUI/InstantPageUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E291C0E45B100000000 + 1DD70E2936B634DB00000000 + 1DD70E29AA4CE03D00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292995DF8400000000 + + isa + PBXFileReference + name + libLiveLocationPositionNode.a + path + libLiveLocationPositionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E102CFE100000000 + + isa + PBXFileReference + name + libLocationUI.a + path + libLocationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296BF0672C00000000 + + isa + PBXFileReference + name + libMosaicLayout.a + path + libMosaicLayout.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29866F6A0400000000 + + isa + PBXFileReference + name + libMusicAlbumArtResources.a + path + libMusicAlbumArtResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29F29DEA1400000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E2952137F3500000000 + 1DD70E29AC43662400000000 + 1DD70E292995DF8400000000 + 1DD70E29CE34063500000000 + 1DD70E29E102CFE100000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E296BF0672C00000000 + 1DD70E29866F6A0400000000 + 1DD70E29AF00DC4900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E293EE5EB7000000000 + + isa + PBXFileReference + name + InstantImageGalleryItem.swift + path + Sources/InstantImageGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29025B7C1D00000000 + + isa + PBXFileReference + name + InstantPageAnchorItem.swift + path + Sources/InstantPageAnchorItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E298CDC0AFE00000000 + + isa + PBXFileReference + name + InstantPageArticleItem.swift + path + Sources/InstantPageArticleItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E295DE20EAD00000000 + + isa + PBXFileReference + name + InstantPageArticleNode.swift + path + Sources/InstantPageArticleNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E294E2F7DDE00000000 + + isa + PBXFileReference + name + InstantPageAudioItem.swift + path + Sources/InstantPageAudioItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E291F35818D00000000 + + isa + PBXFileReference + name + InstantPageAudioNode.swift + path + Sources/InstantPageAudioNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2999B32E7000000000 + + isa + PBXFileReference + name + InstantPageContentNode.swift + path + Sources/InstantPageContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2926D3995100000000 + + isa + PBXFileReference + name + InstantPageController.swift + path + Sources/InstantPageController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29453BE3F300000000 + + isa + PBXFileReference + name + InstantPageControllerNode.swift + path + Sources/InstantPageControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B717014A00000000 + + isa + PBXFileReference + name + InstantPageDetailsItem.swift + path + Sources/InstantPageDetailsItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29881D04F900000000 + + isa + PBXFileReference + name + InstantPageDetailsNode.swift + path + Sources/InstantPageDetailsNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2960E21CED00000000 + + isa + PBXFileReference + name + InstantPageFeedbackItem.swift + path + Sources/InstantPageFeedbackItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2931E8209C00000000 + + isa + PBXFileReference + name + InstantPageFeedbackNode.swift + path + Sources/InstantPageFeedbackNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E297B53DEA300000000 + + isa + PBXFileReference + name + InstantPageGalleryController.swift + path + Sources/InstantPageGalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29093C888300000000 + + isa + PBXFileReference + name + InstantPageGalleryFooterContentNode.swift + path + Sources/InstantPageGalleryFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296241292300000000 + + isa + PBXFileReference + name + InstantPageImageItem.swift + path + Sources/InstantPageImageItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2933472CD200000000 + + isa + PBXFileReference + name + InstantPageImageNode.swift + path + Sources/InstantPageImageNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2943C8478800000000 + + isa + PBXFileReference + name + InstantPageItem.swift + path + Sources/InstantPageItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E294392565F00000000 + + isa + PBXFileReference + name + InstantPageLayout.swift + path + Sources/InstantPageLayout.swift + sourceTree + SOURCE_ROOT + + 1DD70E298E78C10F00000000 + + isa + PBXFileReference + name + InstantPageLayoutSpacings.swift + path + Sources/InstantPageLayoutSpacings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29361693CC00000000 + + isa + PBXFileReference + name + InstantPageLinkSelectionView.swift + path + Sources/InstantPageLinkSelectionView.swift + sourceTree + SOURCE_ROOT + + 1DD70E2918AA257900000000 + + isa + PBXFileReference + name + InstantPageMedia.swift + path + Sources/InstantPageMedia.swift + sourceTree + SOURCE_ROOT + + 1DD70E29384139EB00000000 + + isa + PBXFileReference + name + InstantPageMediaPlaylist.swift + path + Sources/InstantPageMediaPlaylist.swift + sourceTree + SOURCE_ROOT + + 1DD70E2935AF4EB400000000 + + isa + PBXFileReference + name + InstantPageNavigationBar.swift + path + Sources/InstantPageNavigationBar.swift + sourceTree + SOURCE_ROOT + + 1DD70E2914CE4B3700000000 + + isa + PBXFileReference + name + InstantPageNode.swift + path + Sources/InstantPageNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E297571EA5100000000 + + isa + PBXFileReference + name + InstantPagePeerReferenceItem.swift + path + Sources/InstantPagePeerReferenceItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E294677EE0000000000 + + isa + PBXFileReference + name + InstantPagePeerReferenceNode.swift + path + Sources/InstantPagePeerReferenceNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E292C0FDFD500000000 + + isa + PBXFileReference + name + InstantPagePlayableVideoItem.swift + path + Sources/InstantPagePlayableVideoItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FD15E38400000000 + + isa + PBXFileReference + name + InstantPagePlayableVideoNode.swift + path + Sources/InstantPagePlayableVideoNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DCFDD89C00000000 + + isa + PBXFileReference + name + InstantPageReferenceController.swift + path + Sources/InstantPageReferenceController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29524F85BE00000000 + + isa + PBXFileReference + name + InstantPageReferenceControllerNode.swift + path + Sources/InstantPageReferenceControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E3EDFC3E00000000 + + isa + PBXFileReference + name + InstantPageScrollableNode.swift + path + Sources/InstantPageScrollableNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296278CB5600000000 + + isa + PBXFileReference + name + InstantPageSettingsBacklightItemNode.swift + path + Sources/InstantPageSettingsBacklightItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29905B373F00000000 + + isa + PBXFileReference + name + InstantPageSettingsButtonItemNode.swift + path + Sources/InstantPageSettingsButtonItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29427D8D6000000000 + + isa + PBXFileReference + name + InstantPageSettingsFontFamilyItemNode.swift + path + Sources/InstantPageSettingsFontFamilyItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CAB1E3BD00000000 + + isa + PBXFileReference + name + InstantPageSettingsFontSizeItemNode.swift + path + Sources/InstantPageSettingsFontSizeItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2916939DAD00000000 + + isa + PBXFileReference + name + InstantPageSettingsItemNode.swift + path + Sources/InstantPageSettingsItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29460E67E800000000 + + isa + PBXFileReference + name + InstantPageSettingsItemTheme.swift + path + Sources/InstantPageSettingsItemTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E29123743BA00000000 + + isa + PBXFileReference + name + InstantPageSettingsNode.swift + path + Sources/InstantPageSettingsNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296D2F9BC100000000 + + isa + PBXFileReference + name + InstantPageSettingsSwitchItemNode.swift + path + Sources/InstantPageSettingsSwitchItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293727999000000000 + + isa + PBXFileReference + name + InstantPageSettingsThemeItemNode.swift + path + Sources/InstantPageSettingsThemeItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C0BD2FE900000000 + + isa + PBXFileReference + name + InstantPageShapeItem.swift + path + Sources/InstantPageShapeItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E293EA0B43600000000 + + isa + PBXFileReference + name + InstantPageSlideshowItem.swift + path + Sources/InstantPageSlideshowItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E292987045800000000 + + isa + PBXFileReference + name + InstantPageSlideshowItemNode.swift + path + Sources/InstantPageSlideshowItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C91A40C300000000 + + isa + PBXFileReference + name + InstantPageStoredState.swift + path + Sources/InstantPageStoredState.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BD4487D600000000 + + isa + PBXFileReference + name + InstantPageTableItem.swift + path + Sources/InstantPageTableItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29ED750C9500000000 + + isa + PBXFileReference + name + InstantPageTextItem.swift + path + Sources/InstantPageTextItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2929E3E01900000000 + + isa + PBXFileReference + name + InstantPageTextStyleStack.swift + path + Sources/InstantPageTextStyleStack.swift + sourceTree + SOURCE_ROOT + + 1DD70E290F296B9E00000000 + + isa + PBXFileReference + name + InstantPageTheme.swift + path + Sources/InstantPageTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E2993F5BEE300000000 + + isa + PBXFileReference + name + InstantPageTile.swift + path + Sources/InstantPageTile.swift + sourceTree + SOURCE_ROOT + + 1DD70E2962CCF08500000000 + + isa + PBXFileReference + name + InstantPageTileNode.swift + path + Sources/InstantPageTileNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E298877C14D00000000 + + isa + PBXFileReference + name + InstantPageWebEmbedItem.swift + path + Sources/InstantPageWebEmbedItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29597DC4FC00000000 + + isa + PBXFileReference + name + InstantPageWebEmbedNode.swift + path + Sources/InstantPageWebEmbedNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E293EE5EB7000000000 + 1DD70E29025B7C1D00000000 + 1DD70E298CDC0AFE00000000 + 1DD70E295DE20EAD00000000 + 1DD70E294E2F7DDE00000000 + 1DD70E291F35818D00000000 + 1DD70E2999B32E7000000000 + 1DD70E2926D3995100000000 + 1DD70E29453BE3F300000000 + 1DD70E29B717014A00000000 + 1DD70E29881D04F900000000 + 1DD70E2960E21CED00000000 + 1DD70E2931E8209C00000000 + 1DD70E297B53DEA300000000 + 1DD70E29093C888300000000 + 1DD70E296241292300000000 + 1DD70E2933472CD200000000 + 1DD70E2943C8478800000000 + 1DD70E294392565F00000000 + 1DD70E298E78C10F00000000 + 1DD70E29361693CC00000000 + 1DD70E2918AA257900000000 + 1DD70E29384139EB00000000 + 1DD70E2935AF4EB400000000 + 1DD70E2914CE4B3700000000 + 1DD70E297571EA5100000000 + 1DD70E294677EE0000000000 + 1DD70E292C0FDFD500000000 + 1DD70E29FD15E38400000000 + 1DD70E29DCFDD89C00000000 + 1DD70E29524F85BE00000000 + 1DD70E29E3EDFC3E00000000 + 1DD70E296278CB5600000000 + 1DD70E29905B373F00000000 + 1DD70E29427D8D6000000000 + 1DD70E29CAB1E3BD00000000 + 1DD70E2916939DAD00000000 + 1DD70E29460E67E800000000 + 1DD70E29123743BA00000000 + 1DD70E296D2F9BC100000000 + 1DD70E293727999000000000 + 1DD70E29C0BD2FE900000000 + 1DD70E293EA0B43600000000 + 1DD70E292987045800000000 + 1DD70E29C91A40C300000000 + 1DD70E29BD4487D600000000 + 1DD70E29ED750C9500000000 + 1DD70E2929E3E01900000000 + 1DD70E290F296B9E00000000 + 1DD70E2993F5BEE300000000 + 1DD70E2962CCF08500000000 + 1DD70E298877C14D00000000 + 1DD70E29597DC4FC00000000 + + + B401C9793CC29A8400000000 + + isa + PBXGroup + name + InstantPageUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E297394725200000000 + + isa + PBXFileReference + name + libInstantPageUI.a + path + libInstantPageUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E297394725200000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9793CC29A8400000000 + B401C979C806358400000000 + + + E7A30F043EE5EB7000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293EE5EB7000000000 + + E7A30F04025B7C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29025B7C1D00000000 + + E7A30F048CDC0AFE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298CDC0AFE00000000 + + E7A30F045DE20EAD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295DE20EAD00000000 + + E7A30F044E2F7DDE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294E2F7DDE00000000 + + E7A30F041F35818D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291F35818D00000000 + + E7A30F0499B32E7000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2999B32E7000000000 + + E7A30F0426D3995100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2926D3995100000000 + + E7A30F04453BE3F300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29453BE3F300000000 + + E7A30F04B717014A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B717014A00000000 + + E7A30F04881D04F900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29881D04F900000000 + + E7A30F0460E21CED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2960E21CED00000000 + + E7A30F0431E8209C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2931E8209C00000000 + + E7A30F047B53DEA300000000 + + isa + PBXBuildFile + fileRef + 1DD70E297B53DEA300000000 + + E7A30F04093C888300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29093C888300000000 + + E7A30F046241292300000000 + + isa + PBXBuildFile + fileRef + 1DD70E296241292300000000 + + E7A30F0433472CD200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2933472CD200000000 + + E7A30F0443C8478800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943C8478800000000 + + E7A30F044392565F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294392565F00000000 + + E7A30F048E78C10F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298E78C10F00000000 + + E7A30F04361693CC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29361693CC00000000 + + E7A30F0418AA257900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2918AA257900000000 + + E7A30F04384139EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29384139EB00000000 + + E7A30F0435AF4EB400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2935AF4EB400000000 + + E7A30F0414CE4B3700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914CE4B3700000000 + + E7A30F047571EA5100000000 + + isa + PBXBuildFile + fileRef + 1DD70E297571EA5100000000 + + E7A30F044677EE0000000000 + + isa + PBXBuildFile + fileRef + 1DD70E294677EE0000000000 + + E7A30F042C0FDFD500000000 + + isa + PBXBuildFile + fileRef + 1DD70E292C0FDFD500000000 + + E7A30F04FD15E38400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD15E38400000000 + + E7A30F04DCFDD89C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DCFDD89C00000000 + + E7A30F04524F85BE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F85BE00000000 + + E7A30F04E3EDFC3E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3EDFC3E00000000 + + E7A30F046278CB5600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296278CB5600000000 + + E7A30F04905B373F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29905B373F00000000 + + E7A30F04427D8D6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29427D8D6000000000 + + E7A30F04CAB1E3BD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CAB1E3BD00000000 + + E7A30F0416939DAD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2916939DAD00000000 + + E7A30F04460E67E800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29460E67E800000000 + + E7A30F04123743BA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29123743BA00000000 + + E7A30F046D2F9BC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296D2F9BC100000000 + + E7A30F043727999000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293727999000000000 + + E7A30F04C0BD2FE900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C0BD2FE900000000 + + E7A30F043EA0B43600000000 + + isa + PBXBuildFile + fileRef + 1DD70E293EA0B43600000000 + + E7A30F042987045800000000 + + isa + PBXBuildFile + fileRef + 1DD70E292987045800000000 + + E7A30F04C91A40C300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C91A40C300000000 + + E7A30F04BD4487D600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BD4487D600000000 + + E7A30F04ED750C9500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29ED750C9500000000 + + E7A30F0429E3E01900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2929E3E01900000000 + + E7A30F040F296B9E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F296B9E00000000 + + E7A30F0493F5BEE300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2993F5BEE300000000 + + E7A30F0462CCF08500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2962CCF08500000000 + + E7A30F048877C14D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298877C14D00000000 + + E7A30F04597DC4FC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597DC4FC00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F043EE5EB7000000000 + E7A30F04025B7C1D00000000 + E7A30F048CDC0AFE00000000 + E7A30F045DE20EAD00000000 + E7A30F044E2F7DDE00000000 + E7A30F041F35818D00000000 + E7A30F0499B32E7000000000 + E7A30F0426D3995100000000 + E7A30F04453BE3F300000000 + E7A30F04B717014A00000000 + E7A30F04881D04F900000000 + E7A30F0460E21CED00000000 + E7A30F0431E8209C00000000 + E7A30F047B53DEA300000000 + E7A30F04093C888300000000 + E7A30F046241292300000000 + E7A30F0433472CD200000000 + E7A30F0443C8478800000000 + E7A30F044392565F00000000 + E7A30F048E78C10F00000000 + E7A30F04361693CC00000000 + E7A30F0418AA257900000000 + E7A30F04384139EB00000000 + E7A30F0435AF4EB400000000 + E7A30F0414CE4B3700000000 + E7A30F047571EA5100000000 + E7A30F044677EE0000000000 + E7A30F042C0FDFD500000000 + E7A30F04FD15E38400000000 + E7A30F04DCFDD89C00000000 + E7A30F04524F85BE00000000 + E7A30F04E3EDFC3E00000000 + E7A30F046278CB5600000000 + E7A30F04905B373F00000000 + E7A30F04427D8D6000000000 + E7A30F04CAB1E3BD00000000 + E7A30F0416939DAD00000000 + E7A30F04460E67E800000000 + E7A30F04123743BA00000000 + E7A30F046D2F9BC100000000 + E7A30F043727999000000000 + E7A30F04C0BD2FE900000000 + E7A30F043EA0B43600000000 + E7A30F042987045800000000 + E7A30F04C91A40C300000000 + E7A30F04BD4487D600000000 + E7A30F04ED750C9500000000 + E7A30F0429E3E01900000000 + E7A30F040F296B9E00000000 + E7A30F0493F5BEE300000000 + E7A30F0462CCF08500000000 + E7A30F048877C14D00000000 + E7A30F04597DC4FC00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + E7A30F04F29DEA1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F29DEA1400000000 + + E7A30F042995DF8400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292995DF8400000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04E102CFE100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E102CFE100000000 + + E7A30F046BF0672C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296BF0672C00000000 + + E7A30F04866F6A0400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29866F6A0400000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0497B4D6D800000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F0481AE180900000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + E7A30F04F29DEA1400000000 + E7A30F042995DF8400000000 + E7A30F0452137F3500000000 + E7A30F04E102CFE100000000 + E7A30F046BF0672C00000000 + E7A30F04866F6A0400000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E291C0E45B100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2936B634DB00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AA4CE03D00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E3CC29A8400000000 + + isa + PBXNativeTarget + name + InstantPageUI + productName + InstantPageUI + productReference + 1DD70E297394725200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847933CC29A8400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E3CC29A8400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847933CC29A8400000000 + + \ No newline at end of file diff --git a/submodules/InstantPageUI/InstantPageUI.xcodeproj/xcshareddata/xcschemes/InstantPageUI.xcscheme b/submodules/InstantPageUI/InstantPageUI.xcodeproj/xcshareddata/xcschemes/InstantPageUI.xcscheme new file mode 100644 index 0000000000..45d097ad2f --- /dev/null +++ b/submodules/InstantPageUI/InstantPageUI.xcodeproj/xcshareddata/xcschemes/InstantPageUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/InstantPageUI/InstantPageUI_Xcode.xcodeproj/project.pbxproj b/submodules/InstantPageUI/InstantPageUI_Xcode.xcodeproj/project.pbxproj index 8f903cc37b..de9739cefd 100644 --- a/submodules/InstantPageUI/InstantPageUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/InstantPageUI/InstantPageUI_Xcode.xcodeproj/project.pbxproj @@ -71,11 +71,11 @@ D0C9C5F72301D04A00FAB518 /* GalleryUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C5F62301D04A00FAB518 /* GalleryUI.framework */; }; D0C9C5F92301D04F00FAB518 /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C5F82301D04F00FAB518 /* AsyncDisplayKit.framework */; }; D0C9C5FB2301D05400FAB518 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C5FA2301D05400FAB518 /* Display.framework */; }; - D0C9C5FD2301D0A900FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C5FC2301D0A900FAB518 /* FrameworkBundle.swift */; }; D0C9C6272301D21600FAB518 /* MusicAlbumArtResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6262301D21600FAB518 /* MusicAlbumArtResources.framework */; }; D0C9C6572301D30C00FAB518 /* LiveLocationPositionNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6562301D30C00FAB518 /* LiveLocationPositionNode.framework */; }; D0C9C67D2301D45A00FAB518 /* MosaicLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C67C2301D45A00FAB518 /* MosaicLayout.framework */; }; D0C9C6BB2301D92000FAB518 /* LocationUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6BA2301D92000FAB518 /* LocationUI.framework */; }; + D0EFF266231981C400CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF265231981C400CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -145,11 +145,11 @@ D0C9C5F62301D04A00FAB518 /* GalleryUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GalleryUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C5F82301D04F00FAB518 /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AsyncDisplayKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C5FA2301D05400FAB518 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C5FC2301D0A900FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C6262301D21600FAB518 /* MusicAlbumArtResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MusicAlbumArtResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C6562301D30C00FAB518 /* LiveLocationPositionNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LiveLocationPositionNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C67C2301D45A00FAB518 /* MosaicLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MosaicLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C6BA2301D92000FAB518 /* LocationUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocationUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF265231981C400CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -157,6 +157,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF266231981C400CF5164 /* AppBundle.framework in Frameworks */, D0C9C6BB2301D92000FAB518 /* LocationUI.framework in Frameworks */, D0C9C67D2301D45A00FAB518 /* MosaicLayout.framework in Frameworks */, D0C9C6572301D30C00FAB518 /* LiveLocationPositionNode.framework in Frameworks */, @@ -251,7 +252,6 @@ D0C9C5AC2301D04200FAB518 /* InstantPageTileNode.swift */, D0C9C5952301D03F00FAB518 /* InstantPageWebEmbedItem.swift */, D0C9C5AA2301D04200FAB518 /* InstantPageWebEmbedNode.swift */, - D0C9C5FC2301D0A900FAB518 /* FrameworkBundle.swift */, D0C9C56D2301CFA600FAB518 /* InstantPageUI.h */, ); path = Sources; @@ -260,6 +260,7 @@ D0C9C5792301D01200FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF265231981C400CF5164 /* AppBundle.framework */, D0C9C6BA2301D92000FAB518 /* LocationUI.framework */, D0C9C67C2301D45A00FAB518 /* MosaicLayout.framework */, D0C9C6562301D30C00FAB518 /* LiveLocationPositionNode.framework */, @@ -377,7 +378,6 @@ D0C9C5EF2301D04700FAB518 /* InstantPageLayout.swift in Sources */, D0C9C5F02301D04700FAB518 /* InstantPageItem.swift in Sources */, D0C9C5DB2301D04700FAB518 /* InstantPageSlideshowItemNode.swift in Sources */, - D0C9C5FD2301D0A900FAB518 /* FrameworkBundle.swift in Sources */, D0C9C5E92301D04700FAB518 /* InstantPageTheme.swift in Sources */, D0C9C5D52301D04700FAB518 /* InstantPageSettingsNode.swift in Sources */, D0C9C5CF2301D04700FAB518 /* InstantPageSettingsFontFamilyItemNode.swift in Sources */, diff --git a/submodules/InstantPageUI/Sources/FrameworkBundle.swift b/submodules/InstantPageUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/InstantPageUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/InstantPageUI/Sources/InstantImageGalleryItem.swift b/submodules/InstantPageUI/Sources/InstantImageGalleryItem.swift index 2f7527fe8e..ddbc4757b2 100644 --- a/submodules/InstantPageUI/Sources/InstantImageGalleryItem.swift +++ b/submodules/InstantPageUI/Sources/InstantImageGalleryItem.swift @@ -60,7 +60,7 @@ class InstantImageGalleryItem: GalleryItem { node.setImage(imageReference: self.imageReference) if let location = self.location { - node._title.set(.single("\(location.position + 1) \(self.presentationData.strings.Common_of) \(location.totalCount)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.position + 1)", "\(location.totalCount)").0)) } node.setCaption(self.caption, credit: self.credit) @@ -71,7 +71,7 @@ class InstantImageGalleryItem: GalleryItem { func updateNode(node: GalleryItemNode) { if let node = node as? InstantImageGalleryItemNode { if let location = self.location { - node._title.set(.single("\(location.position + 1) \(self.presentationData.strings.Common_of) \(location.totalCount)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(location.position + 1)", "\(location.totalCount)").0)) } node.setCaption(self.caption, credit: self.credit) diff --git a/submodules/InstantPageUI/Sources/InstantPageGalleryFooterContentNode.swift b/submodules/InstantPageUI/Sources/InstantPageGalleryFooterContentNode.swift index 6d4bd12264..77199ced8c 100644 --- a/submodules/InstantPageUI/Sources/InstantPageGalleryFooterContentNode.swift +++ b/submodules/InstantPageUI/Sources/InstantPageGalleryFooterContentNode.swift @@ -11,6 +11,7 @@ import TextFormat import AccountContext import ShareController import GalleryUI +import AppBundle private let actionImage = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionAction"), color: .white) diff --git a/submodules/InstantPageUI/Sources/InstantPageImageNode.swift b/submodules/InstantPageUI/Sources/InstantPageImageNode.swift index bcdae5eb38..4dd56cc27d 100644 --- a/submodules/InstantPageUI/Sources/InstantPageImageNode.swift +++ b/submodules/InstantPageUI/Sources/InstantPageImageNode.swift @@ -11,6 +11,7 @@ import RadialStatusNode import PhotoResources import MediaResources import LiveLocationPositionNode +import AppBundle private struct FetchControls { let fetch: (Bool) -> Void diff --git a/submodules/InstantPageUI/Sources/InstantPageNavigationBar.swift b/submodules/InstantPageUI/Sources/InstantPageNavigationBar.swift index 886077b6bf..5fea9c5f6f 100644 --- a/submodules/InstantPageUI/Sources/InstantPageNavigationBar.swift +++ b/submodules/InstantPageUI/Sources/InstantPageNavigationBar.swift @@ -3,6 +3,7 @@ import UIKit import Display import AsyncDisplayKit import TelegramPresentationData +import AppBundle private let backArrowImage = NavigationBarTheme.generateBackArrowImage(color: .white) private let moreImage = generateTintedImage(image: UIImage(bundleImageName: "Instant View/MoreIcon"), color: .white) diff --git a/submodules/InstantPageUI/Sources/InstantPagePeerReferenceNode.swift b/submodules/InstantPageUI/Sources/InstantPagePeerReferenceNode.swift index ac1cb8cf7f..f95e305c22 100644 --- a/submodules/InstantPageUI/Sources/InstantPagePeerReferenceNode.swift +++ b/submodules/InstantPageUI/Sources/InstantPagePeerReferenceNode.swift @@ -8,6 +8,7 @@ import Display import TelegramPresentationData import ActivityIndicator import AccountContext +import AppBundle private enum JoinState: Equatable { case none diff --git a/submodules/InstantPageUI/Sources/InstantPageSettingsBacklightItemNode.swift b/submodules/InstantPageUI/Sources/InstantPageSettingsBacklightItemNode.swift index eb66c3839e..f8b2423583 100644 --- a/submodules/InstantPageUI/Sources/InstantPageSettingsBacklightItemNode.swift +++ b/submodules/InstantPageUI/Sources/InstantPageSettingsBacklightItemNode.swift @@ -2,7 +2,7 @@ import Foundation import UIKit import AsyncDisplayKit import Display - +import AppBundle import LegacyComponents private func generateKnobImage() -> UIImage? { diff --git a/submodules/InstantPageUI/Sources/InstantPageSettingsFontSizeItemNode.swift b/submodules/InstantPageUI/Sources/InstantPageSettingsFontSizeItemNode.swift index 1469b1824f..188e08161c 100644 --- a/submodules/InstantPageUI/Sources/InstantPageSettingsFontSizeItemNode.swift +++ b/submodules/InstantPageUI/Sources/InstantPageSettingsFontSizeItemNode.swift @@ -2,7 +2,7 @@ import Foundation import UIKit import AsyncDisplayKit import Display - +import AppBundle import LegacyComponents private func generateKnobImage() -> UIImage? { diff --git a/submodules/InstantPageUI/Sources/InstantPageSettingsNode.swift b/submodules/InstantPageUI/Sources/InstantPageSettingsNode.swift index 8e2df91941..b269e96484 100644 --- a/submodules/InstantPageUI/Sources/InstantPageSettingsNode.swift +++ b/submodules/InstantPageUI/Sources/InstantPageSettingsNode.swift @@ -6,6 +6,7 @@ import Postbox import SwiftSignalKit import TelegramPresentationData import TelegramUIPreferences +import AppBundle private func generateArrowImage(color: UIColor) -> UIImage? { let smallRadius: CGFloat = 5.0 diff --git a/submodules/ItemListAddressItem/BUCK b/submodules/ItemListAddressItem/BUCK new file mode 100644 index 0000000000..f999b68ec5 --- /dev/null +++ b/submodules/ItemListAddressItem/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ItemListAddressItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ItemListUI:ItemListUI", + "//submodules/AccountContext:AccountContext", + "//submodules/TextFormat:TextFormat", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ItemListAddressItem/ItemListAddressItem.xcodeproj/project.pbxproj b/submodules/ItemListAddressItem/ItemListAddressItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..455bc5af13 --- /dev/null +++ b/submodules/ItemListAddressItem/ItemListAddressItem.xcodeproj/project.pbxproj @@ -0,0 +1,929 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FCBCB7FF00000000 + + isa + PBXFileReference + name + ItemListAddressItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ItemListAddressItem/ItemListAddressItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A5914BA900000000 + + isa + PBXFileReference + name + ItemListAddressItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ItemListAddressItem/ItemListAddressItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291927F70B00000000 + + isa + PBXFileReference + name + ItemListAddressItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ItemListAddressItem/ItemListAddressItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FCBCB7FF00000000 + 1DD70E29A5914BA900000000 + 1DD70E291927F70B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E290A17F01B00000000 + + isa + PBXFileReference + name + ItemListAddressItem.swift + path + Sources/ItemListAddressItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E290A17F01B00000000 + + + B401C979999395F600000000 + + isa + PBXGroup + name + ItemListAddressItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29C137890400000000 + + isa + PBXFileReference + name + libItemListAddressItem.a + path + libItemListAddressItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29C137890400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979999395F600000000 + B401C979C806358400000000 + + + E7A30F040A17F01B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290A17F01B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F040A17F01B00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FCBCB7FF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A5914BA900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291927F70B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E999395F600000000 + + isa + PBXNativeTarget + name + ItemListAddressItem + productName + ItemListAddressItem + productReference + 1DD70E29C137890400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793999395F600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E999395F600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793999395F600000000 + + \ No newline at end of file diff --git a/submodules/ItemListAddressItem/ItemListAddressItem.xcodeproj/xcshareddata/xcschemes/ItemListAddressItem.xcscheme b/submodules/ItemListAddressItem/ItemListAddressItem.xcodeproj/xcshareddata/xcschemes/ItemListAddressItem.xcscheme new file mode 100644 index 0000000000..2125513065 --- /dev/null +++ b/submodules/ItemListAddressItem/ItemListAddressItem.xcodeproj/xcshareddata/xcschemes/ItemListAddressItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ItemListAddressItem/ItemListAddressItem_Xcode.xcodeproj/project.pbxproj b/submodules/ItemListAddressItem/ItemListAddressItem_Xcode.xcodeproj/project.pbxproj index 01adfaf460..6e33937ac5 100644 --- a/submodules/ItemListAddressItem/ItemListAddressItem_Xcode.xcodeproj/project.pbxproj +++ b/submodules/ItemListAddressItem/ItemListAddressItem_Xcode.xcodeproj/project.pbxproj @@ -18,7 +18,7 @@ D03E42DE230571DD0049C28B /* ItemListUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E42DD230571DD0049C28B /* ItemListUI.framework */; }; D03E42E0230571E20049C28B /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E42DF230571E20049C28B /* AccountContext.framework */; }; D03E42E2230571E60049C28B /* TextFormat.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E42E1230571E60049C28B /* TextFormat.framework */; }; - D03E42E8230572780049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E42E7230572780049C28B /* FrameworkBundle.swift */; }; + D0EFF2562319811E00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2552319811E00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -35,7 +35,7 @@ D03E42DD230571DD0049C28B /* ItemListUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E42DF230571E20049C28B /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E42E1230571E60049C28B /* TextFormat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TextFormat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E42E7230572780049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF2552319811E00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -43,6 +43,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2562319811E00CF5164 /* AppBundle.framework in Frameworks */, D03E42E2230571E60049C28B /* TextFormat.framework in Frameworks */, D03E42E0230571E20049C28B /* AccountContext.framework in Frameworks */, D03E42DE230571DD0049C28B /* ItemListUI.framework in Frameworks */, @@ -80,7 +81,6 @@ isa = PBXGroup; children = ( D03E42CA230571700049C28B /* ItemListAddressItem.swift */, - D03E42E7230572780049C28B /* FrameworkBundle.swift */, D03E42C2230571620049C28B /* ItemListAddressItem.h */, ); path = Sources; @@ -89,6 +89,7 @@ D03E42D0230571C20049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2552319811E00CF5164 /* AppBundle.framework */, D03E42E1230571E60049C28B /* TextFormat.framework */, D03E42DF230571E20049C28B /* AccountContext.framework */, D03E42DD230571DD0049C28B /* ItemListUI.framework */, @@ -182,7 +183,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D03E42E8230572780049C28B /* FrameworkBundle.swift in Sources */, D03E42CB230571710049C28B /* ItemListAddressItem.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/ItemListAddressItem/Sources/FrameworkBundle.swift b/submodules/ItemListAddressItem/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/ItemListAddressItem/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/ItemListAddressItem/Sources/ItemListAddressItem.swift b/submodules/ItemListAddressItem/Sources/ItemListAddressItem.swift index 60893ed4a7..ee53aee5e8 100644 --- a/submodules/ItemListAddressItem/Sources/ItemListAddressItem.swift +++ b/submodules/ItemListAddressItem/Sources/ItemListAddressItem.swift @@ -7,6 +7,7 @@ import TelegramPresentationData import ItemListUI import AccountContext import TextFormat +import AppBundle public final class ItemListAddressItem: ListViewItem, ItemListItem { let theme: PresentationTheme diff --git a/submodules/ItemListAvatarAndNameInfoItem/BUCK b/submodules/ItemListAvatarAndNameInfoItem/BUCK new file mode 100644 index 0000000000..76b3319fce --- /dev/null +++ b/submodules/ItemListAvatarAndNameInfoItem/BUCK @@ -0,0 +1,26 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ItemListAvatarAndNameInfoItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/PeerPresenceStatusManager:PeerPresenceStatusManager", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/AvatarNode:AvatarNode", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/ItemListUI:ItemListUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem.xcodeproj/project.pbxproj b/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..cc0befc30a --- /dev/null +++ b/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem.xcodeproj/project.pbxproj @@ -0,0 +1,973 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29B84A5C1C00000000 + + isa + PBXFileReference + name + ItemListAvatarAndNameInfoItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B4465C8600000000 + + isa + PBXFileReference + name + ItemListAvatarAndNameInfoItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2927DD07E800000000 + + isa + PBXFileReference + name + ItemListAvatarAndNameInfoItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29B84A5C1C00000000 + 1DD70E29B4465C8600000000 + 1DD70E2927DD07E800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29E343141000000000 + + isa + PBXFileReference + name + ItemListAvatarAndNameItem.swift + path + Sources/ItemListAvatarAndNameItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29E343141000000000 + + + B401C97987F7DB7900000000 + + isa + PBXGroup + name + ItemListAvatarAndNameInfoItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29F2CA340700000000 + + isa + PBXFileReference + name + libItemListAvatarAndNameInfoItem.a + path + libItemListAvatarAndNameInfoItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F2CA340700000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97987F7DB7900000000 + B401C979C806358400000000 + + + E7A30F04E343141000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E343141000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04E343141000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29B84A5C1C00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B4465C8600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2927DD07E800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E87F7DB7900000000 + + isa + PBXNativeTarget + name + ItemListAvatarAndNameInfoItem + productName + ItemListAvatarAndNameInfoItem + productReference + 1DD70E29F2CA340700000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479387F7DB7900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E87F7DB7900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479387F7DB7900000000 + + \ No newline at end of file diff --git a/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem.xcodeproj/xcshareddata/xcschemes/ItemListAvatarAndNameInfoItem.xcscheme b/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem.xcodeproj/xcshareddata/xcschemes/ItemListAvatarAndNameInfoItem.xcscheme new file mode 100644 index 0000000000..f0c801c083 --- /dev/null +++ b/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem.xcodeproj/xcshareddata/xcschemes/ItemListAvatarAndNameInfoItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem_Xcode.xcodeproj/project.pbxproj b/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem_Xcode.xcodeproj/project.pbxproj index de2f1b650f..9be8a12ade 100644 --- a/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem_Xcode.xcodeproj/project.pbxproj +++ b/submodules/ItemListAvatarAndNameInfoItem/ItemListAvatarAndNameInfoItem_Xcode.xcodeproj/project.pbxproj @@ -22,7 +22,7 @@ D03E3DCC2304AF6D0049C28B /* AvatarNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3DCB2304AF6D0049C28B /* AvatarNode.framework */; }; D03E3DCE2304AF720049C28B /* TelegramStringFormatting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3DCD2304AF720049C28B /* TelegramStringFormatting.framework */; }; D03E3DD02304AF760049C28B /* PeerPresenceStatusManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3DCF2304AF760049C28B /* PeerPresenceStatusManager.framework */; }; - D03E3DD42304AFE80049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E3DD32304AFE80049C28B /* FrameworkBundle.swift */; }; + D0EFF2542319810F00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2532319810F00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -43,7 +43,7 @@ D03E3DCB2304AF6D0049C28B /* AvatarNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AvatarNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E3DCD2304AF720049C28B /* TelegramStringFormatting.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramStringFormatting.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E3DCF2304AF760049C28B /* PeerPresenceStatusManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeerPresenceStatusManager.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E3DD32304AFE80049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF2532319810F00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -51,6 +51,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2542319810F00CF5164 /* AppBundle.framework in Frameworks */, D03E3DD02304AF760049C28B /* PeerPresenceStatusManager.framework in Frameworks */, D03E3DCE2304AF720049C28B /* TelegramStringFormatting.framework in Frameworks */, D03E3DCC2304AF6D0049C28B /* AvatarNode.framework in Frameworks */, @@ -93,7 +94,6 @@ children = ( D03E3DB42304AF2E0049C28B /* ItemListAvatarAndNameItem.swift */, D03E3DA82304AEDD0049C28B /* ItemListAvatarAndNameInfoItem.h */, - D03E3DD32304AFE80049C28B /* FrameworkBundle.swift */, ); path = Sources; sourceTree = ""; @@ -101,6 +101,7 @@ D03E3DB62304AF3A0049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2532319810F00CF5164 /* AppBundle.framework */, D03E3DCF2304AF760049C28B /* PeerPresenceStatusManager.framework */, D03E3DCD2304AF720049C28B /* TelegramStringFormatting.framework */, D03E3DCB2304AF6D0049C28B /* AvatarNode.framework */, @@ -198,7 +199,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D03E3DD42304AFE80049C28B /* FrameworkBundle.swift in Sources */, D03E3DB52304AF2E0049C28B /* ItemListAvatarAndNameItem.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/ItemListAvatarAndNameInfoItem/Sources/FrameworkBundle.swift b/submodules/ItemListAvatarAndNameInfoItem/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/ItemListAvatarAndNameInfoItem/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/ItemListAvatarAndNameInfoItem/Sources/ItemListAvatarAndNameItem.swift b/submodules/ItemListAvatarAndNameInfoItem/Sources/ItemListAvatarAndNameItem.swift index b730cb973e..735bd17b34 100644 --- a/submodules/ItemListAvatarAndNameInfoItem/Sources/ItemListAvatarAndNameItem.swift +++ b/submodules/ItemListAvatarAndNameInfoItem/Sources/ItemListAvatarAndNameItem.swift @@ -11,6 +11,7 @@ import ActivityIndicator import AvatarNode import TelegramStringFormatting import PeerPresenceStatusManager +import AppBundle private let updatingAvatarOverlayImage = generateFilledCircleImage(diameter: 66.0, color: UIColor(white: 0.0, alpha: 0.4), backgroundColor: nil) diff --git a/submodules/ItemListPeerActionItem/BUCK b/submodules/ItemListPeerActionItem/BUCK new file mode 100644 index 0000000000..ad1ce4cefe --- /dev/null +++ b/submodules/ItemListPeerActionItem/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ItemListPeerActionItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ItemListUI:ItemListUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ItemListPeerActionItem/ItemListPeerActionItem.xcodeproj/project.pbxproj b/submodules/ItemListPeerActionItem/ItemListPeerActionItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..11b9670cbe --- /dev/null +++ b/submodules/ItemListPeerActionItem/ItemListPeerActionItem.xcodeproj/project.pbxproj @@ -0,0 +1,929 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2931A226F900000000 + + isa + PBXFileReference + name + ItemListPeerActionItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ItemListPeerActionItem/ItemListPeerActionItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2936D6E42300000000 + + isa + PBXFileReference + name + ItemListPeerActionItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ItemListPeerActionItem/ItemListPeerActionItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AA6D8F8500000000 + + isa + PBXFileReference + name + ItemListPeerActionItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ItemListPeerActionItem/ItemListPeerActionItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2931A226F900000000 + 1DD70E2936D6E42300000000 + 1DD70E29AA6D8F8500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E293B1CDFE100000000 + + isa + PBXFileReference + name + ItemListPeerActionItem.swift + path + Sources/ItemListPeerActionItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E293B1CDFE100000000 + + + B401C9796DE1523C00000000 + + isa + PBXGroup + name + ItemListPeerActionItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2905A95CB400000000 + + isa + PBXFileReference + name + libItemListPeerActionItem.a + path + libItemListPeerActionItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2905A95CB400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9796DE1523C00000000 + B401C979C806358400000000 + + + E7A30F043B1CDFE100000000 + + isa + PBXBuildFile + fileRef + 1DD70E293B1CDFE100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F043B1CDFE100000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2931A226F900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2936D6E42300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AA6D8F8500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6DE1523C00000000 + + isa + PBXNativeTarget + name + ItemListPeerActionItem + productName + ItemListPeerActionItem + productReference + 1DD70E2905A95CB400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936DE1523C00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6DE1523C00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936DE1523C00000000 + + \ No newline at end of file diff --git a/submodules/ItemListPeerActionItem/ItemListPeerActionItem.xcodeproj/xcshareddata/xcschemes/ItemListPeerActionItem.xcscheme b/submodules/ItemListPeerActionItem/ItemListPeerActionItem.xcodeproj/xcshareddata/xcschemes/ItemListPeerActionItem.xcscheme new file mode 100644 index 0000000000..63bdee50b8 --- /dev/null +++ b/submodules/ItemListPeerActionItem/ItemListPeerActionItem.xcodeproj/xcshareddata/xcschemes/ItemListPeerActionItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ItemListPeerItem/BUCK b/submodules/ItemListPeerItem/BUCK new file mode 100644 index 0000000000..d634f0c766 --- /dev/null +++ b/submodules/ItemListPeerItem/BUCK @@ -0,0 +1,26 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ItemListPeerItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AvatarNode:AvatarNode", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/PeerPresenceStatusManager:PeerPresenceStatusManager", + "//submodules/ItemListUI:ItemListUI", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/ContextUI:ContextUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ItemListPeerItem/ItemListPeerItem.xcodeproj/project.pbxproj b/submodules/ItemListPeerItem/ItemListPeerItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..fbaa4039f0 --- /dev/null +++ b/submodules/ItemListPeerItem/ItemListPeerItem.xcodeproj/project.pbxproj @@ -0,0 +1,1039 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E290F9E82CF00000000 + + isa + PBXFileReference + name + ItemListPeerItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ItemListPeerItem/ItemListPeerItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29872BA27900000000 + + isa + PBXFileReference + name + ItemListPeerItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ItemListPeerItem/ItemListPeerItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29FAC24DDB00000000 + + isa + PBXFileReference + name + ItemListPeerItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ItemListPeerItem/ItemListPeerItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E290F9E82CF00000000 + 1DD70E29872BA27900000000 + 1DD70E29FAC24DDB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E2997B4D6D800000000 + 1DD70E296C9831F100000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E29AD66967300000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29378FBB4B00000000 + + isa + PBXFileReference + name + ItemListPeerItem.swift + path + Sources/ItemListPeerItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29378FBB4B00000000 + + + B401C97902CF852600000000 + + isa + PBXGroup + name + ItemListPeerItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E299A24C4DE00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97902CF852600000000 + B401C979C806358400000000 + + + E7A30F04378FBB4B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29378FBB4B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04378FBB4B00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E290F9E82CF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29872BA27900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29FAC24DDB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E02CF852600000000 + + isa + PBXNativeTarget + name + ItemListPeerItem + productName + ItemListPeerItem + productReference + 1DD70E299A24C4DE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479302CF852600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E02CF852600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479302CF852600000000 + + \ No newline at end of file diff --git a/submodules/ItemListPeerItem/ItemListPeerItem.xcodeproj/xcshareddata/xcschemes/ItemListPeerItem.xcscheme b/submodules/ItemListPeerItem/ItemListPeerItem.xcodeproj/xcshareddata/xcschemes/ItemListPeerItem.xcscheme new file mode 100644 index 0000000000..ddec3e8832 --- /dev/null +++ b/submodules/ItemListPeerItem/ItemListPeerItem.xcodeproj/xcshareddata/xcschemes/ItemListPeerItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ItemListPeerItem/Sources/ItemListPeerItem.swift b/submodules/ItemListPeerItem/Sources/ItemListPeerItem.swift index e06d4c5d21..d20bd104a6 100644 --- a/submodules/ItemListPeerItem/Sources/ItemListPeerItem.swift +++ b/submodules/ItemListPeerItem/Sources/ItemListPeerItem.swift @@ -11,6 +11,7 @@ import ItemListUI import AvatarNode import TelegramStringFormatting import PeerPresenceStatusManager +import ContextUI public struct ItemListPeerItemEditing: Equatable { public var editable: Bool @@ -127,12 +128,13 @@ public final class ItemListPeerItem: ListViewItem, ItemListItem { let setPeerIdWithRevealedOptions: (PeerId?, PeerId?) -> Void let removePeer: (PeerId) -> Void let toggleUpdated: ((Bool) -> Void)? + let contextAction: ((ASDisplayNode, ContextGesture?) -> Void)? let hasTopStripe: Bool let hasTopGroupInset: Bool let noInsets: Bool public let tag: ItemListItemTag? - public init(theme: PresentationTheme, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, account: Account, peer: Peer, height: ItemListPeerItemHeight = .peerList, aliasHandling: ItemListPeerItemAliasHandling = .standard, nameColor: ItemListPeerItemNameColor = .primary, nameStyle: ItemListPeerItemNameStyle = .distinctBold, presence: PeerPresence?, text: ItemListPeerItemText, label: ItemListPeerItemLabel, editing: ItemListPeerItemEditing, revealOptions: ItemListPeerItemRevealOptions? = nil, switchValue: ItemListPeerItemSwitch?, enabled: Bool, selectable: Bool, sectionId: ItemListSectionId, action: (() -> Void)?, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, removePeer: @escaping (PeerId) -> Void, toggleUpdated: ((Bool) -> Void)? = nil, hasTopStripe: Bool = true, hasTopGroupInset: Bool = true, noInsets: Bool = false, tag: ItemListItemTag? = nil) { + public init(theme: PresentationTheme, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, account: Account, peer: Peer, height: ItemListPeerItemHeight = .peerList, aliasHandling: ItemListPeerItemAliasHandling = .standard, nameColor: ItemListPeerItemNameColor = .primary, nameStyle: ItemListPeerItemNameStyle = .distinctBold, presence: PeerPresence?, text: ItemListPeerItemText, label: ItemListPeerItemLabel, editing: ItemListPeerItemEditing, revealOptions: ItemListPeerItemRevealOptions? = nil, switchValue: ItemListPeerItemSwitch?, enabled: Bool, selectable: Bool, sectionId: ItemListSectionId, action: (() -> Void)?, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, removePeer: @escaping (PeerId) -> Void, toggleUpdated: ((Bool) -> Void)? = nil, contextAction: ((ASDisplayNode, ContextGesture?) -> Void)? = nil, hasTopStripe: Bool = true, hasTopGroupInset: Bool = true, noInsets: Bool = false, tag: ItemListItemTag? = nil) { self.theme = theme self.strings = strings self.dateTimeFormat = dateTimeFormat @@ -156,6 +158,7 @@ public final class ItemListPeerItem: ListViewItem, ItemListItem { self.setPeerIdWithRevealedOptions = setPeerIdWithRevealedOptions self.removePeer = removePeer self.toggleUpdated = toggleUpdated + self.contextAction = contextAction self.hasTopStripe = hasTopStripe self.hasTopGroupInset = hasTopGroupInset self.noInsets = noInsets @@ -221,6 +224,8 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo private let highlightedBackgroundNode: ASDisplayNode private var disabledOverlayNode: ASDisplayNode? + private let containerNode: ContextControllerSourceNode + fileprivate let avatarNode: AvatarNode private let titleNode: TextNode private let labelNode: TextNode @@ -260,6 +265,8 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo self.bottomStripeNode = ASDisplayNode() self.bottomStripeNode.isLayerBacked = true + self.containerNode = ContextControllerSourceNode() + self.avatarNode = AvatarNode(font: avatarFont) self.avatarNode.isLayerBacked = !smartInvertColorsEnabled() @@ -290,10 +297,11 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo self.isAccessibilityElement = true - self.addSubnode(self.avatarNode) - self.addSubnode(self.titleNode) - self.addSubnode(self.statusNode) - self.addSubnode(self.labelNode) + self.addSubnode(self.containerNode) + self.containerNode.addSubnode(self.avatarNode) + self.containerNode.addSubnode(self.titleNode) + self.containerNode.addSubnode(self.statusNode) + self.containerNode.addSubnode(self.labelNode) self.peerPresenceManager = PeerPresenceStatusManager(update: { [weak self] in if let strongSelf = self, let layoutParams = strongSelf.layoutParams { @@ -301,6 +309,14 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo apply(false, true) } }) + + self.containerNode.activated = { [weak self] gesture in + guard let strongSelf = self, let item = strongSelf.layoutParams?.0, let contextAction = item.contextAction else { + gesture.cancel() + return + } + contextAction(strongSelf.containerNode, gesture) + } } public func asyncLayout() -> (_ item: ItemListPeerItem, _ params: ListViewItemLayoutParams, _ neighbors: ItemListNeighbors) -> (ListViewItemNodeLayout, (Bool, Bool) -> Void) { @@ -568,6 +584,9 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo if let strongSelf = self { strongSelf.layoutParams = (item, params, neighbors) + strongSelf.containerNode.frame = CGRect(origin: CGPoint(), size: layout.contentSize) + strongSelf.containerNode.isGestureEnabled = item.contextAction != nil + strongSelf.accessibilityLabel = titleAttributedString?.string var combinedValueString = "" if let statusString = statusAttributedString?.string, !statusString.isEmpty { @@ -627,7 +646,7 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo } } strongSelf.editableControlNode = editableControlNode - strongSelf.insertSubnode(editableControlNode, aboveSubnode: strongSelf.avatarNode) + strongSelf.addSubnode(editableControlNode) editableControlNode.frame = editableControlFrame transition.animatePosition(node: editableControlNode, from: CGPoint(x: -editableControlFrame.size.width / 2.0, y: editableControlFrame.midY)) editableControlNode.alpha = 0.0 @@ -687,11 +706,7 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo if let currentSwitchNode = currentSwitchNode { if currentSwitchNode !== strongSelf.switchNode { strongSelf.switchNode = currentSwitchNode - if let disabledOverlayNode = strongSelf.disabledOverlayNode, disabledOverlayNode.supernode != nil { - strongSelf.insertSubnode(currentSwitchNode, belowSubnode: disabledOverlayNode) - } else { - strongSelf.addSubnode(currentSwitchNode) - } + strongSelf.containerNode.addSubnode(currentSwitchNode) currentSwitchNode.valueUpdated = { value in if let strongSelf = self { strongSelf.toggleUpdated(value) @@ -710,11 +725,7 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo if let currentCheckNode = currentCheckNode { if currentCheckNode !== strongSelf.checkNode { strongSelf.checkNode = currentCheckNode - if let disabledOverlayNode = strongSelf.disabledOverlayNode, disabledOverlayNode.supernode != nil { - strongSelf.insertSubnode(currentCheckNode, belowSubnode: disabledOverlayNode) - } else { - strongSelf.addSubnode(currentCheckNode) - } + strongSelf.containerNode.addSubnode(currentCheckNode) } if let checkImage = checkImage { currentCheckNode.image = checkImage @@ -732,7 +743,7 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo if let updatedLabelArrowNode = updatedLabelArrowNode { strongSelf.labelArrowNode = updatedLabelArrowNode - strongSelf.addSubnode(updatedLabelArrowNode) + strongSelf.containerNode.addSubnode(updatedLabelArrowNode) if let image = updatedLabelArrowNode.image { let labelArrowNodeFrame = CGRect(origin: CGPoint(x: params.width - params.rightInset - rightLabelInset - image.size.width, y: floor((contentSize.height - image.size.height) / 2.0)), size: image.size) transition.updateFrame(node: updatedLabelArrowNode, frame: labelArrowNodeFrame) @@ -755,7 +766,7 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo if let updateBadgeImage = updatedLabelBadgeImage { if strongSelf.labelBadgeNode.supernode == nil { - strongSelf.insertSubnode(strongSelf.labelBadgeNode, belowSubnode: strongSelf.labelNode) + strongSelf.containerNode.insertSubnode(strongSelf.labelBadgeNode, belowSubnode: strongSelf.labelNode) } strongSelf.labelBadgeNode.image = updateBadgeImage } diff --git a/submodules/ItemListStickerPackItem/BUCK b/submodules/ItemListStickerPackItem/BUCK new file mode 100644 index 0000000000..3da5704d8b --- /dev/null +++ b/submodules/ItemListStickerPackItem/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ItemListStickerPackItem", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ItemListUI:ItemListUI", + "//submodules/StickerResources:StickerResources", + "//submodules/AnimationUI:AnimationUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ItemListStickerPackItem/ItemListStickerPackItem.xcodeproj/project.pbxproj b/submodules/ItemListStickerPackItem/ItemListStickerPackItem.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1bcb58653d --- /dev/null +++ b/submodules/ItemListStickerPackItem/ItemListStickerPackItem.xcodeproj/project.pbxproj @@ -0,0 +1,929 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D3EAD73D00000000 + + isa + PBXFileReference + name + ItemListStickerPackItem-Debug.xcconfig + path + ../../buck-out/gen/submodules/ItemListStickerPackItem/ItemListStickerPackItem-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2969B4936700000000 + + isa + PBXFileReference + name + ItemListStickerPackItem-Profile.xcconfig + path + ../../buck-out/gen/submodules/ItemListStickerPackItem/ItemListStickerPackItem-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DD4B3EC900000000 + + isa + PBXFileReference + name + ItemListStickerPackItem-Release.xcconfig + path + ../../buck-out/gen/submodules/ItemListStickerPackItem/ItemListStickerPackItem-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D3EAD73D00000000 + 1DD70E2969B4936700000000 + 1DD70E29DD4B3EC900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E292D74131D00000000 + + isa + PBXFileReference + name + ItemListStickerPackItem.swift + path + Sources/ItemListStickerPackItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E292D74131D00000000 + + + B401C979F17EA27800000000 + + isa + PBXGroup + name + ItemListStickerPackItem + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E295C00B78600000000 + + isa + PBXFileReference + name + libItemListStickerPackItem.a + path + libItemListStickerPackItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295C00B78600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979F17EA27800000000 + B401C979C806358400000000 + + + E7A30F042D74131D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292D74131D00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F042D74131D00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D3EAD73D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2969B4936700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29DD4B3EC900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EF17EA27800000000 + + isa + PBXNativeTarget + name + ItemListStickerPackItem + productName + ItemListStickerPackItem + productReference + 1DD70E295C00B78600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793F17EA27800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EF17EA27800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793F17EA27800000000 + + \ No newline at end of file diff --git a/submodules/ItemListStickerPackItem/ItemListStickerPackItem.xcodeproj/xcshareddata/xcschemes/ItemListStickerPackItem.xcscheme b/submodules/ItemListStickerPackItem/ItemListStickerPackItem.xcodeproj/xcshareddata/xcschemes/ItemListStickerPackItem.xcscheme new file mode 100644 index 0000000000..063a4d0877 --- /dev/null +++ b/submodules/ItemListStickerPackItem/ItemListStickerPackItem.xcodeproj/xcshareddata/xcschemes/ItemListStickerPackItem.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ItemListUI/BUCK b/submodules/ItemListUI/BUCK new file mode 100644 index 0000000000..36f6b4954c --- /dev/null +++ b/submodules/ItemListUI/BUCK @@ -0,0 +1,25 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ItemListUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/MergeLists:MergeLists", + "//submodules/TextFormat:TextFormat", + "//submodules/ProgressNavigationButtonNode:ProgressNavigationButtonNode", + "//submodules/SwitchNode:SwitchNode", + "//submodules/AnimationUI:AnimationUI", + "//submodules/CheckNode:CheckNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ItemListUI/ItemListUI.xcodeproj/project.pbxproj b/submodules/ItemListUI/ItemListUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..dbf9227619 --- /dev/null +++ b/submodules/ItemListUI/ItemListUI.xcodeproj/project.pbxproj @@ -0,0 +1,1442 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2964CB815000000000 + + isa + PBXFileReference + name + ItemListUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/ItemListUI/ItemListUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29451304BA00000000 + + isa + PBXFileReference + name + ItemListUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/ItemListUI/ItemListUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B8A9B01C00000000 + + isa + PBXFileReference + name + ItemListUI-Release.xcconfig + path + ../../buck-out/gen/submodules/ItemListUI/ItemListUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2964CB815000000000 + 1DD70E29451304BA00000000 + 1DD70E29B8A9B01C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E291585DEDF00000000 + + isa + PBXFileReference + name + ItemListActionItem.swift + path + Sources/Items/ItemListActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E299A32E54500000000 + + isa + PBXFileReference + name + ItemListActivityTextItem.swift + path + Sources/Items/ItemListActivityTextItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E294578CFEC00000000 + + isa + PBXFileReference + name + ItemListCheckboxItem.swift + path + Sources/Items/ItemListCheckboxItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DD51215600000000 + + isa + PBXFileReference + name + ItemListDisclosureItem.swift + path + Sources/Items/ItemListDisclosureItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2913168D4D00000000 + + isa + PBXFileReference + name + ItemListEditableItem.swift + path + Sources/Items/ItemListEditableItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B61DFF9700000000 + + isa + PBXFileReference + name + ItemListInfoItem.swift + path + Sources/Items/ItemListInfoItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CD90160600000000 + + isa + PBXFileReference + name + ItemListMultilineInputItem.swift + path + Sources/Items/ItemListMultilineInputItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E293B3858E100000000 + + isa + PBXFileReference + name + ItemListMultilineTextItem.swift + path + Sources/Items/ItemListMultilineTextItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B1DEE75A00000000 + + isa + PBXFileReference + name + ItemListPlaceholderItem.swift + path + Sources/Items/ItemListPlaceholderItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2951CD3D3900000000 + + isa + PBXFileReference + name + ItemListSectionHeaderItem.swift + path + Sources/Items/ItemListSectionHeaderItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B4B5097500000000 + + isa + PBXFileReference + name + ItemListSingleLineInputItem.swift + path + Sources/Items/ItemListSingleLineInputItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A855725D00000000 + + isa + PBXFileReference + name + ItemListSwitchItem.swift + path + Sources/Items/ItemListSwitchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E298E0B7E3A00000000 + + isa + PBXFileReference + name + ItemListTextEmptyStateItem.swift + path + Sources/Items/ItemListTextEmptyStateItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E297AFF8D5600000000 + + isa + PBXFileReference + name + ItemListTextItem.swift + path + Sources/Items/ItemListTextItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29888C1FC800000000 + + isa + PBXFileReference + name + ItemListTextWithLabelItem.swift + path + Sources/Items/ItemListTextWithLabelItem.swift + sourceTree + SOURCE_ROOT + + B401C979043AF7A000000000 + + isa + PBXGroup + name + Items + path + Sources/Items + sourceTree + SOURCE_ROOT + children + + 1DD70E291585DEDF00000000 + 1DD70E299A32E54500000000 + 1DD70E294578CFEC00000000 + 1DD70E29DD51215600000000 + 1DD70E2913168D4D00000000 + 1DD70E29B61DFF9700000000 + 1DD70E29CD90160600000000 + 1DD70E293B3858E100000000 + 1DD70E29B1DEE75A00000000 + 1DD70E2951CD3D3900000000 + 1DD70E29B4B5097500000000 + 1DD70E29A855725D00000000 + 1DD70E298E0B7E3A00000000 + 1DD70E297AFF8D5600000000 + 1DD70E29888C1FC800000000 + + + 1DD70E297BC0EDD200000000 + + isa + PBXFileReference + name + ItemListController.swift + path + Sources/ItemListController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A23C5E6900000000 + + isa + PBXFileReference + name + ItemListControllerEmptyStateItem.swift + path + Sources/ItemListControllerEmptyStateItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2902790FF400000000 + + isa + PBXFileReference + name + ItemListControllerNode.swift + path + Sources/ItemListControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E290857F3DA00000000 + + isa + PBXFileReference + name + ItemListControllerSearch.swift + path + Sources/ItemListControllerSearch.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E72FA29D00000000 + + isa + PBXFileReference + name + ItemListControllerSegmentedTitleView.swift + path + Sources/ItemListControllerSegmentedTitleView.swift + sourceTree + SOURCE_ROOT + + 1DD70E290DDDC64400000000 + + isa + PBXFileReference + name + ItemListEditableDeleteControlNode.swift + path + Sources/ItemListEditableDeleteControlNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AD71BDBE00000000 + + isa + PBXFileReference + name + ItemListEditableReorderControlNode.swift + path + Sources/ItemListEditableReorderControlNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29586B50C900000000 + + isa + PBXFileReference + name + ItemListItem.swift + path + Sources/ItemListItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2939FE48C000000000 + + isa + PBXFileReference + name + ItemListLoadingIndicatorEmptyStateItem.swift + path + Sources/ItemListLoadingIndicatorEmptyStateItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29613EB66700000000 + + isa + PBXFileReference + name + ItemListRevealOptionsNode.swift + path + Sources/ItemListRevealOptionsNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2978C1317D00000000 + + isa + PBXFileReference + name + ItemListSelectableControlNode.swift + path + Sources/ItemListSelectableControlNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2989E0026900000000 + + isa + PBXFileReference + name + ListItemWithHeader.swift + path + Sources/ListItemWithHeader.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C979043AF7A000000000 + 1DD70E297BC0EDD200000000 + 1DD70E29A23C5E6900000000 + 1DD70E2902790FF400000000 + 1DD70E290857F3DA00000000 + 1DD70E29E72FA29D00000000 + 1DD70E290DDDC64400000000 + 1DD70E29AD71BDBE00000000 + 1DD70E29586B50C900000000 + 1DD70E2939FE48C000000000 + 1DD70E29613EB66700000000 + 1DD70E2978C1317D00000000 + 1DD70E2989E0026900000000 + + + B401C979E17F74C500000000 + + isa + PBXGroup + name + ItemListUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295A26607D00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979E17F74C500000000 + B401C979C806358400000000 + + + E7A30F041585DEDF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291585DEDF00000000 + + E7A30F049A32E54500000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A32E54500000000 + + E7A30F044578CFEC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294578CFEC00000000 + + E7A30F04DD51215600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD51215600000000 + + E7A30F0413168D4D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2913168D4D00000000 + + E7A30F04B61DFF9700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B61DFF9700000000 + + E7A30F04CD90160600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD90160600000000 + + E7A30F043B3858E100000000 + + isa + PBXBuildFile + fileRef + 1DD70E293B3858E100000000 + + E7A30F04B1DEE75A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B1DEE75A00000000 + + E7A30F0451CD3D3900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951CD3D3900000000 + + E7A30F04B4B5097500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B5097500000000 + + E7A30F04A855725D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A855725D00000000 + + E7A30F048E0B7E3A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298E0B7E3A00000000 + + E7A30F047AFF8D5600000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AFF8D5600000000 + + E7A30F04888C1FC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29888C1FC800000000 + + E7A30F047BC0EDD200000000 + + isa + PBXBuildFile + fileRef + 1DD70E297BC0EDD200000000 + + E7A30F04A23C5E6900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A23C5E6900000000 + + E7A30F0402790FF400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2902790FF400000000 + + E7A30F040857F3DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290857F3DA00000000 + + E7A30F04E72FA29D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E72FA29D00000000 + + E7A30F040DDDC64400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DDDC64400000000 + + E7A30F04AD71BDBE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD71BDBE00000000 + + E7A30F04586B50C900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29586B50C900000000 + + E7A30F0439FE48C000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2939FE48C000000000 + + E7A30F04613EB66700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29613EB66700000000 + + E7A30F0478C1317D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2978C1317D00000000 + + E7A30F0489E0026900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2989E0026900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F041585DEDF00000000 + E7A30F049A32E54500000000 + E7A30F044578CFEC00000000 + E7A30F04DD51215600000000 + E7A30F0413168D4D00000000 + E7A30F04B61DFF9700000000 + E7A30F04CD90160600000000 + E7A30F043B3858E100000000 + E7A30F04B1DEE75A00000000 + E7A30F0451CD3D3900000000 + E7A30F04B4B5097500000000 + E7A30F04A855725D00000000 + E7A30F048E0B7E3A00000000 + E7A30F047AFF8D5600000000 + E7A30F04888C1FC800000000 + E7A30F047BC0EDD200000000 + E7A30F04A23C5E6900000000 + E7A30F0402790FF400000000 + E7A30F040857F3DA00000000 + E7A30F04E72FA29D00000000 + E7A30F040DDDC64400000000 + E7A30F04AD71BDBE00000000 + E7A30F04586B50C900000000 + E7A30F0439FE48C000000000 + E7A30F04613EB66700000000 + E7A30F0478C1317D00000000 + E7A30F0489E0026900000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2964CB815000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29451304BA00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B8A9B01C00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE17F74C500000000 + + isa + PBXNativeTarget + name + ItemListUI + productName + ItemListUI + productReference + 1DD70E295A26607D00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E17F74C500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE17F74C500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E17F74C500000000 + + \ No newline at end of file diff --git a/submodules/ItemListUI/ItemListUI.xcodeproj/xcshareddata/xcschemes/ItemListUI.xcscheme b/submodules/ItemListUI/ItemListUI.xcodeproj/xcshareddata/xcschemes/ItemListUI.xcscheme new file mode 100644 index 0000000000..d2a9db867c --- /dev/null +++ b/submodules/ItemListUI/ItemListUI.xcodeproj/xcshareddata/xcschemes/ItemListUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/JoinLinkPreviewUI/BUCK b/submodules/JoinLinkPreviewUI/BUCK new file mode 100644 index 0000000000..f8a1ad7c8e --- /dev/null +++ b/submodules/JoinLinkPreviewUI/BUCK @@ -0,0 +1,24 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "JoinLinkPreviewUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/AlertUI:AlertUI", + "//submodules/ShareController:ShareController", + "//submodules/SelectablePeerNode:SelectablePeerNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI.xcodeproj/project.pbxproj b/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..05bcf1ae78 --- /dev/null +++ b/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI.xcodeproj/project.pbxproj @@ -0,0 +1,1189 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E297488D15D00000000 + + isa + PBXFileReference + name + JoinLinkPreviewUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E295ABC858700000000 + + isa + PBXFileReference + name + JoinLinkPreviewUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CE5330E900000000 + + isa + PBXFileReference + name + JoinLinkPreviewUI-Release.xcconfig + path + ../../buck-out/gen/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E297488D15D00000000 + 1DD70E295ABC858700000000 + 1DD70E29CE5330E900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E297C42E82500000000 + + isa + PBXFileReference + name + JoinLinkPreviewController.swift + path + Sources/JoinLinkPreviewController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A1FFA8C700000000 + + isa + PBXFileReference + name + JoinLinkPreviewControllerNode.swift + path + Sources/JoinLinkPreviewControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C1060ADA00000000 + + isa + PBXFileReference + name + JoinLinkPreviewPeerContentNode.swift + path + Sources/JoinLinkPreviewPeerContentNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E297C42E82500000000 + 1DD70E29A1FFA8C700000000 + 1DD70E29C1060ADA00000000 + + + B401C979592FAC5800000000 + + isa + PBXGroup + name + JoinLinkPreviewUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29631179A600000000 + + isa + PBXFileReference + name + libJoinLinkPreviewUI.a + path + libJoinLinkPreviewUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29631179A600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979592FAC5800000000 + B401C979C806358400000000 + + + E7A30F047C42E82500000000 + + isa + PBXBuildFile + fileRef + 1DD70E297C42E82500000000 + + E7A30F04A1FFA8C700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A1FFA8C700000000 + + E7A30F04C1060ADA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C1060ADA00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F047C42E82500000000 + E7A30F04A1FFA8C700000000 + E7A30F04C1060ADA00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04F523B9DE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E297488D15D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E295ABC858700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CE5330E900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E592FAC5800000000 + + isa + PBXNativeTarget + name + JoinLinkPreviewUI + productName + JoinLinkPreviewUI + productReference + 1DD70E29631179A600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793592FAC5800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E592FAC5800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793592FAC5800000000 + + \ No newline at end of file diff --git a/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI.xcodeproj/xcshareddata/xcschemes/JoinLinkPreviewUI.xcscheme b/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI.xcodeproj/xcshareddata/xcschemes/JoinLinkPreviewUI.xcscheme new file mode 100644 index 0000000000..55c263fbaf --- /dev/null +++ b/submodules/JoinLinkPreviewUI/JoinLinkPreviewUI.xcodeproj/xcshareddata/xcschemes/JoinLinkPreviewUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LanguageLinkPreviewUI/BUCK b/submodules/LanguageLinkPreviewUI/BUCK new file mode 100644 index 0000000000..cafd7c1364 --- /dev/null +++ b/submodules/LanguageLinkPreviewUI/BUCK @@ -0,0 +1,24 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LanguageLinkPreviewUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/TextFormat:TextFormat", + "//submodules/ShareController:ShareController", + "//submodules/AlertUI:AlertUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI.xcodeproj/project.pbxproj b/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e6b66cdaec --- /dev/null +++ b/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI.xcodeproj/project.pbxproj @@ -0,0 +1,1189 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E291B18868B00000000 + + isa + PBXFileReference + name + LanguageLinkPreviewUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299C33A73500000000 + + isa + PBXFileReference + name + LanguageLinkPreviewUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290FCA529700000000 + + isa + PBXFileReference + name + LanguageLinkPreviewUI-Release.xcconfig + path + ../../buck-out/gen/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E291B18868B00000000 + 1DD70E299C33A73500000000 + 1DD70E290FCA529700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2998BD6F4A00000000 + + isa + PBXFileReference + name + LanguageLinkPreviewContentNode.swift + path + Sources/LanguageLinkPreviewContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BB70D53700000000 + + isa + PBXFileReference + name + LanguageLinkPreviewController.swift + path + Sources/LanguageLinkPreviewController.swift + sourceTree + SOURCE_ROOT + + 1DD70E298F6CBCD900000000 + + isa + PBXFileReference + name + LanguageLinkPreviewControllerNode.swift + path + Sources/LanguageLinkPreviewControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2998BD6F4A00000000 + 1DD70E29BB70D53700000000 + 1DD70E298F6CBCD900000000 + + + B401C979E2DE00EA00000000 + + isa + PBXGroup + name + LanguageLinkPreviewUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E291B78CC3800000000 + + isa + PBXFileReference + name + libLanguageLinkPreviewUI.a + path + libLanguageLinkPreviewUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E291B78CC3800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979E2DE00EA00000000 + B401C979C806358400000000 + + + E7A30F0498BD6F4A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2998BD6F4A00000000 + + E7A30F04BB70D53700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BB70D53700000000 + + E7A30F048F6CBCD900000000 + + isa + PBXBuildFile + fileRef + 1DD70E298F6CBCD900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0498BD6F4A00000000 + E7A30F04BB70D53700000000 + E7A30F048F6CBCD900000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04F523B9DE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E291B18868B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E299C33A73500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E290FCA529700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE2DE00EA00000000 + + isa + PBXNativeTarget + name + LanguageLinkPreviewUI + productName + LanguageLinkPreviewUI + productReference + 1DD70E291B78CC3800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E2DE00EA00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE2DE00EA00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E2DE00EA00000000 + + \ No newline at end of file diff --git a/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI.xcodeproj/xcshareddata/xcschemes/LanguageLinkPreviewUI.xcscheme b/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI.xcodeproj/xcshareddata/xcschemes/LanguageLinkPreviewUI.xcscheme new file mode 100644 index 0000000000..b28b2bb870 --- /dev/null +++ b/submodules/LanguageLinkPreviewUI/LanguageLinkPreviewUI.xcodeproj/xcshareddata/xcschemes/LanguageLinkPreviewUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LanguageSuggestionUI/BUCK b/submodules/LanguageSuggestionUI/BUCK new file mode 100644 index 0000000000..ec182059c9 --- /dev/null +++ b/submodules/LanguageSuggestionUI/BUCK @@ -0,0 +1,21 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LanguageSuggestionUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/ActivityIndicator:ActivityIndicator", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LanguageSuggestionUI/LanguageSuggestionUI.xcodeproj/project.pbxproj b/submodules/LanguageSuggestionUI/LanguageSuggestionUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..82512cb266 --- /dev/null +++ b/submodules/LanguageSuggestionUI/LanguageSuggestionUI.xcodeproj/project.pbxproj @@ -0,0 +1,731 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D1DBB78500000000 + + isa + PBXFileReference + name + LanguageSuggestionUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/LanguageSuggestionUI/LanguageSuggestionUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AEEE81AF00000000 + + isa + PBXFileReference + name + LanguageSuggestionUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/LanguageSuggestionUI/LanguageSuggestionUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2922852D1100000000 + + isa + PBXFileReference + name + LanguageSuggestionUI-Release.xcconfig + path + ../../buck-out/gen/submodules/LanguageSuggestionUI/LanguageSuggestionUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D1DBB78500000000 + 1DD70E29AEEE81AF00000000 + 1DD70E2922852D1100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2903669CFD00000000 + + isa + PBXFileReference + name + LanguageSuggestionController.swift + path + Sources/LanguageSuggestionController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2903669CFD00000000 + + + B401C979C1C23B3000000000 + + isa + PBXGroup + name + LanguageSuggestionUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29E220F5E800000000 + + isa + PBXFileReference + name + libLanguageSuggestionUI.a + path + libLanguageSuggestionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29E220F5E800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C1C23B3000000000 + B401C979C806358400000000 + + + E7A30F0403669CFD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2903669CFD00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0403669CFD00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D1DBB78500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29AEEE81AF00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2922852D1100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EC1C23B3000000000 + + isa + PBXNativeTarget + name + LanguageSuggestionUI + productName + LanguageSuggestionUI + productReference + 1DD70E29E220F5E800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793C1C23B3000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EC1C23B3000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793C1C23B3000000000 + + \ No newline at end of file diff --git a/submodules/LanguageSuggestionUI/LanguageSuggestionUI.xcodeproj/xcshareddata/xcschemes/LanguageSuggestionUI.xcscheme b/submodules/LanguageSuggestionUI/LanguageSuggestionUI.xcodeproj/xcshareddata/xcschemes/LanguageSuggestionUI.xcscheme new file mode 100644 index 0000000000..36baee0cb1 --- /dev/null +++ b/submodules/LanguageSuggestionUI/LanguageSuggestionUI.xcodeproj/xcshareddata/xcschemes/LanguageSuggestionUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LanguageSuggestionUI/Sources/LanguageSuggestionController.swift b/submodules/LanguageSuggestionUI/Sources/LanguageSuggestionController.swift index f063030898..9b1d0e6f0b 100644 --- a/submodules/LanguageSuggestionUI/Sources/LanguageSuggestionController.swift +++ b/submodules/LanguageSuggestionUI/Sources/LanguageSuggestionController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ActivityIndicator import AccountContext +import AppBundle public struct LanguageSuggestionControllerStrings { let ChooseLanguage: String @@ -334,7 +335,7 @@ public func languageSuggestionController(context: AccountContext, suggestedLocal let theme = context.sharedContext.currentPresentationData.with { $0 }.theme let strings = LanguageSuggestionControllerStrings(localization: suggestedLocalization) - guard let mainPath = Bundle.main.path(forResource: "en", ofType: "lproj") else { + guard let mainPath = getAppBundle().path(forResource: "en", ofType: "lproj") else { return nil } let englishStrings = LanguageSuggestionControllerStrings(bundle: Bundle(path: mainPath)) diff --git a/submodules/LegacyComponents/BUCK b/submodules/LegacyComponents/BUCK index ebbb5bf479..d07844597c 100644 --- a/submodules/LegacyComponents/BUCK +++ b/submodules/LegacyComponents/BUCK @@ -1,373 +1,369 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library") apple_resource( name = "LegacyComponentsResources", dirs = [ "LegacyComponents/Resources/LegacyComponentsResources.bundle", ], + visibility = ["PUBLIC"], ) -apple_library( - name = 'LegacyComponents', +static_library( + name = "LegacyComponents", srcs = glob([ - 'LegacyComponents/*.m', - 'LegacyComponents/*.mm', - 'LegacyComponents/*.c', - 'LegacyComponents/*.cpp', + "LegacyComponents/*.m", + "LegacyComponents/*.mm", + "LegacyComponents/*.c", + "LegacyComponents/*.cpp", ]), headers = glob([ - 'LegacyComponents/*.h', - ]), - header_namespace = 'LegacyComponents', + "LegacyComponents/*.h", + ], exclude = ["LegacyComponents/LegacyComponents.h"]), exported_headers = [ - 'LegacyComponents/LegacyComponentsGlobals.h', - 'LegacyComponents/LegacyComponentsContext.h', - 'LegacyComponents/TGLocalization.h', - 'LegacyComponents/TGPluralization.h', - 'LegacyComponents/TGStringUtils.h', - 'LegacyComponents/TGPhoneUtils.h', - 'LegacyComponents/NSObject+TGLock.h', - 'LegacyComponents/RMPhoneFormat.h', - 'LegacyComponents/NSInputStream+TL.h', - 'LegacyComponents/TGFont.h', - 'LegacyComponents/TGImageUtils.h', - 'LegacyComponents/TGDateUtils.h', - 'LegacyComponents/Freedom.h', - 'LegacyComponents/FreedomUIKit.h', - 'LegacyComponents/TGHacks.h', - 'LegacyComponents/TGImageBlur.h', - 'LegacyComponents/UIDevice+PlatformInfo.h', - 'LegacyComponents/TGObserverProxy.h', - 'LegacyComponents/TGModernCache.h', - 'LegacyComponents/TGMemoryImageCache.h', - 'LegacyComponents/LegacyComponentsAccessChecker.h', - 'LegacyComponents/TGTimerTarget.h', - 'LegacyComponents/TGKeyCommand.h', - 'LegacyComponents/TGKeyCommandController.h', - 'LegacyComponents/TGWeakDelegate.h', - 'LegacyComponents/TGCache.h', - 'LegacyComponents/TGLiveUploadInterface.h', + "LegacyComponents/LegacyComponentsGlobals.h", + "LegacyComponents/LegacyComponentsContext.h", + "LegacyComponents/TGLocalization.h", + "LegacyComponents/TGPluralization.h", + "LegacyComponents/TGStringUtils.h", + "LegacyComponents/TGPhoneUtils.h", + "LegacyComponents/NSObject+TGLock.h", + "LegacyComponents/RMPhoneFormat.h", + "LegacyComponents/NSInputStream+TL.h", + "LegacyComponents/TGFont.h", + "LegacyComponents/TGImageUtils.h", + "LegacyComponents/TGDateUtils.h", + "LegacyComponents/Freedom.h", + "LegacyComponents/FreedomUIKit.h", + "LegacyComponents/TGHacks.h", + "LegacyComponents/TGImageBlur.h", + "LegacyComponents/UIDevice+PlatformInfo.h", + "LegacyComponents/TGObserverProxy.h", + "LegacyComponents/TGModernCache.h", + "LegacyComponents/TGMemoryImageCache.h", + "LegacyComponents/LegacyComponentsAccessChecker.h", + "LegacyComponents/TGTimerTarget.h", + "LegacyComponents/TGKeyCommand.h", + "LegacyComponents/TGKeyCommandController.h", + "LegacyComponents/TGWeakDelegate.h", + "LegacyComponents/TGCache.h", + "LegacyComponents/TGLiveUploadInterface.h", - 'LegacyComponents/JNWSpringAnimation.h', - 'LegacyComponents/POPAnimationEvent.h', - 'LegacyComponents/POPAnimationTracer.h', - 'LegacyComponents/POPAnimation.h', - 'LegacyComponents/POPBasicAnimation.h', - 'LegacyComponents/POPCustomAnimation.h', - 'LegacyComponents/POPDecayAnimation.h', - 'LegacyComponents/POPPropertyAnimation.h', - 'LegacyComponents/POPSpringAnimation.h', - 'LegacyComponents/POPGeometry.h', - 'LegacyComponents/POPAnimatableProperty.h', + "LegacyComponents/JNWSpringAnimation.h", + "LegacyComponents/POPAnimationEvent.h", + "LegacyComponents/POPAnimationTracer.h", + "LegacyComponents/POPAnimation.h", + "LegacyComponents/POPBasicAnimation.h", + "LegacyComponents/POPCustomAnimation.h", + "LegacyComponents/POPDecayAnimation.h", + "LegacyComponents/POPPropertyAnimation.h", + "LegacyComponents/POPSpringAnimation.h", + "LegacyComponents/POPGeometry.h", + "LegacyComponents/POPAnimatableProperty.h", - 'LegacyComponents/lmdb.h', - 'LegacyComponents/PSLMDBTable.h', - 'LegacyComponents/PSLMDBKeyValueStore.h', - 'LegacyComponents/PSLMDBKeyValueReaderWriter.h', - 'LegacyComponents/PSLMDBKeyValueCursor.h', + "LegacyComponents/lmdb.h", + "LegacyComponents/PSLMDBTable.h", + "LegacyComponents/PSLMDBKeyValueStore.h", + "LegacyComponents/PSLMDBKeyValueReaderWriter.h", + "LegacyComponents/PSLMDBKeyValueCursor.h", - 'LegacyComponents/PSCoding.h', - 'LegacyComponents/PSData.h', - 'LegacyComponents/PSKeyValueCoder.h', - 'LegacyComponents/PSKeyValueDecoder.h', - 'LegacyComponents/PSKeyValueEncoder.h', - 'LegacyComponents/PSKeyValueReader.h', - 'LegacyComponents/PSKeyValueStore.h', - 'LegacyComponents/PSKeyValueWriter.h', + "LegacyComponents/PSCoding.h", + "LegacyComponents/PSData.h", + "LegacyComponents/PSKeyValueCoder.h", + "LegacyComponents/PSKeyValueDecoder.h", + "LegacyComponents/PSKeyValueEncoder.h", + "LegacyComponents/PSKeyValueReader.h", + "LegacyComponents/PSKeyValueStore.h", + "LegacyComponents/PSKeyValueWriter.h", - 'LegacyComponents/TGPeerIdAdapter.h', - 'LegacyComponents/TGUser.h', - 'LegacyComponents/TGBotInfo.h', - 'LegacyComponents/TGBotComandInfo.h', - 'LegacyComponents/TGConversation.h', + "LegacyComponents/TGPeerIdAdapter.h", + "LegacyComponents/TGUser.h", + "LegacyComponents/TGBotInfo.h", + "LegacyComponents/TGBotComandInfo.h", + "LegacyComponents/TGConversation.h", - 'LegacyComponents/TGModernConversationAssociatedInputPanel.h', - 'LegacyComponents/TGModernConversationHashtagsAssociatedPanel.h', - 'LegacyComponents/TGModernConversationMentionsAssociatedPanel.h', - 'LegacyComponents/TGModernConversationAlphacodeAssociatedPanel.h', - 'LegacyComponents/TGSuggestionContext.h', - 'LegacyComponents/TGAlphacode.h', + "LegacyComponents/TGModernConversationAssociatedInputPanel.h", + "LegacyComponents/TGModernConversationHashtagsAssociatedPanel.h", + "LegacyComponents/TGModernConversationMentionsAssociatedPanel.h", + "LegacyComponents/TGModernConversationAlphacodeAssociatedPanel.h", + "LegacyComponents/TGSuggestionContext.h", + "LegacyComponents/TGAlphacode.h", - 'LegacyComponents/TGTextCheckingResult.h', - 'LegacyComponents/TGChannelBannedRights.h', - 'LegacyComponents/TGChannelAdminRights.h', - 'LegacyComponents/TGDatabaseMessageDraft.h', - 'LegacyComponents/TGMessageGroup.h', - 'LegacyComponents/TGMessageHole.h', - 'LegacyComponents/TGMessageViewCountContentProperty.h', - 'LegacyComponents/TGAuthorSignatureMediaAttachment.h', - 'LegacyComponents/TGWebDocument.h', - 'LegacyComponents/TGInvoiceMediaAttachment.h', - 'LegacyComponents/TGGameMediaAttachment.h', - 'LegacyComponents/TGViaUserAttachment.h', - 'LegacyComponents/TGBotContextResultAttachment.h', - 'LegacyComponents/TGMessageEntity.h', - 'LegacyComponents/TGMessageEntityBold.h', - 'LegacyComponents/TGMessageEntityBotCommand.h', - 'LegacyComponents/TGMessageEntityCode.h', - 'LegacyComponents/TGMessageEntityEmail.h', - 'LegacyComponents/TGMessageEntityHashtag.h', - 'LegacyComponents/TGMessageEntityItalic.h', - 'LegacyComponents/TGMessageEntityMention.h', - 'LegacyComponents/TGMessageEntityMentionName.h', - 'LegacyComponents/TGMessageEntityPre.h', - 'LegacyComponents/TGMessageEntityTextUrl.h', - 'LegacyComponents/TGMessageEntityUrl.h', - 'LegacyComponents/TGMessageEntitiesAttachment.h', - 'LegacyComponents/TGBotReplyMarkup.h', - 'LegacyComponents/TGBotReplyMarkupButton.h', - 'LegacyComponents/TGBotReplyMarkupRow.h', - 'LegacyComponents/TGReplyMarkupAttachment.h', - 'LegacyComponents/TGInstantPage.h', - 'LegacyComponents/TGWebPageMediaAttachment.h', - 'LegacyComponents/TGAudioMediaAttachment.h', - 'LegacyComponents/TGAudioWaveform.h', - 'LegacyComponents/TGStickerPackReference.h', - 'LegacyComponents/TGDocumentAttributeFilename.h', - 'LegacyComponents/TGDocumentAttributeImageSize.h', - 'LegacyComponents/TGDocumentAttributeSticker.h', - 'LegacyComponents/TGDocumentAttributeVideo.h', - 'LegacyComponents/TGDocumentAttributeAnimated.h', - 'LegacyComponents/TGDocumentAttributeAudio.h', - 'LegacyComponents/TGDocumentMediaAttachment.h', - 'LegacyComponents/TGUnsupportedMediaAttachment.h', - 'LegacyComponents/TGForwardedMessageMediaAttachment.h', - 'LegacyComponents/TGContactMediaAttachment.h', - 'LegacyComponents/TGVideoInfo.h', - 'LegacyComponents/TGVideoMediaAttachment.h', - 'LegacyComponents/TGLocalMessageMetaMediaAttachment.h', - 'LegacyComponents/TGLocationMediaAttachment.h', - 'LegacyComponents/TGImageMediaAttachment.h', - 'LegacyComponents/TGMediaAttachment.h', - 'LegacyComponents/TGImageInfo.h', - 'LegacyComponents/TGMediaOriginInfo.h', - 'LegacyComponents/TGMessage.h', - 'LegacyComponents/TGStickerPack.h', - 'LegacyComponents/TGStickerAssociation.h', - 'LegacyComponents/TGPhotoMaskPosition.h', + "LegacyComponents/TGTextCheckingResult.h", + "LegacyComponents/TGChannelBannedRights.h", + "LegacyComponents/TGChannelAdminRights.h", + "LegacyComponents/TGDatabaseMessageDraft.h", + "LegacyComponents/TGMessageGroup.h", + "LegacyComponents/TGMessageHole.h", + "LegacyComponents/TGMessageViewCountContentProperty.h", + "LegacyComponents/TGAuthorSignatureMediaAttachment.h", + "LegacyComponents/TGWebDocument.h", + "LegacyComponents/TGInvoiceMediaAttachment.h", + "LegacyComponents/TGGameMediaAttachment.h", + "LegacyComponents/TGViaUserAttachment.h", + "LegacyComponents/TGBotContextResultAttachment.h", + "LegacyComponents/TGMessageEntity.h", + "LegacyComponents/TGMessageEntityBold.h", + "LegacyComponents/TGMessageEntityBotCommand.h", + "LegacyComponents/TGMessageEntityCode.h", + "LegacyComponents/TGMessageEntityEmail.h", + "LegacyComponents/TGMessageEntityHashtag.h", + "LegacyComponents/TGMessageEntityItalic.h", + "LegacyComponents/TGMessageEntityMention.h", + "LegacyComponents/TGMessageEntityMentionName.h", + "LegacyComponents/TGMessageEntityPre.h", + "LegacyComponents/TGMessageEntityTextUrl.h", + "LegacyComponents/TGMessageEntityUrl.h", + "LegacyComponents/TGMessageEntitiesAttachment.h", + "LegacyComponents/TGBotReplyMarkup.h", + "LegacyComponents/TGBotReplyMarkupButton.h", + "LegacyComponents/TGBotReplyMarkupRow.h", + "LegacyComponents/TGReplyMarkupAttachment.h", + "LegacyComponents/TGInstantPage.h", + "LegacyComponents/TGWebPageMediaAttachment.h", + "LegacyComponents/TGAudioMediaAttachment.h", + "LegacyComponents/TGAudioWaveform.h", + "LegacyComponents/TGStickerPackReference.h", + "LegacyComponents/TGDocumentAttributeFilename.h", + "LegacyComponents/TGDocumentAttributeImageSize.h", + "LegacyComponents/TGDocumentAttributeSticker.h", + "LegacyComponents/TGDocumentAttributeVideo.h", + "LegacyComponents/TGDocumentAttributeAnimated.h", + "LegacyComponents/TGDocumentAttributeAudio.h", + "LegacyComponents/TGDocumentMediaAttachment.h", + "LegacyComponents/TGUnsupportedMediaAttachment.h", + "LegacyComponents/TGForwardedMessageMediaAttachment.h", + "LegacyComponents/TGContactMediaAttachment.h", + "LegacyComponents/TGVideoInfo.h", + "LegacyComponents/TGVideoMediaAttachment.h", + "LegacyComponents/TGLocalMessageMetaMediaAttachment.h", + "LegacyComponents/TGLocationMediaAttachment.h", + "LegacyComponents/TGImageMediaAttachment.h", + "LegacyComponents/TGMediaAttachment.h", + "LegacyComponents/TGImageInfo.h", + "LegacyComponents/TGMediaOriginInfo.h", + "LegacyComponents/TGMessage.h", + "LegacyComponents/TGStickerPack.h", + "LegacyComponents/TGStickerAssociation.h", + "LegacyComponents/TGPhotoMaskPosition.h", - 'LegacyComponents/ActionStage.h', - 'LegacyComponents/ASActor.h', - 'LegacyComponents/ASHandle.h', - 'LegacyComponents/ASQueue.h', - 'LegacyComponents/ASWatcher.h', - 'LegacyComponents/SGraphListNode.h', - 'LegacyComponents/SGraphNode.h', - 'LegacyComponents/SGraphObjectNode.h', + "LegacyComponents/ActionStage.h", + "LegacyComponents/ASActor.h", + "LegacyComponents/ASHandle.h", + "LegacyComponents/ASQueue.h", + "LegacyComponents/ASWatcher.h", + "LegacyComponents/SGraphListNode.h", + "LegacyComponents/SGraphNode.h", + "LegacyComponents/SGraphObjectNode.h", - 'LegacyComponents/TGLabel.h', - 'LegacyComponents/TGToolbarButton.h', - 'LegacyComponents/UIScrollView+TGHacks.h', - 'LegacyComponents/TGAnimationBlockDelegate.h', - 'LegacyComponents/TGBackdropView.h', - 'LegacyComponents/UIImage+TG.h', - 'LegacyComponents/TGStaticBackdropAreaData.h', - 'LegacyComponents/TGStaticBackdropImageData.h', - 'LegacyComponents/TGImageLuminanceMap.h', - 'LegacyComponents/TGFullscreenContainerView.h', - 'LegacyComponents/TGDoubleTapGestureRecognizer.h', - 'LegacyComponents/TGModernButton.h', - 'LegacyComponents/TGModernToolbarButton.h', - 'LegacyComponents/TGModernBackToolbarButton.h', - 'LegacyComponents/UIControl+HitTestEdgeInsets.h', - 'LegacyComponents/TGMenuView.h', - 'LegacyComponents/TGImageView.h', - 'LegacyComponents/UICollectionView+Utils.h', - 'LegacyComponents/TGMessageImageViewOverlayView.h', - 'LegacyComponents/TGLetteredAvatarView.h', - 'LegacyComponents/TGGradientLabel.h', - 'LegacyComponents/TGRemoteImageView.h', + "LegacyComponents/TGLabel.h", + "LegacyComponents/TGToolbarButton.h", + "LegacyComponents/UIScrollView+TGHacks.h", + "LegacyComponents/TGAnimationBlockDelegate.h", + "LegacyComponents/TGBackdropView.h", + "LegacyComponents/UIImage+TG.h", + "LegacyComponents/TGStaticBackdropAreaData.h", + "LegacyComponents/TGStaticBackdropImageData.h", + "LegacyComponents/TGImageLuminanceMap.h", + "LegacyComponents/TGFullscreenContainerView.h", + "LegacyComponents/TGDoubleTapGestureRecognizer.h", + "LegacyComponents/TGModernButton.h", + "LegacyComponents/TGModernToolbarButton.h", + "LegacyComponents/TGModernBackToolbarButton.h", + "LegacyComponents/UIControl+HitTestEdgeInsets.h", + "LegacyComponents/TGMenuView.h", + "LegacyComponents/TGImageView.h", + "LegacyComponents/UICollectionView+Utils.h", + "LegacyComponents/TGMessageImageViewOverlayView.h", + "LegacyComponents/TGLetteredAvatarView.h", + "LegacyComponents/TGGradientLabel.h", + "LegacyComponents/TGRemoteImageView.h", - 'LegacyComponents/TGProgressSpinnerView.h', - 'LegacyComponents/TGProgressWindow.h', + "LegacyComponents/TGProgressSpinnerView.h", + "LegacyComponents/TGProgressWindow.h", - 'LegacyComponents/TGMenuSheetController.h', - 'LegacyComponents/TGMenuSheetButtonItemView.h', - 'LegacyComponents/TGMenuSheetCollectionView.h', - 'LegacyComponents/TGMenuSheetItemView.h', - 'LegacyComponents/TGMenuSheetTitleItemView.h', - 'LegacyComponents/TGMenuSheetView.h', + "LegacyComponents/TGMenuSheetController.h", + "LegacyComponents/TGMenuSheetButtonItemView.h", + "LegacyComponents/TGMenuSheetCollectionView.h", + "LegacyComponents/TGMenuSheetItemView.h", + "LegacyComponents/TGMenuSheetTitleItemView.h", + "LegacyComponents/TGMenuSheetView.h", - 'LegacyComponents/HPGrowingTextView.h', - 'LegacyComponents/HPTextViewInternal.h', - 'LegacyComponents/TGInputTextTag.h', + "LegacyComponents/HPGrowingTextView.h", + "LegacyComponents/HPTextViewInternal.h", + "LegacyComponents/TGInputTextTag.h", - 'LegacyComponents/TGStickerKeyboardTabPanel.h', + "LegacyComponents/TGStickerKeyboardTabPanel.h", - 'LegacyComponents/TGItemPreviewController.h', - 'LegacyComponents/TGItemPreviewView.h', - 'LegacyComponents/TGItemMenuSheetPreviewView.h', + "LegacyComponents/TGItemPreviewController.h", + "LegacyComponents/TGItemPreviewView.h", + "LegacyComponents/TGItemMenuSheetPreviewView.h", - 'LegacyComponents/TGImageManager.h', - 'LegacyComponents/TGDataResource.h', - 'LegacyComponents/TGImageDataSource.h', - 'LegacyComponents/TGImageManagerTask.h', + "LegacyComponents/TGImageManager.h", + "LegacyComponents/TGDataResource.h", + "LegacyComponents/TGImageDataSource.h", + "LegacyComponents/TGImageManagerTask.h", - 'LegacyComponents/TGRTLScreenEdgePanGestureRecognizer.h', - 'LegacyComponents/TGPopoverController.h', - 'LegacyComponents/TGNavigationController.h', - 'LegacyComponents/TGNavigationBar.h', - 'LegacyComponents/TGViewController.h', - 'LegacyComponents/TGViewController+TGRecursiveEnumeration.h', - 'LegacyComponents/TGOverlayController.h', - 'LegacyComponents/TGOverlayControllerWindow.h', + "LegacyComponents/TGRTLScreenEdgePanGestureRecognizer.h", + "LegacyComponents/TGPopoverController.h", + "LegacyComponents/TGNavigationController.h", + "LegacyComponents/TGNavigationBar.h", + "LegacyComponents/TGViewController.h", + "LegacyComponents/TGViewController+TGRecursiveEnumeration.h", + "LegacyComponents/TGOverlayController.h", + "LegacyComponents/TGOverlayControllerWindow.h", - 'LegacyComponents/TGMediaAssetsLibrary.h', - 'LegacyComponents/TGMediaAssetsModernLibrary.h', - 'LegacyComponents/TGMediaAsset.h', - 'LegacyComponents/TGMediaAssetFetchResult.h', - 'LegacyComponents/TGMediaAssetFetchResultChange.h', - 'LegacyComponents/TGMediaAssetGroup.h', - 'LegacyComponents/TGMediaAssetMoment.h', - 'LegacyComponents/TGMediaAssetMomentList.h', - 'LegacyComponents/TGMediaAssetImageSignals.h', - 'LegacyComponents/TGMediaSelectionContext.h', - 'LegacyComponents/TGMediaEditingContext.h', + "LegacyComponents/TGMediaAssetsLibrary.h", + "LegacyComponents/TGMediaAssetsModernLibrary.h", + "LegacyComponents/TGMediaAsset.h", + "LegacyComponents/TGMediaAssetFetchResult.h", + "LegacyComponents/TGMediaAssetFetchResultChange.h", + "LegacyComponents/TGMediaAssetGroup.h", + "LegacyComponents/TGMediaAssetMoment.h", + "LegacyComponents/TGMediaAssetMomentList.h", + "LegacyComponents/TGMediaAssetImageSignals.h", + "LegacyComponents/TGMediaSelectionContext.h", + "LegacyComponents/TGMediaEditingContext.h", - 'LegacyComponents/TGModernGalleryZoomableItemViewContent.h', - 'LegacyComponents/TGModernGalleryZoomableScrollView.h', - 'LegacyComponents/TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.h', - 'LegacyComponents/TGModernGalleryVideoView.h', - 'LegacyComponents/TGModernGalleryScrollView.h', - 'LegacyComponents/TGModernGalleryItem.h', - 'LegacyComponents/TGModernGalleryItemView.h', - 'LegacyComponents/TGModernGalleryImageItem.h', - 'LegacyComponents/TGModernGalleryImageItemView.h', - 'LegacyComponents/TGModernGalleryImageItemImageView.h', - 'LegacyComponents/TGModernGalleryEditableItemView.h', - 'LegacyComponents/TGModernGallerySelectableItem.h', - 'LegacyComponents/TGModernGalleryDefaultFooterAccessoryView.h', - 'LegacyComponents/TGModernGalleryDefaultFooterView.h', - 'LegacyComponents/TGModernGalleryDefaultHeaderView.h', - 'LegacyComponents/TGModernGalleryDefaultInterfaceView.h', - 'LegacyComponents/TGModernGalleryInterfaceView.h', - 'LegacyComponents/TGModernGalleryImageItemContainerView.h', - 'LegacyComponents/TGModernGalleryZoomableItemView.h', - 'LegacyComponents/TGModernGalleryModel.h', - 'LegacyComponents/TGModernGalleryTransitionView.h', - 'LegacyComponents/TGModernGalleryView.h', - 'LegacyComponents/TGModernGalleryContainerView.h', - 'LegacyComponents/TGModernGalleryEmbeddedStickersHeaderView.h', - 'LegacyComponents/TGModernGalleryController.h', + "LegacyComponents/TGModernGalleryZoomableItemViewContent.h", + "LegacyComponents/TGModernGalleryZoomableScrollView.h", + "LegacyComponents/TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.h", + "LegacyComponents/TGModernGalleryVideoView.h", + "LegacyComponents/TGModernGalleryScrollView.h", + "LegacyComponents/TGModernGalleryItem.h", + "LegacyComponents/TGModernGalleryItemView.h", + "LegacyComponents/TGModernGalleryImageItem.h", + "LegacyComponents/TGModernGalleryImageItemView.h", + "LegacyComponents/TGModernGalleryImageItemImageView.h", + "LegacyComponents/TGModernGalleryEditableItemView.h", + "LegacyComponents/TGModernGallerySelectableItem.h", + "LegacyComponents/TGModernGalleryDefaultFooterAccessoryView.h", + "LegacyComponents/TGModernGalleryDefaultFooterView.h", + "LegacyComponents/TGModernGalleryDefaultHeaderView.h", + "LegacyComponents/TGModernGalleryDefaultInterfaceView.h", + "LegacyComponents/TGModernGalleryInterfaceView.h", + "LegacyComponents/TGModernGalleryImageItemContainerView.h", + "LegacyComponents/TGModernGalleryZoomableItemView.h", + "LegacyComponents/TGModernGalleryModel.h", + "LegacyComponents/TGModernGalleryTransitionView.h", + "LegacyComponents/TGModernGalleryView.h", + "LegacyComponents/TGModernGalleryContainerView.h", + "LegacyComponents/TGModernGalleryEmbeddedStickersHeaderView.h", + "LegacyComponents/TGModernGalleryController.h", - 'LegacyComponents/TGPhotoToolbarView.h', - 'LegacyComponents/TGMediaPickerGalleryModel.h', - 'LegacyComponents/TGMediaPickerGalleryInterfaceView.h', - 'LegacyComponents/TGPhotoEditorController.h', - 'LegacyComponents/TGMediaAvatarEditorTransition.h', + "LegacyComponents/TGPhotoToolbarView.h", + "LegacyComponents/TGMediaPickerGalleryModel.h", + "LegacyComponents/TGMediaPickerGalleryInterfaceView.h", + "LegacyComponents/TGPhotoEditorController.h", + "LegacyComponents/TGMediaAvatarEditorTransition.h", - 'LegacyComponents/TGPhotoEditorUtils.h', - 'LegacyComponents/PGPhotoEditorValues.h', - 'LegacyComponents/TGVideoEditAdjustments.h', - 'LegacyComponents/AVURLAsset+TGMediaItem.h', - 'LegacyComponents/UIImage+TGMediaEditableItem.h', - 'LegacyComponents/TGMediaVideoConverter.h', - 'LegacyComponents/TGGifConverter.h', + "LegacyComponents/TGPhotoEditorUtils.h", + "LegacyComponents/PGPhotoEditorValues.h", + "LegacyComponents/TGVideoEditAdjustments.h", + "LegacyComponents/AVURLAsset+TGMediaItem.h", + "LegacyComponents/UIImage+TGMediaEditableItem.h", + "LegacyComponents/TGMediaVideoConverter.h", + "LegacyComponents/TGGifConverter.h", - 'LegacyComponents/TGPhotoEditorAnimation.h', + "LegacyComponents/TGPhotoEditorAnimation.h", - 'LegacyComponents/TGPaintingData.h', - 'LegacyComponents/TGPaintUtils.h', - 'LegacyComponents/TGPhotoPaintEntity.h', - 'LegacyComponents/TGPhotoPaintStickerEntity.h', - 'LegacyComponents/TGPaintUndoManager.h', + "LegacyComponents/TGPaintingData.h", + "LegacyComponents/TGPaintUtils.h", + "LegacyComponents/TGPhotoPaintEntity.h", + "LegacyComponents/TGPhotoPaintStickerEntity.h", + "LegacyComponents/TGPaintUndoManager.h", - 'LegacyComponents/PGCamera.h', - 'LegacyComponents/PGCameraCaptureSession.h', - 'LegacyComponents/PGCameraDeviceAngleSampler.h', - 'LegacyComponents/PGCameraMomentSegment.h', - 'LegacyComponents/PGCameraMomentSession.h', - 'LegacyComponents/PGCameraMovieWriter.h', - 'LegacyComponents/PGCameraShotMetadata.h', - 'LegacyComponents/PGCameraVolumeButtonHandler.h', - 'LegacyComponents/TGCameraPreviewView.h', - 'LegacyComponents/TGCameraMainPhoneView.h', - 'LegacyComponents/TGCameraMainTabletView.h', - 'LegacyComponents/TGCameraMainView.h', - 'LegacyComponents/TGCameraFlashActiveView.h', - 'LegacyComponents/TGCameraFlashControl.h', - 'LegacyComponents/TGCameraFlipButton.h', - 'LegacyComponents/TGCameraInterfaceAssets.h', - 'LegacyComponents/TGCameraModeControl.h', - 'LegacyComponents/TGCameraSegmentsView.h', - 'LegacyComponents/TGCameraShutterButton.h', - 'LegacyComponents/TGCameraTimeCodeView.h', - 'LegacyComponents/TGCameraZoomView.h', - 'LegacyComponents/TGCameraPhotoPreviewController.h', - 'LegacyComponents/TGCameraController.h', - 'LegacyComponents/TGCameraCapturedPhoto.h', - 'LegacyComponents/TGCameraCapturedVideo.h', - 'LegacyComponents/TGPhotoVideoEditor.h', + "LegacyComponents/PGCamera.h", + "LegacyComponents/PGCameraCaptureSession.h", + "LegacyComponents/PGCameraDeviceAngleSampler.h", + "LegacyComponents/PGCameraMomentSegment.h", + "LegacyComponents/PGCameraMomentSession.h", + "LegacyComponents/PGCameraMovieWriter.h", + "LegacyComponents/PGCameraShotMetadata.h", + "LegacyComponents/PGCameraVolumeButtonHandler.h", + "LegacyComponents/TGCameraPreviewView.h", + "LegacyComponents/TGCameraMainPhoneView.h", + "LegacyComponents/TGCameraMainTabletView.h", + "LegacyComponents/TGCameraMainView.h", + "LegacyComponents/TGCameraFlashActiveView.h", + "LegacyComponents/TGCameraFlashControl.h", + "LegacyComponents/TGCameraFlipButton.h", + "LegacyComponents/TGCameraInterfaceAssets.h", + "LegacyComponents/TGCameraModeControl.h", + "LegacyComponents/TGCameraSegmentsView.h", + "LegacyComponents/TGCameraShutterButton.h", + "LegacyComponents/TGCameraTimeCodeView.h", + "LegacyComponents/TGCameraZoomView.h", + "LegacyComponents/TGCameraPhotoPreviewController.h", + "LegacyComponents/TGCameraController.h", + "LegacyComponents/TGCameraCapturedPhoto.h", + "LegacyComponents/TGCameraCapturedVideo.h", + "LegacyComponents/TGPhotoVideoEditor.h", - 'LegacyComponents/TGModernConversationTitleActivityIndicator.h', - 'LegacyComponents/TGEmbedPIPButton.h', - 'LegacyComponents/TGEmbedPIPPullArrowView.h', - 'LegacyComponents/TGEmbedPlayerState.h', - 'LegacyComponents/TGAttachmentCameraView.h', - 'LegacyComponents/TGMediaAvatarMenuMixin.h', - 'LegacyComponents/TGPassportAttachMenu.h', - 'LegacyComponents/TGPassportScanController.h', - 'LegacyComponents/TGPassportOCR.h', - 'LegacyComponents/TGPassportMRZ.h', - 'LegacyComponents/TGPassportICloud.h', - 'LegacyComponents/TGEmbedPlayerView.h', - 'LegacyComponents/LegacyHTTPRequestOperation.h', + "LegacyComponents/TGModernConversationTitleActivityIndicator.h", + "LegacyComponents/TGEmbedPIPButton.h", + "LegacyComponents/TGEmbedPIPPullArrowView.h", + "LegacyComponents/TGEmbedPlayerState.h", + "LegacyComponents/TGAttachmentCameraView.h", + "LegacyComponents/TGMediaAvatarMenuMixin.h", + "LegacyComponents/TGPassportAttachMenu.h", + "LegacyComponents/TGPassportScanController.h", + "LegacyComponents/TGPassportOCR.h", + "LegacyComponents/TGPassportMRZ.h", + "LegacyComponents/TGPassportICloud.h", + "LegacyComponents/TGEmbedPlayerView.h", + "LegacyComponents/LegacyHTTPRequestOperation.h", - 'LegacyComponents/TGAttachmentCarouselItemView.h', - 'LegacyComponents/TGMediaAssetsController.h', + "LegacyComponents/TGAttachmentCarouselItemView.h", + "LegacyComponents/TGMediaAssetsController.h", - 'LegacyComponents/TGLocationVenue.h', - 'LegacyComponents/TGLocationMapViewController.h', - 'LegacyComponents/TGLocationPickerController.h', - 'LegacyComponents/TGLocationViewController.h', - 'LegacyComponents/TGListsTableView.h', - 'LegacyComponents/TGSearchBar.h', - 'LegacyComponents/TGSearchDisplayMixin.h', + "LegacyComponents/TGLocationVenue.h", + "LegacyComponents/TGLocationMapViewController.h", + "LegacyComponents/TGLocationPickerController.h", + "LegacyComponents/TGLocationViewController.h", + "LegacyComponents/TGListsTableView.h", + "LegacyComponents/TGSearchBar.h", + "LegacyComponents/TGSearchDisplayMixin.h", - 'LegacyComponents/TGPhotoEditorSliderView.h', + "LegacyComponents/TGPhotoEditorSliderView.h", - 'LegacyComponents/TGClipboardGalleryMixin.h', - 'LegacyComponents/TGClipboardGalleryPhotoItem.h', - 'LegacyComponents/TGVideoMessageCaptureController.h', - 'LegacyComponents/TGModernConversationInputMicButton.h', + "LegacyComponents/TGClipboardGalleryMixin.h", + "LegacyComponents/TGClipboardGalleryPhotoItem.h", + "LegacyComponents/TGVideoMessageCaptureController.h", + "LegacyComponents/TGModernConversationInputMicButton.h", - 'LegacyComponents/TGLocationPulseView.h', - 'LegacyComponents/TGLocationWavesView.h', - 'LegacyComponents/TGLocationLiveElapsedView.h', - 'LegacyComponents/TGLocationLiveSessionItemView.h', + "LegacyComponents/TGLocationPulseView.h", + "LegacyComponents/TGLocationWavesView.h", + "LegacyComponents/TGLocationLiveElapsedView.h", + "LegacyComponents/TGLocationLiveSessionItemView.h", - 'LegacyComponents/TGTooltipView.h', + "LegacyComponents/TGTooltipView.h", - 'LegacyComponents/TGCheckButtonView.h', - 'LegacyComponents/TGClipboardMenu.h', - 'LegacyComponents/TGImagePickerController.h', - 'LegacyComponents/TGLegacyCameraController.h', - 'LegacyComponents/TGProxyWindow.h', - 'LegacyComponents/TGIconSwitchView.h', + "LegacyComponents/TGCheckButtonView.h", + "LegacyComponents/TGClipboardMenu.h", + "LegacyComponents/TGImagePickerController.h", + "LegacyComponents/TGLegacyCameraController.h", + "LegacyComponents/TGProxyWindow.h", + "LegacyComponents/TGIconSwitchView.h", - 'LegacyComponents/TGModernGalleryEditableItem.h', - 'LegacyComponents/TGPhotoEditorButton.h', + "LegacyComponents/TGModernGalleryEditableItem.h", + "LegacyComponents/TGPhotoEditorButton.h", - 'LegacyComponents/TGActionMediaAttachment.h', - 'LegacyComponents/TGReplyMessageMediaAttachment.h', - 'LegacyComponents/TGMessageEntityPhone.h', - 'LegacyComponents/TGMessageEntityCashtag.h', - 'LegacyComponents/TGPIPAblePlayerView.h', - 'LegacyComponents/TGEmbedPlayerControls.h', + "LegacyComponents/TGActionMediaAttachment.h", + "LegacyComponents/TGReplyMessageMediaAttachment.h", + "LegacyComponents/TGMessageEntityPhone.h", + "LegacyComponents/TGMessageEntityCashtag.h", + "LegacyComponents/TGPIPAblePlayerView.h", + "LegacyComponents/TGEmbedPlayerControls.h", + + "LegacyComponents/TGMediaAssetsUtils.h", ], - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - compiler_flags = ['-w'], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], deps = [ - ':LegacyComponentsResources', - '//submodules/SSignalKit:SSignalKit', + "//submodules/SSignalKit/SSignalKit:SSignalKit", + "//submodules/AppBundle:AppBundle", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - '$SDKROOT/System/Library/Frameworks/Vision.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Vision.framework", ], ) diff --git a/submodules/LegacyComponents/LegacyComponents/LegacyComponentsInternal.m b/submodules/LegacyComponents/LegacyComponents/LegacyComponentsInternal.m index bcc18ecbb0..cbed53166d 100644 --- a/submodules/LegacyComponents/LegacyComponents/LegacyComponentsInternal.m +++ b/submodules/LegacyComponents/LegacyComponents/LegacyComponentsInternal.m @@ -6,6 +6,8 @@ #import +#import + TGLocalization *legacyEffectiveLocalization() { return [[LegacyComponentsGlobals provider] effectiveLocalization]; } @@ -127,11 +129,11 @@ void TGDispatchAfter(double delay, dispatch_queue_t queue, dispatch_block_t bloc dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((delay) * NSEC_PER_SEC)), queue, block); } -static NSBundle *frameworkBundle() { +static NSBundle *resourcesBundle() { static NSBundle *currentBundle = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - currentBundle = [NSBundle bundleForClass:[LegacyComponentsGlobals class]]; + currentBundle = getAppBundle(); NSString *updatedPath = [[currentBundle bundlePath] stringByAppendingPathComponent:@"LegacyComponentsResources.bundle"]; currentBundle = [NSBundle bundleWithPath:updatedPath]; }); @@ -142,7 +144,7 @@ UIImage *TGComponentsImageNamed(NSString *name) { if (iosMajorVersion() < 8) return [UIImage imageNamed:[NSString stringWithFormat:@"LegacyComponentsResources.bundle/%@", name]]; - UIImage *image = [UIImage imageNamed:name inBundle:frameworkBundle() compatibleWithTraitCollection:nil]; + UIImage *image = [UIImage imageNamed:name inBundle:resourcesBundle() compatibleWithTraitCollection:nil]; if (image == nil) { assert(true); } @@ -150,5 +152,5 @@ UIImage *TGComponentsImageNamed(NSString *name) { } NSString *TGComponentsPathForResource(NSString *name, NSString *type) { - return [frameworkBundle() pathForResource:name ofType:type]; + return [resourcesBundle() pathForResource:name ofType:type]; } diff --git a/submodules/LegacyComponents/LegacyComponents_Xcode.xcodeproj/project.pbxproj b/submodules/LegacyComponents/LegacyComponents_Xcode.xcodeproj/project.pbxproj index b38c09fa04..1486613e64 100644 --- a/submodules/LegacyComponents/LegacyComponents_Xcode.xcodeproj/project.pbxproj +++ b/submodules/LegacyComponents/LegacyComponents_Xcode.xcodeproj/project.pbxproj @@ -1154,6 +1154,7 @@ D0BFAE5420AB33F900793CF2 /* TGIconSwitchView.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BFAE5220AB33F800793CF2 /* TGIconSwitchView.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0BFAE5720AB34AB00793CF2 /* TGAnimationUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BFAE5520AB34AA00793CF2 /* TGAnimationUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0BFAE5820AB34AB00793CF2 /* TGAnimationUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D0BFAE5620AB34AA00793CF2 /* TGAnimationUtils.m */; }; + D0EFF24023197FD500CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF23F23197FD500CF5164 /* AppBundle.framework */; }; D0F7C9C41F55DA49005B255A /* TGVideoCameraMovieRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = D0F7C9C21F55DA49005B255A /* TGVideoCameraMovieRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0F7C9C51F55DA49005B255A /* TGVideoCameraMovieRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F7C9C31F55DA49005B255A /* TGVideoCameraMovieRecorder.m */; }; D0F7C9C81F55DA83005B255A /* TGVideoCameraGLRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = D0F7C9C61F55DA83005B255A /* TGVideoCameraGLRenderer.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -2318,6 +2319,7 @@ D0BFAE5520AB34AA00793CF2 /* TGAnimationUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGAnimationUtils.h; sourceTree = ""; }; D0BFAE5620AB34AA00793CF2 /* TGAnimationUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGAnimationUtils.m; sourceTree = ""; }; D0EB42021F3142F400838FE6 /* LegacyComponentsResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = LegacyComponentsResources.bundle; path = Resources/LegacyComponentsResources.bundle; sourceTree = ""; }; + D0EFF23F23197FD500CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0F7C9C21F55DA49005B255A /* TGVideoCameraMovieRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGVideoCameraMovieRecorder.h; sourceTree = ""; }; D0F7C9C31F55DA49005B255A /* TGVideoCameraMovieRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGVideoCameraMovieRecorder.m; sourceTree = ""; }; D0F7C9C61F55DA83005B255A /* TGVideoCameraGLRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGVideoCameraGLRenderer.h; sourceTree = ""; }; @@ -2336,6 +2338,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF24023197FD500CF5164 /* AppBundle.framework in Frameworks */, 09750F761F2FA816001B9886 /* SSignalKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2782,6 +2785,7 @@ D01779051F20E0DE0044446D /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF23F23197FD500CF5164 /* AppBundle.framework */, 09750F741F2FA5E8001B9886 /* SSignalKit.framework */, ); name = Frameworks; diff --git a/submodules/LegacyDataImport/BUCK b/submodules/LegacyDataImport/BUCK new file mode 100644 index 0000000000..fbc31668c3 --- /dev/null +++ b/submodules/LegacyDataImport/BUCK @@ -0,0 +1,28 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LegacyDataImport", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/LegacyDataImport.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/LegacyDataImport.h"]), + deps = [ + "//submodules/TelegramCore:TelegramCore#dynamic", + "//submodules/Postbox:Postbox#dynamic", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LegacyDataImport/LegacyDataImport.xcodeproj/project.pbxproj b/submodules/LegacyDataImport/LegacyDataImport.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..085a3b1232 --- /dev/null +++ b/submodules/LegacyDataImport/LegacyDataImport.xcodeproj/project.pbxproj @@ -0,0 +1,1045 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29C7A79CFD00000000 + + isa + PBXFileReference + name + LegacyDataImport-Debug.xcconfig + path + ../../buck-out/gen/submodules/LegacyDataImport/LegacyDataImport-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296156E92700000000 + + isa + PBXFileReference + name + LegacyDataImport-Profile.xcconfig + path + ../../buck-out/gen/submodules/LegacyDataImport/LegacyDataImport-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D4ED948900000000 + + isa + PBXFileReference + name + LegacyDataImport-Release.xcconfig + path + ../../buck-out/gen/submodules/LegacyDataImport/LegacyDataImport-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C7A79CFD00000000 + 1DD70E296156E92700000000 + 1DD70E29D4ED948900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29611C2D6E00000000 + + isa + PBXFileReference + name + LegacyBuffer.swift + path + Sources/LegacyBuffer.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AF9F640B00000000 + + isa + PBXFileReference + name + LegacyChatImport.swift + path + Sources/LegacyChatImport.swift + sourceTree + SOURCE_ROOT + + 1DD70E292BEDD55D00000000 + + isa + PBXFileReference + name + LegacyDataImport.swift + path + Sources/LegacyDataImport.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EA80C0A400000000 + + isa + PBXFileReference + name + LegacyDataImportSplash.swift + path + Sources/LegacyDataImportSplash.swift + sourceTree + SOURCE_ROOT + + 1DD70E29690AB02F00000000 + + isa + PBXFileReference + name + LegacyFileImport.swift + path + Sources/LegacyFileImport.swift + sourceTree + SOURCE_ROOT + + 1DD70E295D032F7900000000 + + isa + PBXFileReference + name + LegacyPreferencesImport.swift + path + Sources/LegacyPreferencesImport.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AA91074100000000 + + isa + PBXFileReference + name + LegacyResourceImport.swift + path + Sources/LegacyResourceImport.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F3FBE2C800000000 + + isa + PBXFileReference + name + LegacyUserDataImport.swift + path + Sources/LegacyUserDataImport.swift + sourceTree + SOURCE_ROOT + + 1DD70E2961AB9DA800000000 + + isa + PBXFileReference + name + TGAutoDownloadPreferences.h + path + Sources/TGAutoDownloadPreferences.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2961AB9DAD00000000 + + isa + PBXFileReference + name + TGAutoDownloadPreferences.m + path + Sources/TGAutoDownloadPreferences.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E290A208B5600000000 + + isa + PBXFileReference + name + TGPresentationAutoNightPreferences.h + path + Sources/TGPresentationAutoNightPreferences.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E290A208B5B00000000 + + isa + PBXFileReference + name + TGPresentationAutoNightPreferences.m + path + Sources/TGPresentationAutoNightPreferences.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29349E5BE800000000 + + isa + PBXFileReference + name + TGProxyItem.h + path + Sources/TGProxyItem.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29349E5BED00000000 + + isa + PBXFileReference + name + TGProxyItem.m + path + Sources/TGProxyItem.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29611C2D6E00000000 + 1DD70E29AF9F640B00000000 + 1DD70E292BEDD55D00000000 + 1DD70E29EA80C0A400000000 + 1DD70E29690AB02F00000000 + 1DD70E295D032F7900000000 + 1DD70E29AA91074100000000 + 1DD70E29F3FBE2C800000000 + 1DD70E2961AB9DA800000000 + 1DD70E2961AB9DAD00000000 + 1DD70E290A208B5600000000 + 1DD70E290A208B5B00000000 + 1DD70E29349E5BE800000000 + 1DD70E29349E5BED00000000 + + + B401C979B60714B800000000 + + isa + PBXGroup + name + LegacyDataImport + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E295DB6B7F000000000 + + isa + PBXFileReference + name + libLegacyDataImport.a + path + libLegacyDataImport.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295DB6B7F000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979B60714B800000000 + B401C979C806358400000000 + + + E7A30F04611C2D6E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29611C2D6E00000000 + + E7A30F04AF9F640B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF9F640B00000000 + + E7A30F042BEDD55D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292BEDD55D00000000 + + E7A30F04EA80C0A400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA80C0A400000000 + + E7A30F04690AB02F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29690AB02F00000000 + + E7A30F045D032F7900000000 + + isa + PBXBuildFile + fileRef + 1DD70E295D032F7900000000 + + E7A30F04AA91074100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AA91074100000000 + + E7A30F04F3FBE2C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F3FBE2C800000000 + + E7A30F0461AB9DAD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2961AB9DAD00000000 + + E7A30F040A208B5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290A208B5B00000000 + + E7A30F04349E5BED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29349E5BED00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04611C2D6E00000000 + E7A30F04AF9F640B00000000 + E7A30F042BEDD55D00000000 + E7A30F04EA80C0A400000000 + E7A30F04690AB02F00000000 + E7A30F045D032F7900000000 + E7A30F04AA91074100000000 + E7A30F04F3FBE2C800000000 + E7A30F0461AB9DAD00000000 + E7A30F040A208B5B00000000 + E7A30F04349E5BED00000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04FF334B1F00000000 + E7A30F043E4DE92B00000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C7A79CFD00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E296156E92700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29D4ED948900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EB60714B800000000 + + isa + PBXNativeTarget + name + LegacyDataImport + productName + LegacyDataImport + productReference + 1DD70E295DB6B7F000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793B60714B800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EB60714B800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793B60714B800000000 + + \ No newline at end of file diff --git a/submodules/LegacyDataImport/LegacyDataImport.xcodeproj/xcshareddata/xcschemes/LegacyDataImport.xcscheme b/submodules/LegacyDataImport/LegacyDataImport.xcodeproj/xcshareddata/xcschemes/LegacyDataImport.xcscheme new file mode 100644 index 0000000000..48bdf85794 --- /dev/null +++ b/submodules/LegacyDataImport/LegacyDataImport.xcodeproj/xcshareddata/xcschemes/LegacyDataImport.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LegacyDataImport/Sources/LegacyPreferencesImport.swift b/submodules/LegacyDataImport/Sources/LegacyPreferencesImport.swift index 25f27cc612..8038feac0e 100644 --- a/submodules/LegacyDataImport/Sources/LegacyPreferencesImport.swift +++ b/submodules/LegacyDataImport/Sources/LegacyPreferencesImport.swift @@ -215,11 +215,11 @@ func importLegacyPreferences(accountManager: AccountManager, account: TemporaryA } switch autoNightPreferences.mode { case TGPresentationAutoNightModeSunsetSunrise: - settings.automaticThemeSwitchSetting = AutomaticThemeSwitchSetting(trigger: .timeBased(setting: .automatic(latitude: Double(autoNightPreferences.latitude), longitude: Double(autoNightPreferences.longitude), localizedName: autoNightPreferences.cachedLocationName)), theme: nightTheme) + settings.automaticThemeSwitchSetting = AutomaticThemeSwitchSetting(trigger: .timeBased(setting: .automatic(latitude: Double(autoNightPreferences.latitude), longitude: Double(autoNightPreferences.longitude), localizedName: autoNightPreferences.cachedLocationName)), theme: .builtin(nightTheme)) case TGPresentationAutoNightModeScheduled: - settings.automaticThemeSwitchSetting = AutomaticThemeSwitchSetting(trigger: .timeBased(setting: .manual(fromSeconds: autoNightPreferences.scheduleStart, toSeconds: autoNightPreferences.scheduleEnd)), theme: nightTheme) + settings.automaticThemeSwitchSetting = AutomaticThemeSwitchSetting(trigger: .timeBased(setting: .manual(fromSeconds: autoNightPreferences.scheduleStart, toSeconds: autoNightPreferences.scheduleEnd)), theme: .builtin(nightTheme)) case TGPresentationAutoNightModeBrightness: - settings.automaticThemeSwitchSetting = AutomaticThemeSwitchSetting(trigger: .brightness(threshold: Double(autoNightPreferences.brightnessThreshold)), theme: nightTheme) + settings.automaticThemeSwitchSetting = AutomaticThemeSwitchSetting(trigger: .brightness(threshold: Double(autoNightPreferences.brightnessThreshold)), theme: .builtin(nightTheme)) default: break } diff --git a/submodules/LegacyMediaPickerUI/BUCK b/submodules/LegacyMediaPickerUI/BUCK new file mode 100644 index 0000000000..65c4d92fec --- /dev/null +++ b/submodules/LegacyMediaPickerUI/BUCK @@ -0,0 +1,32 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LegacyMediaPickerUI", + srcs = glob([ + "Sources/**/*.swift", + "Sources/**/*.m", + ]), + headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/LegacyMediaPickerUI.h"]), + exported_headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/LegacyMediaPickerUI.h"]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/LegacyUI:LegacyUI", + "//submodules/MimeTypes:MimeTypes", + "//submodules/LocalMediaResources:LocalMediaResources", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI.xcodeproj/project.pbxproj b/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..66a572b39a --- /dev/null +++ b/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI.xcodeproj/project.pbxproj @@ -0,0 +1,1019 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29408D4CD800000000 + + isa + PBXFileReference + name + LegacyMediaPickerUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2937900E4200000000 + + isa + PBXFileReference + name + LegacyMediaPickerUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AB26B9A400000000 + + isa + PBXFileReference + name + LegacyMediaPickerUI-Release.xcconfig + path + ../../buck-out/gen/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29408D4CD800000000 + 1DD70E2937900E4200000000 + 1DD70E29AB26B9A400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29C6E517A300000000 + 1DD70E2952137F3500000000 + 1DD70E2968BAC05A00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B883E7D000000000 + + isa + PBXFileReference + name + LegacyAttachmentMenu.swift + path + Sources/LegacyAttachmentMenu.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A10DBC7500000000 + + isa + PBXFileReference + name + LegacyAvatarPicker.swift + path + Sources/LegacyAvatarPicker.swift + sourceTree + SOURCE_ROOT + + 1DD70E291209BB0400000000 + + isa + PBXFileReference + name + LegacyICloudFilePicker.swift + path + Sources/LegacyICloudFilePicker.swift + sourceTree + SOURCE_ROOT + + 1DD70E293C87ECC500000000 + + isa + PBXFileReference + name + LegacyImagePicker.swift + path + Sources/LegacyImagePicker.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F44A23ED00000000 + + isa + PBXFileReference + name + LegacyImageProcessors.h + path + Sources/LegacyImageProcessors.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29F44A23F200000000 + + isa + PBXFileReference + name + LegacyImageProcessors.m + path + Sources/LegacyImageProcessors.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E297E812ACF00000000 + + isa + PBXFileReference + name + LegacyMediaPickers.swift + path + Sources/LegacyMediaPickers.swift + sourceTree + SOURCE_ROOT + + 1DD70E2984310F4700000000 + + isa + PBXFileReference + name + LegacySuggestionContext.swift + path + Sources/LegacySuggestionContext.swift + sourceTree + SOURCE_ROOT + + 1DD70E299E1B2B6C00000000 + + isa + PBXFileReference + name + LegacyWallpaperPicker.swift + path + Sources/LegacyWallpaperPicker.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B883E7D000000000 + 1DD70E29A10DBC7500000000 + 1DD70E291209BB0400000000 + 1DD70E293C87ECC500000000 + 1DD70E29F44A23ED00000000 + 1DD70E29F44A23F200000000 + 1DD70E297E812ACF00000000 + 1DD70E2984310F4700000000 + 1DD70E299E1B2B6C00000000 + + + B401C97932210A3D00000000 + + isa + PBXGroup + name + LegacyMediaPickerUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E296C39078B00000000 + + isa + PBXFileReference + name + libLegacyMediaPickerUI.a + path + libLegacyMediaPickerUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296C39078B00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97932210A3D00000000 + B401C979C806358400000000 + + + E7A30F04B883E7D000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B883E7D000000000 + + E7A30F04A10DBC7500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A10DBC7500000000 + + E7A30F041209BB0400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291209BB0400000000 + + E7A30F043C87ECC500000000 + + isa + PBXBuildFile + fileRef + 1DD70E293C87ECC500000000 + + E7A30F04F44A23F200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F44A23F200000000 + + E7A30F047E812ACF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E297E812ACF00000000 + + E7A30F0484310F4700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984310F4700000000 + + E7A30F049E1B2B6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299E1B2B6C00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B883E7D000000000 + E7A30F04A10DBC7500000000 + E7A30F041209BB0400000000 + E7A30F043C87ECC500000000 + E7A30F04F44A23F200000000 + E7A30F047E812ACF00000000 + E7A30F0484310F4700000000 + E7A30F049E1B2B6C00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F0468BAC05A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968BAC05A00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F0452137F3500000000 + E7A30F04C6E517A300000000 + E7A30F0468BAC05A00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29408D4CD800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2937900E4200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AB26B9A400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E32210A3D00000000 + + isa + PBXNativeTarget + name + LegacyMediaPickerUI + productName + LegacyMediaPickerUI + productReference + 1DD70E296C39078B00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479332210A3D00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E32210A3D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479332210A3D00000000 + + \ No newline at end of file diff --git a/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI.xcodeproj/xcshareddata/xcschemes/LegacyMediaPickerUI.xcscheme b/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI.xcodeproj/xcshareddata/xcschemes/LegacyMediaPickerUI.xcscheme new file mode 100644 index 0000000000..ad5a275b48 --- /dev/null +++ b/submodules/LegacyMediaPickerUI/LegacyMediaPickerUI.xcodeproj/xcshareddata/xcschemes/LegacyMediaPickerUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LegacyUI/BUCK b/submodules/LegacyUI/BUCK new file mode 100644 index 0000000000..52cb17a0c9 --- /dev/null +++ b/submodules/LegacyUI/BUCK @@ -0,0 +1,24 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LegacyUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramAudio:TelegramAudio", + "//submodules/DeviceAccess:DeviceAccess", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/StickerResources:StickerResources", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LegacyUI/LegacyUI.xcodeproj/project.pbxproj b/submodules/LegacyUI/LegacyUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a01811ed9c --- /dev/null +++ b/submodules/LegacyUI/LegacyUI.xcodeproj/project.pbxproj @@ -0,0 +1,997 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29229182D800000000 + + isa + PBXFileReference + name + LegacyUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/LegacyUI/LegacyUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A95EC44200000000 + + isa + PBXFileReference + name + LegacyUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/LegacyUI/LegacyUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291CF56FA400000000 + + isa + PBXFileReference + name + LegacyUI-Release.xcconfig + path + ../../buck-out/gen/submodules/LegacyUI/LegacyUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29229182D800000000 + 1DD70E29A95EC44200000000 + 1DD70E291CF56FA400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29CEDA9ABA00000000 + + isa + PBXFileReference + name + LegacyComponentsStickers.swift + path + Sources/LegacyComponentsStickers.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C3F09B4A00000000 + + isa + PBXFileReference + name + LegacyController.swift + path + Sources/LegacyController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2927A5416C00000000 + + isa + PBXFileReference + name + LegacyControllerNode.swift + path + Sources/LegacyControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E297ACDA44500000000 + + isa + PBXFileReference + name + LegacyEmptyController.swift + path + Sources/LegacyEmptyController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F3F8C5DB00000000 + + isa + PBXFileReference + name + LegacyHTTPOperationImpl.swift + path + Sources/LegacyHTTPOperationImpl.swift + sourceTree + SOURCE_ROOT + + 1DD70E2912B34EE000000000 + + isa + PBXFileReference + name + LegacyImageDownloadActor.swift + path + Sources/LegacyImageDownloadActor.swift + sourceTree + SOURCE_ROOT + + 1DD70E2900C1CDD400000000 + + isa + PBXFileReference + name + LegacyLocationVenueIconDataSource.swift + path + Sources/LegacyLocationVenueIconDataSource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C7C40C8800000000 + + isa + PBXFileReference + name + LegacyMediaLocations.swift + path + Sources/LegacyMediaLocations.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C2600A3E00000000 + + isa + PBXFileReference + name + LegacyNavigationController.swift + path + Sources/LegacyNavigationController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E160621900000000 + + isa + PBXFileReference + name + LegacyPeerAvatarPlaceholderDataSource.swift + path + Sources/LegacyPeerAvatarPlaceholderDataSource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F0DA041500000000 + + isa + PBXFileReference + name + TelegramInitializeLegacyComponents.swift + path + Sources/TelegramInitializeLegacyComponents.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29CEDA9ABA00000000 + 1DD70E29C3F09B4A00000000 + 1DD70E2927A5416C00000000 + 1DD70E297ACDA44500000000 + 1DD70E29F3F8C5DB00000000 + 1DD70E2912B34EE000000000 + 1DD70E2900C1CDD400000000 + 1DD70E29C7C40C8800000000 + 1DD70E29C2600A3E00000000 + 1DD70E29E160621900000000 + 1DD70E29F0DA041500000000 + + + B401C9796AF7943D00000000 + + isa + PBXGroup + name + LegacyUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2952137F3500000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9796AF7943D00000000 + B401C979C806358400000000 + + + E7A30F04CEDA9ABA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CEDA9ABA00000000 + + E7A30F04C3F09B4A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C3F09B4A00000000 + + E7A30F0427A5416C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2927A5416C00000000 + + E7A30F047ACDA44500000000 + + isa + PBXBuildFile + fileRef + 1DD70E297ACDA44500000000 + + E7A30F04F3F8C5DB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F3F8C5DB00000000 + + E7A30F0412B34EE000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2912B34EE000000000 + + E7A30F0400C1CDD400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2900C1CDD400000000 + + E7A30F04C7C40C8800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7C40C8800000000 + + E7A30F04C2600A3E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C2600A3E00000000 + + E7A30F04E160621900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E160621900000000 + + E7A30F04F0DA041500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0DA041500000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04CEDA9ABA00000000 + E7A30F04C3F09B4A00000000 + E7A30F0427A5416C00000000 + E7A30F047ACDA44500000000 + E7A30F04F3F8C5DB00000000 + E7A30F0412B34EE000000000 + E7A30F0400C1CDD400000000 + E7A30F04C7C40C8800000000 + E7A30F04C2600A3E00000000 + E7A30F04E160621900000000 + E7A30F04F0DA041500000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29229182D800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A95EC44200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291CF56FA400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6AF7943D00000000 + + isa + PBXNativeTarget + name + LegacyUI + productName + LegacyUI + productReference + 1DD70E2952137F3500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936AF7943D00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6AF7943D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936AF7943D00000000 + + \ No newline at end of file diff --git a/submodules/LegacyUI/LegacyUI.xcodeproj/xcshareddata/xcschemes/LegacyUI.xcscheme b/submodules/LegacyUI/LegacyUI.xcodeproj/xcshareddata/xcschemes/LegacyUI.xcscheme new file mode 100644 index 0000000000..af9a8108b2 --- /dev/null +++ b/submodules/LegacyUI/LegacyUI.xcodeproj/xcshareddata/xcschemes/LegacyUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LegacyUI/Sources/TelegramInitializeLegacyComponents.swift b/submodules/LegacyUI/Sources/TelegramInitializeLegacyComponents.swift index c456274e06..61511afe1b 100644 --- a/submodules/LegacyUI/Sources/TelegramInitializeLegacyComponents.swift +++ b/submodules/LegacyUI/Sources/TelegramInitializeLegacyComponents.swift @@ -340,8 +340,9 @@ private final class LegacyComponentsGlobalsProviderImpl: NSObject, LegacyCompone let theme = presentationTheme.list let navigationBar = presentationTheme.rootController.navigationBar + let tabBar = presentationTheme.rootController.tabBar - return TGMediaAssetsPallete(dark: presentationTheme.overallDarkAppearance, backgroundColor: theme.plainBackgroundColor, selectionColor: theme.itemHighlightedBackgroundColor, separatorColor: theme.itemPlainSeparatorColor, textColor: theme.itemPrimaryTextColor, secondaryTextColor: theme.controlSecondaryColor, accentColor: theme.itemAccentColor, barBackgroundColor: navigationBar.backgroundColor, barSeparatorColor: navigationBar.separatorColor, navigationTitleColor: navigationBar.primaryTextColor, badge: generateStretchableFilledCircleImage(diameter: 22.0, color: navigationBar.accentTextColor), badgeTextColor: navigationBar.backgroundColor, sendIconImage: PresentationResourcesChat.chatInputPanelSendButtonImage(presentationTheme), maybeAccentColor: navigationBar.accentTextColor) + return TGMediaAssetsPallete(dark: presentationTheme.overallDarkAppearance, backgroundColor: theme.plainBackgroundColor, selectionColor: theme.itemHighlightedBackgroundColor, separatorColor: theme.itemPlainSeparatorColor, textColor: theme.itemPrimaryTextColor, secondaryTextColor: theme.controlSecondaryColor, accentColor: theme.itemAccentColor, barBackgroundColor: tabBar.backgroundColor, barSeparatorColor: tabBar.separatorColor, navigationTitleColor: navigationBar.primaryTextColor, badge: generateStretchableFilledCircleImage(diameter: 22.0, color: navigationBar.accentTextColor), badgeTextColor: navigationBar.backgroundColor, sendIconImage: PresentationResourcesChat.chatInputPanelSendButtonImage(presentationTheme), maybeAccentColor: navigationBar.accentTextColor) } func checkButtonPallete() -> TGCheckButtonPallete! { diff --git a/submodules/LightweightAccountData/BUCK b/submodules/LightweightAccountData/BUCK new file mode 100644 index 0000000000..d74ce3fa82 --- /dev/null +++ b/submodules/LightweightAccountData/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LightweightAccountData", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/LightweightAccountData/LightweightAccountData.xcodeproj/project.pbxproj b/submodules/LightweightAccountData/LightweightAccountData.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a59eb7c144 --- /dev/null +++ b/submodules/LightweightAccountData/LightweightAccountData.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29DACE11EC00000000 + + isa + PBXFileReference + name + LightweightAccountData-Debug.xcconfig + path + ../../buck-out/gen/submodules/LightweightAccountData/LightweightAccountData-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2944B3DE5600000000 + + isa + PBXFileReference + name + LightweightAccountData-Profile.xcconfig + path + ../../buck-out/gen/submodules/LightweightAccountData/LightweightAccountData-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B84A89B800000000 + + isa + PBXFileReference + name + LightweightAccountData-Release.xcconfig + path + ../../buck-out/gen/submodules/LightweightAccountData/LightweightAccountData-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29DACE11EC00000000 + 1DD70E2944B3DE5600000000 + 1DD70E29B84A89B800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C1FA48DB00000000 + + isa + PBXFileReference + name + SharedAccountInfo.swift + path + Sources/SharedAccountInfo.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C1FA48DB00000000 + + + B401C9791D593FA900000000 + + isa + PBXGroup + name + LightweightAccountData + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29B6DBA2E100000000 + + isa + PBXFileReference + name + libLightweightAccountData.a + path + libLightweightAccountData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29B6DBA2E100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9791D593FA900000000 + B401C979C806358400000000 + + + E7A30F04C1FA48DB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C1FA48DB00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C1FA48DB00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29DACE11EC00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2944B3DE5600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B84A89B800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E1D593FA900000000 + + isa + PBXNativeTarget + name + LightweightAccountData + productName + LightweightAccountData + productReference + 1DD70E29B6DBA2E100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847931D593FA900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E1D593FA900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847931D593FA900000000 + + \ No newline at end of file diff --git a/submodules/LightweightAccountData/LightweightAccountData.xcodeproj/xcshareddata/xcschemes/LightweightAccountData.xcscheme b/submodules/LightweightAccountData/LightweightAccountData.xcodeproj/xcshareddata/xcschemes/LightweightAccountData.xcscheme new file mode 100644 index 0000000000..a0d1a6d800 --- /dev/null +++ b/submodules/LightweightAccountData/LightweightAccountData.xcodeproj/xcshareddata/xcschemes/LightweightAccountData.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ListSectionHeaderNode/BUCK b/submodules/ListSectionHeaderNode/BUCK new file mode 100644 index 0000000000..25fbe0526c --- /dev/null +++ b/submodules/ListSectionHeaderNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ListSectionHeaderNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ListSectionHeaderNode/ListSectionHeaderNode.xcodeproj/project.pbxproj b/submodules/ListSectionHeaderNode/ListSectionHeaderNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..2480c37e45 --- /dev/null +++ b/submodules/ListSectionHeaderNode/ListSectionHeaderNode.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2968846C1F00000000 + + isa + PBXFileReference + name + ListSectionHeaderNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/ListSectionHeaderNode/ListSectionHeaderNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293E3C77C900000000 + + isa + PBXFileReference + name + ListSectionHeaderNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/ListSectionHeaderNode/ListSectionHeaderNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B1D3232B00000000 + + isa + PBXFileReference + name + ListSectionHeaderNode-Release.xcconfig + path + ../../buck-out/gen/submodules/ListSectionHeaderNode/ListSectionHeaderNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2968846C1F00000000 + 1DD70E293E3C77C900000000 + 1DD70E29B1D3232B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2908AF17FB00000000 + + isa + PBXFileReference + name + ListSectionHeaderNode.swift + path + Sources/ListSectionHeaderNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2908AF17FB00000000 + + + B401C979831E25D600000000 + + isa + PBXGroup + name + ListSectionHeaderNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AC43662400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979831E25D600000000 + B401C979C806358400000000 + + + E7A30F0408AF17FB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2908AF17FB00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0408AF17FB00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2968846C1F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293E3C77C900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B1D3232B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E831E25D600000000 + + isa + PBXNativeTarget + name + ListSectionHeaderNode + productName + ListSectionHeaderNode + productReference + 1DD70E29AC43662400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793831E25D600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E831E25D600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793831E25D600000000 + + \ No newline at end of file diff --git a/submodules/ListSectionHeaderNode/ListSectionHeaderNode.xcodeproj/xcshareddata/xcschemes/ListSectionHeaderNode.xcscheme b/submodules/ListSectionHeaderNode/ListSectionHeaderNode.xcodeproj/xcshareddata/xcschemes/ListSectionHeaderNode.xcscheme new file mode 100644 index 0000000000..df2198b45b --- /dev/null +++ b/submodules/ListSectionHeaderNode/ListSectionHeaderNode.xcodeproj/xcshareddata/xcschemes/ListSectionHeaderNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LiveLocationManager/BUCK b/submodules/LiveLocationManager/BUCK new file mode 100644 index 0000000000..d01b28a3da --- /dev/null +++ b/submodules/LiveLocationManager/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LiveLocationManager", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + "//submodules/TelegramCore:TelegramCore#dynamic", + "//submodules/Postbox:Postbox#dynamic", + "//submodules/DeviceLocationManager:DeviceLocationManager", + "//submodules/AccountContext:AccountContext", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + ], +) diff --git a/submodules/LiveLocationManager/LiveLocationManager.xcodeproj/project.pbxproj b/submodules/LiveLocationManager/LiveLocationManager.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..070c6a8fa3 --- /dev/null +++ b/submodules/LiveLocationManager/LiveLocationManager.xcodeproj/project.pbxproj @@ -0,0 +1,729 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29A70D73A900000000 + + isa + PBXFileReference + name + LiveLocationManager-Debug.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationManager/LiveLocationManager-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29FEA1C4D300000000 + + isa + PBXFileReference + name + LiveLocationManager-Profile.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationManager/LiveLocationManager-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297238703500000000 + + isa + PBXFileReference + name + LiveLocationManager-Release.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationManager/LiveLocationManager-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29A70D73A900000000 + 1DD70E29FEA1C4D300000000 + 1DD70E297238703500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29DF578D3100000000 + + isa + PBXFileReference + name + LiveLocationManager.swift + path + Sources/LiveLocationManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E293991010D00000000 + + isa + PBXFileReference + name + LiveLocationSummaryManager.swift + path + Sources/LiveLocationSummaryManager.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29DF578D3100000000 + 1DD70E293991010D00000000 + + + B401C979C9BC3B8C00000000 + + isa + PBXGroup + name + LiveLocationManager + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2989CD211A00000000 + + isa + PBXFileReference + name + libLiveLocationManager.a + path + libLiveLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2989CD211A00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C9BC3B8C00000000 + B401C979C806358400000000 + + + E7A30F04DF578D3100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF578D3100000000 + + E7A30F043991010D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293991010D00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04DF578D3100000000 + E7A30F043991010D00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29A70D73A900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29FEA1C4D300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E297238703500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EC9BC3B8C00000000 + + isa + PBXNativeTarget + name + LiveLocationManager + productName + LiveLocationManager + productReference + 1DD70E2989CD211A00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793C9BC3B8C00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EC9BC3B8C00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793C9BC3B8C00000000 + + \ No newline at end of file diff --git a/submodules/LiveLocationManager/LiveLocationManager.xcodeproj/xcshareddata/xcschemes/LiveLocationManager.xcscheme b/submodules/LiveLocationManager/LiveLocationManager.xcodeproj/xcshareddata/xcschemes/LiveLocationManager.xcscheme new file mode 100644 index 0000000000..3ec04d8728 --- /dev/null +++ b/submodules/LiveLocationManager/LiveLocationManager.xcodeproj/xcshareddata/xcschemes/LiveLocationManager.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LiveLocationPositionNode/BUCK b/submodules/LiveLocationPositionNode/BUCK new file mode 100644 index 0000000000..c7239974f1 --- /dev/null +++ b/submodules/LiveLocationPositionNode/BUCK @@ -0,0 +1,21 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LiveLocationPositionNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AvatarNode:AvatarNode", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LiveLocationPositionNode/LiveLocationPositionNode.xcodeproj/project.pbxproj b/submodules/LiveLocationPositionNode/LiveLocationPositionNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5802d65b29 --- /dev/null +++ b/submodules/LiveLocationPositionNode/LiveLocationPositionNode.xcodeproj/project.pbxproj @@ -0,0 +1,621 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E293F9970E900000000 + + isa + PBXFileReference + name + LiveLocationPositionNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationPositionNode/LiveLocationPositionNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A423721300000000 + + isa + PBXFileReference + name + LiveLocationPositionNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationPositionNode/LiveLocationPositionNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2917BA1D7500000000 + + isa + PBXFileReference + name + LiveLocationPositionNode-Release.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationPositionNode/LiveLocationPositionNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E293F9970E900000000 + 1DD70E29A423721300000000 + 1DD70E2917BA1D7500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29500D752000000000 + + isa + PBXFileReference + name + ChatMessageLiveLocationPositionNode.swift + path + Sources/ChatMessageLiveLocationPositionNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29500D752000000000 + + + B401C97946DD664C00000000 + + isa + PBXGroup + name + LiveLocationPositionNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E292995DF8400000000 + + isa + PBXFileReference + name + libLiveLocationPositionNode.a + path + libLiveLocationPositionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292995DF8400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97946DD664C00000000 + B401C979C806358400000000 + + + E7A30F04500D752000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29500D752000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04500D752000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E293F9970E900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A423721300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2917BA1D7500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E46DD664C00000000 + + isa + PBXNativeTarget + name + LiveLocationPositionNode + productName + LiveLocationPositionNode + productReference + 1DD70E292995DF8400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479346DD664C00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E46DD664C00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479346DD664C00000000 + + \ No newline at end of file diff --git a/submodules/LiveLocationPositionNode/LiveLocationPositionNode.xcodeproj/xcshareddata/xcschemes/LiveLocationPositionNode.xcscheme b/submodules/LiveLocationPositionNode/LiveLocationPositionNode.xcodeproj/xcshareddata/xcschemes/LiveLocationPositionNode.xcscheme new file mode 100644 index 0000000000..da939feaef --- /dev/null +++ b/submodules/LiveLocationPositionNode/LiveLocationPositionNode.xcodeproj/xcshareddata/xcschemes/LiveLocationPositionNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LiveLocationPositionNode/LiveLocationPositionNode_Xcode.xcodeproj/project.pbxproj b/submodules/LiveLocationPositionNode/LiveLocationPositionNode_Xcode.xcodeproj/project.pbxproj index 8d20c24eda..1302f57523 100644 --- a/submodules/LiveLocationPositionNode/LiveLocationPositionNode_Xcode.xcodeproj/project.pbxproj +++ b/submodules/LiveLocationPositionNode/LiveLocationPositionNode_Xcode.xcodeproj/project.pbxproj @@ -17,7 +17,7 @@ D0C9C6512301D2DA00FAB518 /* Postbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6502301D2DA00FAB518 /* Postbox.framework */; }; D0C9C6532301D2E000FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6522301D2E000FAB518 /* TelegramPresentationData.framework */; }; D0C9C6552301D2E400FAB518 /* AvatarNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6542301D2E400FAB518 /* AvatarNode.framework */; }; - D0C9C65B2301D34000FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C65A2301D34000FAB518 /* FrameworkBundle.swift */; }; + D0EFF24E231980D200CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF24D231980D200CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -33,7 +33,7 @@ D0C9C6502301D2DA00FAB518 /* Postbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Postbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C6522301D2E000FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C6542301D2E400FAB518 /* AvatarNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AvatarNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C65A2301D34000FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF24D231980D200CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -41,6 +41,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF24E231980D200CF5164 /* AppBundle.framework in Frameworks */, D0C9C6552301D2E400FAB518 /* AvatarNode.framework in Frameworks */, D0C9C6532301D2E000FAB518 /* TelegramPresentationData.framework in Frameworks */, D0C9C6512301D2DA00FAB518 /* Postbox.framework in Frameworks */, @@ -77,7 +78,6 @@ isa = PBXGroup; children = ( D0C9C6432301D2BC00FAB518 /* ChatMessageLiveLocationPositionNode.swift */, - D0C9C65A2301D34000FAB518 /* FrameworkBundle.swift */, D0C9C6372301D25D00FAB518 /* LiveLocationPositionNode.h */, ); path = Sources; @@ -86,6 +86,7 @@ D0C9C6452301D2C700FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF24D231980D200CF5164 /* AppBundle.framework */, D0C9C6542301D2E400FAB518 /* AvatarNode.framework */, D0C9C6522301D2E000FAB518 /* TelegramPresentationData.framework */, D0C9C6502301D2DA00FAB518 /* Postbox.framework */, @@ -178,7 +179,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0C9C65B2301D34000FAB518 /* FrameworkBundle.swift in Sources */, D0C9C6442301D2BC00FAB518 /* ChatMessageLiveLocationPositionNode.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/LiveLocationPositionNode/Sources/ChatMessageLiveLocationPositionNode.swift b/submodules/LiveLocationPositionNode/Sources/ChatMessageLiveLocationPositionNode.swift index 7d49098b6f..7da5cabc9e 100644 --- a/submodules/LiveLocationPositionNode/Sources/ChatMessageLiveLocationPositionNode.swift +++ b/submodules/LiveLocationPositionNode/Sources/ChatMessageLiveLocationPositionNode.swift @@ -6,6 +6,7 @@ import TelegramCore import Postbox import TelegramPresentationData import AvatarNode +import AppBundle private let avatarFont = UIFont(name: ".SFCompactRounded-Semibold", size: 24.0)! private let avatarBackgroundImage = UIImage(bundleImageName: "Chat/Message/LocationPin")?.precomposed() diff --git a/submodules/LiveLocationPositionNode/Sources/FrameworkBundle.swift b/submodules/LiveLocationPositionNode/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/LiveLocationPositionNode/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/LiveLocationTimerNode/BUCK b/submodules/LiveLocationTimerNode/BUCK new file mode 100644 index 0000000000..90f16ad856 --- /dev/null +++ b/submodules/LiveLocationTimerNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LiveLocationTimerNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/LiveLocationTimerNode/LiveLocationTimerNode.xcodeproj/project.pbxproj b/submodules/LiveLocationTimerNode/LiveLocationTimerNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..3781ba0ec9 --- /dev/null +++ b/submodules/LiveLocationTimerNode/LiveLocationTimerNode.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29B9575CEF00000000 + + isa + PBXFileReference + name + LiveLocationTimerNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationTimerNode/LiveLocationTimerNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A616749900000000 + + isa + PBXFileReference + name + LiveLocationTimerNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationTimerNode/LiveLocationTimerNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2919AD1FFB00000000 + + isa + PBXFileReference + name + LiveLocationTimerNode-Release.xcconfig + path + ../../buck-out/gen/submodules/LiveLocationTimerNode/LiveLocationTimerNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29B9575CEF00000000 + 1DD70E29A616749900000000 + 1DD70E2919AD1FFB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F41ED65C00000000 + + isa + PBXFileReference + name + ChatMessageLiveLocationTimerNode.swift + path + Sources/ChatMessageLiveLocationTimerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F41ED65C00000000 + + + B401C9796B01AF0600000000 + + isa + PBXGroup + name + LiveLocationTimerNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E292969635400000000 + + isa + PBXFileReference + name + libLiveLocationTimerNode.a + path + libLiveLocationTimerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292969635400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9796B01AF0600000000 + B401C979C806358400000000 + + + E7A30F04F41ED65C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F41ED65C00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F41ED65C00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29B9575CEF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A616749900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2919AD1FFB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6B01AF0600000000 + + isa + PBXNativeTarget + name + LiveLocationTimerNode + productName + LiveLocationTimerNode + productReference + 1DD70E292969635400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936B01AF0600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6B01AF0600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936B01AF0600000000 + + \ No newline at end of file diff --git a/submodules/LiveLocationTimerNode/LiveLocationTimerNode.xcodeproj/xcshareddata/xcschemes/LiveLocationTimerNode.xcscheme b/submodules/LiveLocationTimerNode/LiveLocationTimerNode.xcodeproj/xcshareddata/xcschemes/LiveLocationTimerNode.xcscheme new file mode 100644 index 0000000000..ba73246afb --- /dev/null +++ b/submodules/LiveLocationTimerNode/LiveLocationTimerNode.xcodeproj/xcshareddata/xcschemes/LiveLocationTimerNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LocalAuth/BUCK b/submodules/LocalAuth/BUCK new file mode 100644 index 0000000000..7d9d8d639b --- /dev/null +++ b/submodules/LocalAuth/BUCK @@ -0,0 +1,15 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LocalAuth", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/LocalAuthentication.framework", + ], +) diff --git a/submodules/LocalAuth/LocalAuth.xcodeproj/project.pbxproj b/submodules/LocalAuth/LocalAuth.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..78fee7634d --- /dev/null +++ b/submodules/LocalAuth/LocalAuth.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2965761CC200000000 + + isa + PBXFileReference + name + LocalAuth-Debug.xcconfig + path + ../../buck-out/gen/submodules/LocalAuth/LocalAuth-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C5848BAC00000000 + + isa + PBXFileReference + name + LocalAuth-Profile.xcconfig + path + ../../buck-out/gen/submodules/LocalAuth/LocalAuth-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29391B370E00000000 + + isa + PBXFileReference + name + LocalAuth-Release.xcconfig + path + ../../buck-out/gen/submodules/LocalAuth/LocalAuth-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2965761CC200000000 + 1DD70E29C5848BAC00000000 + 1DD70E29391B370E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29424C93F800000000 + + isa + PBXFileReference + name + LocalAuth.swift + path + Sources/LocalAuth.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29424C93F800000000 + + + B401C9792F93A39300000000 + + isa + PBXGroup + name + LocalAuth + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29A889192100000000 + + isa + PBXFileReference + name + libLocalAuth.a + path + libLocalAuth.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A889192100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9792F93A39300000000 + B401C979C806358400000000 + + + E7A30F04424C93F800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29424C93F800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04424C93F800000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2965761CC200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29C5848BAC00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29391B370E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E2F93A39300000000 + + isa + PBXNativeTarget + name + LocalAuth + productName + LocalAuth + productReference + 1DD70E29A889192100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847932F93A39300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E2F93A39300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847932F93A39300000000 + + \ No newline at end of file diff --git a/submodules/LocalAuth/LocalAuth.xcodeproj/xcshareddata/xcschemes/LocalAuth.xcscheme b/submodules/LocalAuth/LocalAuth.xcodeproj/xcshareddata/xcschemes/LocalAuth.xcscheme new file mode 100644 index 0000000000..039036efb3 --- /dev/null +++ b/submodules/LocalAuth/LocalAuth.xcodeproj/xcshareddata/xcschemes/LocalAuth.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LocalMediaResources/BUCK b/submodules/LocalMediaResources/BUCK new file mode 100644 index 0000000000..57447594a6 --- /dev/null +++ b/submodules/LocalMediaResources/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LocalMediaResources", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/ImageCompression:ImageCompression", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/Photos.framework", + ], +) diff --git a/submodules/LocalMediaResources/LocalMediaResources.xcodeproj/project.pbxproj b/submodules/LocalMediaResources/LocalMediaResources.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..78fe7f3ae3 --- /dev/null +++ b/submodules/LocalMediaResources/LocalMediaResources.xcodeproj/project.pbxproj @@ -0,0 +1,465 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2968EC9C6900000000 + + isa + PBXFileReference + name + LocalMediaResources-Debug.xcconfig + path + ../../buck-out/gen/submodules/LocalMediaResources/LocalMediaResources-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C559BD9300000000 + + isa + PBXFileReference + name + LocalMediaResources-Profile.xcconfig + path + ../../buck-out/gen/submodules/LocalMediaResources/LocalMediaResources-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2938F068F500000000 + + isa + PBXFileReference + name + LocalMediaResources-Release.xcconfig + path + ../../buck-out/gen/submodules/LocalMediaResources/LocalMediaResources-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2968EC9C6900000000 + 1DD70E29C559BD9300000000 + 1DD70E2938F068F500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29C6E517A300000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B5ED8F8B00000000 + + isa + PBXFileReference + name + FetchPhotoLibraryImageResource.swift + path + Sources/FetchPhotoLibraryImageResource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C67E30A600000000 + + isa + PBXFileReference + name + MediaResources.swift + path + Sources/MediaResources.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B5ED8F8B00000000 + 1DD70E29C67E30A600000000 + + + B401C9798A08AACC00000000 + + isa + PBXGroup + name + LocalMediaResources + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2968BAC05A00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9798A08AACC00000000 + B401C979C806358400000000 + + + E7A30F04B5ED8F8B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B5ED8F8B00000000 + + E7A30F04C67E30A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C67E30A600000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B5ED8F8B00000000 + E7A30F04C67E30A600000000 + + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04C6E517A300000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2968EC9C6900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29C559BD9300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2938F068F500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E8A08AACC00000000 + + isa + PBXNativeTarget + name + LocalMediaResources + productName + LocalMediaResources + productReference + 1DD70E2968BAC05A00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847938A08AACC00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E8A08AACC00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847938A08AACC00000000 + + \ No newline at end of file diff --git a/submodules/LocalMediaResources/LocalMediaResources.xcodeproj/xcshareddata/xcschemes/LocalMediaResources.xcscheme b/submodules/LocalMediaResources/LocalMediaResources.xcodeproj/xcshareddata/xcschemes/LocalMediaResources.xcscheme new file mode 100644 index 0000000000..f76d39888c --- /dev/null +++ b/submodules/LocalMediaResources/LocalMediaResources.xcodeproj/xcshareddata/xcschemes/LocalMediaResources.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LocalizedPeerData/BUCK b/submodules/LocalizedPeerData/BUCK new file mode 100644 index 0000000000..0f60eef373 --- /dev/null +++ b/submodules/LocalizedPeerData/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LocalizedPeerData", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#dynamic", + "//submodules/Postbox:Postbox#dynamic", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/LocalizedPeerData/LocalizedPeerData.xcodeproj/project.pbxproj b/submodules/LocalizedPeerData/LocalizedPeerData.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..bb662bce41 --- /dev/null +++ b/submodules/LocalizedPeerData/LocalizedPeerData.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2925CD652E00000000 + + isa + PBXFileReference + name + LocalizedPeerData-Debug.xcconfig + path + ../../buck-out/gen/submodules/LocalizedPeerData/LocalizedPeerData-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CD2B691800000000 + + isa + PBXFileReference + name + LocalizedPeerData-Profile.xcconfig + path + ../../buck-out/gen/submodules/LocalizedPeerData/LocalizedPeerData-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2940C2147A00000000 + + isa + PBXFileReference + name + LocalizedPeerData-Release.xcconfig + path + ../../buck-out/gen/submodules/LocalizedPeerData/LocalizedPeerData-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2925CD652E00000000 + 1DD70E29CD2B691800000000 + 1DD70E2940C2147A00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29FAEAC81B00000000 + + isa + PBXFileReference + name + PeerTitle.swift + path + Sources/PeerTitle.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29FAEAC81B00000000 + + + B401C979255A10A700000000 + + isa + PBXGroup + name + LocalizedPeerData + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CE34063500000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979255A10A700000000 + B401C979C806358400000000 + + + E7A30F04FAEAC81B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FAEAC81B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04FAEAC81B00000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04119CDA0700000000 + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2925CD652E00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29CD2B691800000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2940C2147A00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E255A10A700000000 + + isa + PBXNativeTarget + name + LocalizedPeerData + productName + LocalizedPeerData + productReference + 1DD70E29CE34063500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793255A10A700000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E255A10A700000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793255A10A700000000 + + \ No newline at end of file diff --git a/submodules/LocalizedPeerData/LocalizedPeerData.xcodeproj/xcshareddata/xcschemes/LocalizedPeerData.xcscheme b/submodules/LocalizedPeerData/LocalizedPeerData.xcodeproj/xcshareddata/xcschemes/LocalizedPeerData.xcscheme new file mode 100644 index 0000000000..6600b05621 --- /dev/null +++ b/submodules/LocalizedPeerData/LocalizedPeerData.xcodeproj/xcshareddata/xcschemes/LocalizedPeerData.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LocationUI/BUCK b/submodules/LocationUI/BUCK new file mode 100644 index 0000000000..b97fa70d56 --- /dev/null +++ b/submodules/LocationUI/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "LocationUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/ShareController:ShareController", + "//submodules/AccountContext:AccountContext", + "//submodules/OpenInExternalAppUI:OpenInExternalAppUI", + "//submodules/LegacyUI:LegacyUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + ], +) diff --git a/submodules/LocationUI/LocationUI.xcodeproj/project.pbxproj b/submodules/LocationUI/LocationUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..aebaf8253f --- /dev/null +++ b/submodules/LocationUI/LocationUI.xcodeproj/project.pbxproj @@ -0,0 +1,1257 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29487E346C00000000 + + isa + PBXFileReference + name + LocationUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/LocationUI/LocationUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2906E560D600000000 + + isa + PBXFileReference + name + LocationUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/LocationUI/LocationUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297A7C0C3800000000 + + isa + PBXFileReference + name + LocationUI-Release.xcconfig + path + ../../buck-out/gen/submodules/LocationUI/LocationUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29487E346C00000000 + 1DD70E2906E560D600000000 + 1DD70E297A7C0C3800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E2952137F3500000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29AF00DC4900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29E1165C1F00000000 + + isa + PBXFileReference + name + LegacyLocationController.swift + path + Sources/LegacyLocationController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FAFE229100000000 + + isa + PBXFileReference + name + LegacyLocationPicker.swift + path + Sources/LegacyLocationPicker.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29E1165C1F00000000 + 1DD70E29FAFE229100000000 + + + B401C979D2B86D2900000000 + + isa + PBXGroup + name + LocationUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29E102CFE100000000 + + isa + PBXFileReference + name + libLocationUI.a + path + libLocationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29E102CFE100000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979D2B86D2900000000 + B401C979C806358400000000 + + + E7A30F04E1165C1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E1165C1F00000000 + + E7A30F04FAFE229100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FAFE229100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04E1165C1F00000000 + E7A30F04FAFE229100000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F0452137F3500000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + E7A30F04AF00DC4900000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F041D58331200000000 + E7A30F0481AE180900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29487E346C00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2906E560D600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E297A7C0C3800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ED2B86D2900000000 + + isa + PBXNativeTarget + name + LocationUI + productName + LocationUI + productReference + 1DD70E29E102CFE100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793D2B86D2900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ED2B86D2900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793D2B86D2900000000 + + \ No newline at end of file diff --git a/submodules/LocationUI/LocationUI.xcodeproj/xcshareddata/xcschemes/LocationUI.xcscheme b/submodules/LocationUI/LocationUI.xcodeproj/xcshareddata/xcschemes/LocationUI.xcscheme new file mode 100644 index 0000000000..66fe010fb1 --- /dev/null +++ b/submodules/LocationUI/LocationUI.xcodeproj/xcshareddata/xcschemes/LocationUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/LocationUI/LocationUI_Xcode.xcodeproj/project.pbxproj b/submodules/LocationUI/LocationUI_Xcode.xcodeproj/project.pbxproj index 8536397cd7..fb3f7e6dbb 100644 --- a/submodules/LocationUI/LocationUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/LocationUI/LocationUI_Xcode.xcodeproj/project.pbxproj @@ -22,8 +22,8 @@ D0C9C6B12301D8E500FAB518 /* ShareController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6B02301D8E500FAB518 /* ShareController.framework */; }; D0C9C6B32301D8EB00FAB518 /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6B22301D8EB00FAB518 /* AccountContext.framework */; }; D0C9C6B52301D8F000FAB518 /* OpenInExternalAppUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6B42301D8F000FAB518 /* OpenInExternalAppUI.framework */; }; - D0C9C6B72301D8FE00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C6B62301D8FE00FAB518 /* FrameworkBundle.swift */; }; D0C9C6BD2301D94000FAB518 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6BC2301D94000FAB518 /* CoreLocation.framework */; }; + D0EFF268231981E400CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF267231981E400CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -44,8 +44,8 @@ D0C9C6B02301D8E500FAB518 /* ShareController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ShareController.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C6B22301D8EB00FAB518 /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C6B42301D8F000FAB518 /* OpenInExternalAppUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = OpenInExternalAppUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C6B62301D8FE00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C6BC2301D94000FAB518 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + D0EFF267231981E400CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -53,6 +53,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF268231981E400CF5164 /* AppBundle.framework in Frameworks */, D0C9C6BD2301D94000FAB518 /* CoreLocation.framework in Frameworks */, D0C9C6B52301D8F000FAB518 /* OpenInExternalAppUI.framework in Frameworks */, D0C9C6B32301D8EB00FAB518 /* AccountContext.framework in Frameworks */, @@ -95,7 +96,6 @@ children = ( D0C9C6A92301D8CB00FAB518 /* LegacyLocationController.swift */, D0C9C6A82301D8CB00FAB518 /* LegacyLocationPicker.swift */, - D0C9C6B62301D8FE00FAB518 /* FrameworkBundle.swift */, D0C9C68D2301D83500FAB518 /* LocationUI.h */, ); path = Sources; @@ -104,6 +104,7 @@ D0C9C6992301D89600FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF267231981E400CF5164 /* AppBundle.framework */, D0C9C6BC2301D94000FAB518 /* CoreLocation.framework */, D0C9C6B42301D8F000FAB518 /* OpenInExternalAppUI.framework */, D0C9C6B22301D8EB00FAB518 /* AccountContext.framework */, @@ -203,7 +204,6 @@ files = ( D0C9C6AA2301D8CB00FAB518 /* LegacyLocationPicker.swift in Sources */, D0C9C6AB2301D8CB00FAB518 /* LegacyLocationController.swift in Sources */, - D0C9C6B72301D8FE00FAB518 /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/LocationUI/Sources/FrameworkBundle.swift b/submodules/LocationUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/LocationUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/LocationUI/Sources/LegacyLocationController.swift b/submodules/LocationUI/Sources/LegacyLocationController.swift index 32a18df551..4c8903b1bb 100644 --- a/submodules/LocationUI/Sources/LegacyLocationController.swift +++ b/submodules/LocationUI/Sources/LegacyLocationController.swift @@ -9,6 +9,7 @@ import AccountContext import ShareController import LegacyUI import OpenInExternalAppUI +import AppBundle private func generateClearIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Clear"), color: color) diff --git a/submodules/LocationUI/Sources/LegacyLocationPicker.swift b/submodules/LocationUI/Sources/LegacyLocationPicker.swift index 7e277d6947..bdb9575906 100644 --- a/submodules/LocationUI/Sources/LegacyLocationPicker.swift +++ b/submodules/LocationUI/Sources/LegacyLocationPicker.swift @@ -8,6 +8,7 @@ import SwiftSignalKit import TelegramPresentationData import AccountContext import LegacyUI +import AppBundle private func generateClearIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Clear"), color: color) diff --git a/submodules/MapResourceToAvatarSizes/BUCK b/submodules/MapResourceToAvatarSizes/BUCK new file mode 100644 index 0000000000..731d4c57cd --- /dev/null +++ b/submodules/MapResourceToAvatarSizes/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MapResourceToAvatarSizes", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes.xcodeproj/project.pbxproj b/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b93100c986 --- /dev/null +++ b/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes.xcodeproj/project.pbxproj @@ -0,0 +1,445 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29C66EB24100000000 + + isa + PBXFileReference + name + MapResourceToAvatarSizes-Debug.xcconfig + path + ../../buck-out/gen/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CAADBD6B00000000 + + isa + PBXFileReference + name + MapResourceToAvatarSizes-Profile.xcconfig + path + ../../buck-out/gen/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293E4468CD00000000 + + isa + PBXFileReference + name + MapResourceToAvatarSizes-Release.xcconfig + path + ../../buck-out/gen/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C66EB24100000000 + 1DD70E29CAADBD6B00000000 + 1DD70E293E4468CD00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299811039900000000 + + isa + PBXFileReference + name + MapResourceToAvatarSizes.swift + path + Sources/MapResourceToAvatarSizes.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299811039900000000 + + + B401C9790EC89FF400000000 + + isa + PBXGroup + name + MapResourceToAvatarSizes + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29A3994F2C00000000 + + isa + PBXFileReference + name + libMapResourceToAvatarSizes.a + path + libMapResourceToAvatarSizes.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A3994F2C00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9790EC89FF400000000 + B401C979C806358400000000 + + + E7A30F049811039900000000 + + isa + PBXBuildFile + fileRef + 1DD70E299811039900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049811039900000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C66EB24100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29CAADBD6B00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E293E4468CD00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0EC89FF400000000 + + isa + PBXNativeTarget + name + MapResourceToAvatarSizes + productName + MapResourceToAvatarSizes + productReference + 1DD70E29A3994F2C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930EC89FF400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0EC89FF400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930EC89FF400000000 + + \ No newline at end of file diff --git a/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes.xcodeproj/xcshareddata/xcschemes/MapResourceToAvatarSizes.xcscheme b/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes.xcodeproj/xcshareddata/xcschemes/MapResourceToAvatarSizes.xcscheme new file mode 100644 index 0000000000..866b2943ea --- /dev/null +++ b/submodules/MapResourceToAvatarSizes/MapResourceToAvatarSizes.xcodeproj/xcshareddata/xcschemes/MapResourceToAvatarSizes.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MediaPlayer/BUCK b/submodules/MediaPlayer/BUCK new file mode 100644 index 0000000000..f63bd09635 --- /dev/null +++ b/submodules/MediaPlayer/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "UniversalMediaPlayer", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/UniversalMediaPlayer.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/UniversalMediaPlayer.h"]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramAudio:TelegramAudio", + "//submodules/FFMpeg:FFMpeg", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/MediaPlayer/MediaPlayer.xcodeproj/project.pbxproj b/submodules/MediaPlayer/MediaPlayer.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f8ec931285 --- /dev/null +++ b/submodules/MediaPlayer/MediaPlayer.xcodeproj/project.pbxproj @@ -0,0 +1,923 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E294E5A60BB00000000 + + isa + PBXFileReference + name + UniversalMediaPlayer-Debug.xcconfig + path + ../../buck-out/gen/submodules/MediaPlayer/UniversalMediaPlayer-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290667B56500000000 + + isa + PBXFileReference + name + UniversalMediaPlayer-Profile.xcconfig + path + ../../buck-out/gen/submodules/MediaPlayer/UniversalMediaPlayer-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2979FE60C700000000 + + isa + PBXFileReference + name + UniversalMediaPlayer-Release.xcconfig + path + ../../buck-out/gen/submodules/MediaPlayer/UniversalMediaPlayer-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E294E5A60BB00000000 + 1DD70E290667B56500000000 + 1DD70E2979FE60C700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2959E87DCD00000000 + + isa + PBXFileReference + name + FFMpegAudioFrameDecoder.swift + path + Sources/FFMpegAudioFrameDecoder.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DBC325CE00000000 + + isa + PBXFileReference + name + FFMpegMediaFrameSource.swift + path + Sources/FFMpegMediaFrameSource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29234025AB00000000 + + isa + PBXFileReference + name + FFMpegMediaFrameSourceContext.swift + path + Sources/FFMpegMediaFrameSourceContext.swift + sourceTree + SOURCE_ROOT + + 1DD70E296DDC3B8400000000 + + isa + PBXFileReference + name + FFMpegMediaFrameSourceContextHelpers.swift + path + Sources/FFMpegMediaFrameSourceContextHelpers.swift + sourceTree + SOURCE_ROOT + + 1DD70E293390840200000000 + + isa + PBXFileReference + name + FFMpegMediaPassthroughVideoFrameDecoder.swift + path + Sources/FFMpegMediaPassthroughVideoFrameDecoder.swift + sourceTree + SOURCE_ROOT + + 1DD70E295E7AB7D800000000 + + isa + PBXFileReference + name + FFMpegMediaVideoFrameDecoder.swift + path + Sources/FFMpegMediaVideoFrameDecoder.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AC5ED52900000000 + + isa + PBXFileReference + name + MediaFrameSource.swift + path + Sources/MediaFrameSource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29342E922E00000000 + + isa + PBXFileReference + name + MediaPlaybackData.swift + path + Sources/MediaPlaybackData.swift + sourceTree + SOURCE_ROOT + + 1DD70E291A8AA6AA00000000 + + isa + PBXFileReference + name + MediaPlayer.swift + path + Sources/MediaPlayer.swift + sourceTree + SOURCE_ROOT + + 1DD70E297562429900000000 + + isa + PBXFileReference + name + MediaPlayerAudioRenderer.swift + path + Sources/MediaPlayerAudioRenderer.swift + sourceTree + SOURCE_ROOT + + 1DD70E29278A70A500000000 + + isa + PBXFileReference + name + MediaPlayerFramePreview.swift + path + Sources/MediaPlayerFramePreview.swift + sourceTree + SOURCE_ROOT + + 1DD70E29418A9CCC00000000 + + isa + PBXFileReference + name + MediaPlayerNode.swift + path + Sources/MediaPlayerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2954B5877100000000 + + isa + PBXFileReference + name + MediaPlayerScrubbingNode.swift + path + Sources/MediaPlayerScrubbingNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E297C2C290600000000 + + isa + PBXFileReference + name + MediaPlayerTimeTextNode.swift + path + Sources/MediaPlayerTimeTextNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D44508E800000000 + + isa + PBXFileReference + name + MediaTrackDecodableFrame.swift + path + Sources/MediaTrackDecodableFrame.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E00F93EB00000000 + + isa + PBXFileReference + name + MediaTrackFrame.swift + path + Sources/MediaTrackFrame.swift + sourceTree + SOURCE_ROOT + + 1DD70E296D87BFCB00000000 + + isa + PBXFileReference + name + MediaTrackFrameBuffer.swift + path + Sources/MediaTrackFrameBuffer.swift + sourceTree + SOURCE_ROOT + + 1DD70E2939C67FC300000000 + + isa + PBXFileReference + name + MediaTrackFrameDecoder.swift + path + Sources/MediaTrackFrameDecoder.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D0ED7CAA00000000 + + isa + PBXFileReference + name + RingBuffer.h + path + Sources/RingBuffer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D0ED7CAF00000000 + + isa + PBXFileReference + name + RingBuffer.m + path + Sources/RingBuffer.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29DA837A7D00000000 + + isa + PBXFileReference + name + RingByteBuffer.swift + path + Sources/RingByteBuffer.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C0373B9400000000 + + isa + PBXFileReference + name + SoftwareVideoSource.swift + path + Sources/SoftwareVideoSource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F48CD3C900000000 + + isa + PBXFileReference + name + UniversalSoftwareVideoSource.swift + path + Sources/UniversalSoftwareVideoSource.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B010DD700000000 + + isa + PBXFileReference + name + VideoPlayerProxy.swift + path + Sources/VideoPlayerProxy.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2959E87DCD00000000 + 1DD70E29DBC325CE00000000 + 1DD70E29234025AB00000000 + 1DD70E296DDC3B8400000000 + 1DD70E293390840200000000 + 1DD70E295E7AB7D800000000 + 1DD70E29AC5ED52900000000 + 1DD70E29342E922E00000000 + 1DD70E291A8AA6AA00000000 + 1DD70E297562429900000000 + 1DD70E29278A70A500000000 + 1DD70E29418A9CCC00000000 + 1DD70E2954B5877100000000 + 1DD70E297C2C290600000000 + 1DD70E29D44508E800000000 + 1DD70E29E00F93EB00000000 + 1DD70E296D87BFCB00000000 + 1DD70E2939C67FC300000000 + 1DD70E29D0ED7CAA00000000 + 1DD70E29D0ED7CAF00000000 + 1DD70E29DA837A7D00000000 + 1DD70E29C0373B9400000000 + 1DD70E29F48CD3C900000000 + 1DD70E298B010DD700000000 + + + B401C97977490CBA00000000 + + isa + PBXGroup + name + UniversalMediaPlayer + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97977490CBA00000000 + + + E7A30F0459E87DCD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2959E87DCD00000000 + + E7A30F04DBC325CE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DBC325CE00000000 + + E7A30F04234025AB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29234025AB00000000 + + E7A30F046DDC3B8400000000 + + isa + PBXBuildFile + fileRef + 1DD70E296DDC3B8400000000 + + E7A30F043390840200000000 + + isa + PBXBuildFile + fileRef + 1DD70E293390840200000000 + + E7A30F045E7AB7D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E295E7AB7D800000000 + + E7A30F04AC5ED52900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC5ED52900000000 + + E7A30F04342E922E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29342E922E00000000 + + E7A30F041A8AA6AA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291A8AA6AA00000000 + + E7A30F047562429900000000 + + isa + PBXBuildFile + fileRef + 1DD70E297562429900000000 + + E7A30F04278A70A500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29278A70A500000000 + + E7A30F04418A9CCC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29418A9CCC00000000 + + E7A30F0454B5877100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2954B5877100000000 + + E7A30F047C2C290600000000 + + isa + PBXBuildFile + fileRef + 1DD70E297C2C290600000000 + + E7A30F04D44508E800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D44508E800000000 + + E7A30F04E00F93EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E00F93EB00000000 + + E7A30F046D87BFCB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296D87BFCB00000000 + + E7A30F0439C67FC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2939C67FC300000000 + + E7A30F04D0ED7CAF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D0ED7CAF00000000 + + E7A30F04DA837A7D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DA837A7D00000000 + + E7A30F04C0373B9400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C0373B9400000000 + + E7A30F04F48CD3C900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F48CD3C900000000 + + E7A30F048B010DD700000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B010DD700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0459E87DCD00000000 + E7A30F04DBC325CE00000000 + E7A30F04234025AB00000000 + E7A30F046DDC3B8400000000 + E7A30F043390840200000000 + E7A30F045E7AB7D800000000 + E7A30F04AC5ED52900000000 + E7A30F04342E922E00000000 + E7A30F041A8AA6AA00000000 + E7A30F047562429900000000 + E7A30F04278A70A500000000 + E7A30F04418A9CCC00000000 + E7A30F0454B5877100000000 + E7A30F047C2C290600000000 + E7A30F04D44508E800000000 + E7A30F04E00F93EB00000000 + E7A30F046D87BFCB00000000 + E7A30F0439C67FC300000000 + E7A30F04D0ED7CAF00000000 + E7A30F04DA837A7D00000000 + E7A30F04C0373B9400000000 + E7A30F04F48CD3C900000000 + E7A30F048B010DD700000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E294E5A60BB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E290667B56500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2979FE60C700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E77490CBA00000000 + + isa + PBXNativeTarget + name + UniversalMediaPlayer + productName + UniversalMediaPlayer + productReference + 1DD70E2951398CF200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479349BA23C500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E77490CBA00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479349BA23C500000000 + + \ No newline at end of file diff --git a/submodules/MediaPlayer/MediaPlayer.xcodeproj/xcshareddata/xcschemes/MediaPlayer.xcscheme b/submodules/MediaPlayer/MediaPlayer.xcodeproj/xcshareddata/xcschemes/MediaPlayer.xcscheme new file mode 100644 index 0000000000..f5c9f1eae6 --- /dev/null +++ b/submodules/MediaPlayer/MediaPlayer.xcodeproj/xcshareddata/xcschemes/MediaPlayer.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MediaResources/BUCK b/submodules/MediaResources/BUCK new file mode 100644 index 0000000000..241434ac98 --- /dev/null +++ b/submodules/MediaResources/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MediaResources", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/MapKit.framework", + ], +) diff --git a/submodules/MediaResources/MediaResources.xcodeproj/project.pbxproj b/submodules/MediaResources/MediaResources.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..3e84c1439d --- /dev/null +++ b/submodules/MediaResources/MediaResources.xcodeproj/project.pbxproj @@ -0,0 +1,443 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D33EE3D400000000 + + isa + PBXFileReference + name + MediaResources-Debug.xcconfig + path + ../../buck-out/gen/submodules/MediaResources/MediaResources-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E437D63E00000000 + + isa + PBXFileReference + name + MediaResources-Profile.xcconfig + path + ../../buck-out/gen/submodules/MediaResources/MediaResources-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2957CE81A000000000 + + isa + PBXFileReference + name + MediaResources-Release.xcconfig + path + ../../buck-out/gen/submodules/MediaResources/MediaResources-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D33EE3D400000000 + 1DD70E29E437D63E00000000 + 1DD70E2957CE81A000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E290A9641DB00000000 + + isa + PBXFileReference + name + CachedResourceRepresentations.swift + path + Sources/CachedResourceRepresentations.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FFB9E42E00000000 + + isa + PBXFileReference + name + MapResources.swift + path + Sources/MapResources.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E290A9641DB00000000 + 1DD70E29FFB9E42E00000000 + + + B401C979ADABDAC100000000 + + isa + PBXGroup + name + MediaResources + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2936DE2CF900000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979ADABDAC100000000 + B401C979C806358400000000 + + + E7A30F040A9641DB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290A9641DB00000000 + + E7A30F04FFB9E42E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FFB9E42E00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F040A9641DB00000000 + E7A30F04FFB9E42E00000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D33EE3D400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29E437D63E00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2957CE81A000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EADABDAC100000000 + + isa + PBXNativeTarget + name + MediaResources + productName + MediaResources + productReference + 1DD70E2936DE2CF900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793ADABDAC100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EADABDAC100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793ADABDAC100000000 + + \ No newline at end of file diff --git a/submodules/MediaResources/MediaResources.xcodeproj/xcshareddata/xcschemes/MediaResources.xcscheme b/submodules/MediaResources/MediaResources.xcodeproj/xcshareddata/xcschemes/MediaResources.xcscheme new file mode 100644 index 0000000000..527c0360f2 --- /dev/null +++ b/submodules/MediaResources/MediaResources.xcodeproj/xcshareddata/xcschemes/MediaResources.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MergeLists/BUCK b/submodules/MergeLists/BUCK new file mode 100644 index 0000000000..813a560b49 --- /dev/null +++ b/submodules/MergeLists/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MergeLists", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/MergeLists/MergeLists.xcodeproj/project.pbxproj b/submodules/MergeLists/MergeLists.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7666ec892c --- /dev/null +++ b/submodules/MergeLists/MergeLists.xcodeproj/project.pbxproj @@ -0,0 +1,347 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2945B904B800000000 + + isa + PBXFileReference + name + MergeLists-Debug.xcconfig + path + ../../buck-out/gen/submodules/MergeLists/MergeLists-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A0AD4E2200000000 + + isa + PBXFileReference + name + MergeLists-Profile.xcconfig + path + ../../buck-out/gen/submodules/MergeLists/MergeLists-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291443F98400000000 + + isa + PBXFileReference + name + MergeLists-Release.xcconfig + path + ../../buck-out/gen/submodules/MergeLists/MergeLists-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2945B904B800000000 + 1DD70E29A0AD4E2200000000 + 1DD70E291443F98400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29D280749B00000000 + + isa + PBXFileReference + name + Identifiable.swift + path + Sources/Identifiable.swift + sourceTree + SOURCE_ROOT + + 1DD70E290C44BF4200000000 + + isa + PBXFileReference + name + MergeLists.swift + path + Sources/MergeLists.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29D280749B00000000 + 1DD70E290C44BF4200000000 + + + B401C97934B88E5D00000000 + + isa + PBXGroup + name + MergeLists + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29C37F741500000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97934B88E5D00000000 + B401C979C806358400000000 + + + E7A30F04D280749B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D280749B00000000 + + E7A30F040C44BF4200000000 + + isa + PBXBuildFile + fileRef + 1DD70E290C44BF4200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04D280749B00000000 + E7A30F040C44BF4200000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2945B904B800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A0AD4E2200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291443F98400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E34B88E5D00000000 + + isa + PBXNativeTarget + name + MergeLists + productName + MergeLists + productReference + 1DD70E29C37F741500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479334B88E5D00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E34B88E5D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479334B88E5D00000000 + + \ No newline at end of file diff --git a/submodules/MergeLists/MergeLists.xcodeproj/xcshareddata/xcschemes/MergeLists.xcscheme b/submodules/MergeLists/MergeLists.xcodeproj/xcshareddata/xcschemes/MergeLists.xcscheme new file mode 100644 index 0000000000..723b2c0134 --- /dev/null +++ b/submodules/MergeLists/MergeLists.xcodeproj/xcshareddata/xcschemes/MergeLists.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MessageReactionListUI/BUCK b/submodules/MessageReactionListUI/BUCK new file mode 100644 index 0000000000..ac7c739abf --- /dev/null +++ b/submodules/MessageReactionListUI/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MessageReactionListUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/MergeLists:MergeLists", + "//submodules/ItemListPeerItem:ItemListPeerItem", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/MessageReactionListUI/MessageReactionListUI.xcodeproj/project.pbxproj b/submodules/MessageReactionListUI/MessageReactionListUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f9aecafb96 --- /dev/null +++ b/submodules/MessageReactionListUI/MessageReactionListUI.xcodeproj/project.pbxproj @@ -0,0 +1,1081 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29ADE5417300000000 + + isa + PBXFileReference + name + MessageReactionListUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/MessageReactionListUI/MessageReactionListUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AEBD481D00000000 + + isa + PBXFileReference + name + MessageReactionListUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/MessageReactionListUI/MessageReactionListUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292253F37F00000000 + + isa + PBXFileReference + name + MessageReactionListUI-Release.xcconfig + path + ../../buck-out/gen/submodules/MessageReactionListUI/MessageReactionListUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29ADE5417300000000 + 1DD70E29AEBD481D00000000 + 1DD70E292253F37F00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E2997B4D6D800000000 + 1DD70E296C9831F100000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E299A24C4DE00000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E29AD66967300000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E298DEA121500000000 + + isa + PBXFileReference + name + MessageReactionCategoryNode.swift + path + Sources/MessageReactionCategoryNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C02D1D4F00000000 + + isa + PBXFileReference + name + MessageReactionListController.swift + path + Sources/MessageReactionListController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E298DEA121500000000 + 1DD70E29C02D1D4F00000000 + + + B401C979639FD30200000000 + + isa + PBXGroup + name + MessageReactionListUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29730E785000000000 + + isa + PBXFileReference + name + libMessageReactionListUI.a + path + libMessageReactionListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29730E785000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979639FD30200000000 + B401C979C806358400000000 + + + E7A30F048DEA121500000000 + + isa + PBXBuildFile + fileRef + 1DD70E298DEA121500000000 + + E7A30F04C02D1D4F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C02D1D4F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F048DEA121500000000 + E7A30F04C02D1D4F00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29ADE5417300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29AEBD481D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292253F37F00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E639FD30200000000 + + isa + PBXNativeTarget + name + MessageReactionListUI + productName + MessageReactionListUI + productReference + 1DD70E29730E785000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793639FD30200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E639FD30200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793639FD30200000000 + + \ No newline at end of file diff --git a/submodules/MessageReactionListUI/MessageReactionListUI.xcodeproj/xcshareddata/xcschemes/MessageReactionListUI.xcscheme b/submodules/MessageReactionListUI/MessageReactionListUI.xcodeproj/xcshareddata/xcschemes/MessageReactionListUI.xcscheme new file mode 100644 index 0000000000..230d2151ca --- /dev/null +++ b/submodules/MessageReactionListUI/MessageReactionListUI.xcodeproj/xcshareddata/xcschemes/MessageReactionListUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MimeTypes/BUCK b/submodules/MimeTypes/BUCK new file mode 100644 index 0000000000..8508f813b6 --- /dev/null +++ b/submodules/MimeTypes/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MimeTypes", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/MimeTypes.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/MimeTypes.h"]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/MimeTypes/MimeTypes.xcodeproj/project.pbxproj b/submodules/MimeTypes/MimeTypes.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..615b7564ac --- /dev/null +++ b/submodules/MimeTypes/MimeTypes.xcodeproj/project.pbxproj @@ -0,0 +1,343 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E297E7B999000000000 + + isa + PBXFileReference + name + MimeTypes-Debug.xcconfig + path + ../../buck-out/gen/submodules/MimeTypes/MimeTypes-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B31E0CFA00000000 + + isa + PBXFileReference + name + MimeTypes-Profile.xcconfig + path + ../../buck-out/gen/submodules/MimeTypes/MimeTypes-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2926B4B85C00000000 + + isa + PBXFileReference + name + MimeTypes-Release.xcconfig + path + ../../buck-out/gen/submodules/MimeTypes/MimeTypes-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E297E7B999000000000 + 1DD70E29B31E0CFA00000000 + 1DD70E2926B4B85C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29618227B500000000 + + isa + PBXFileReference + name + TGMimeTypeMap.h + path + Sources/TGMimeTypeMap.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29618227BA00000000 + + isa + PBXFileReference + name + TGMimeTypeMap.m + path + Sources/TGMimeTypeMap.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29618227B500000000 + 1DD70E29618227BA00000000 + + + B401C9796B29E48500000000 + + isa + PBXGroup + name + MimeTypes + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E295792E59300000000 + + isa + PBXFileReference + name + libMimeTypes.a + path + libMimeTypes.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E295792E59300000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9796B29E48500000000 + B401C979C806358400000000 + + + E7A30F04618227BA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29618227BA00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04618227BA00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E297E7B999000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B31E0CFA00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2926B4B85C00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6B29E48500000000 + + isa + PBXNativeTarget + name + MimeTypes + productName + MimeTypes + productReference + 1DD70E295792E59300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936B29E48500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6B29E48500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936B29E48500000000 + + \ No newline at end of file diff --git a/submodules/MimeTypes/MimeTypes.xcodeproj/xcshareddata/xcschemes/MimeTypes.xcscheme b/submodules/MimeTypes/MimeTypes.xcodeproj/xcshareddata/xcschemes/MimeTypes.xcscheme new file mode 100644 index 0000000000..4585b98ce4 --- /dev/null +++ b/submodules/MimeTypes/MimeTypes.xcodeproj/xcshareddata/xcschemes/MimeTypes.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MosaicLayout/BUCK b/submodules/MosaicLayout/BUCK new file mode 100644 index 0000000000..e28de70b95 --- /dev/null +++ b/submodules/MosaicLayout/BUCK @@ -0,0 +1,12 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MosaicLayout", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/MosaicLayout/MosaicLayout.xcodeproj/project.pbxproj b/submodules/MosaicLayout/MosaicLayout.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..0f5c085c0e --- /dev/null +++ b/submodules/MosaicLayout/MosaicLayout.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E290996E9C100000000 + + isa + PBXFileReference + name + MosaicLayout-Debug.xcconfig + path + ../../buck-out/gen/submodules/MosaicLayout/MosaicLayout-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E4A614EB00000000 + + isa + PBXFileReference + name + MosaicLayout-Profile.xcconfig + path + ../../buck-out/gen/submodules/MosaicLayout/MosaicLayout-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29583CC04D00000000 + + isa + PBXFileReference + name + MosaicLayout-Release.xcconfig + path + ../../buck-out/gen/submodules/MosaicLayout/MosaicLayout-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E290996E9C100000000 + 1DD70E29E4A614EB00000000 + 1DD70E29583CC04D00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B195C63400000000 + + isa + PBXFileReference + name + ChatMessageBubbleMosaicLayout.swift + path + Sources/ChatMessageBubbleMosaicLayout.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B195C63400000000 + + + B401C9796228587400000000 + + isa + PBXGroup + name + MosaicLayout + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E296BF0672C00000000 + + isa + PBXFileReference + name + libMosaicLayout.a + path + libMosaicLayout.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296BF0672C00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9796228587400000000 + B401C979C806358400000000 + + + E7A30F04B195C63400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B195C63400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B195C63400000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E290996E9C100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29E4A614EB00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29583CC04D00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6228587400000000 + + isa + PBXNativeTarget + name + MosaicLayout + productName + MosaicLayout + productReference + 1DD70E296BF0672C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936228587400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6228587400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936228587400000000 + + \ No newline at end of file diff --git a/submodules/MosaicLayout/MosaicLayout.xcodeproj/xcshareddata/xcschemes/MosaicLayout.xcscheme b/submodules/MosaicLayout/MosaicLayout.xcodeproj/xcshareddata/xcschemes/MosaicLayout.xcscheme new file mode 100644 index 0000000000..a65f5b00f5 --- /dev/null +++ b/submodules/MosaicLayout/MosaicLayout.xcodeproj/xcshareddata/xcschemes/MosaicLayout.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/MtProtoKit/BUCK b/submodules/MtProtoKit/BUCK index 2b928eddb2..9d5d6ad159 100644 --- a/submodules/MtProtoKit/BUCK +++ b/submodules/MtProtoKit/BUCK @@ -1,119 +1,111 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library", "framework") genrule( - name = 'openssl_libs', + name = "openssl_libs", srcs = [ - 'openssl/iOS/libcrypto.a', + "openssl/iOS/libcrypto.a", ], - bash = 'mkdir -p $OUT; cp $SRCS $OUT/', - out = 'openssl_libs', - visibility = [ - '//submodules/MtProtoKit:...', - ] + bash = "mkdir -p $OUT; cp $SRCS $OUT/", + out = "openssl_libs", + visibility = ["PUBLIC"] ) apple_library( - name = 'openssl', + name = "openssl", visibility = [ - '//submodules/MtProtoKit:MtProtoKit' + "//submodules/MtProtoKit:MtProtoKit" ], - header_namespace = 'openssl', + header_namespace = "openssl", exported_headers = glob([ - 'openssl/**/*.h', + "openssl/**/*.h", ]), exported_linker_flags = [ - '-lcrypto', - '-L$(location :openssl_libs)', + "-lcrypto", + "-L$(location :openssl_libs)", ], ) -apple_library( - name = 'MtProtoKit', +framework( + name = "MtProtoKit", srcs = glob([ - '*.m', - 'MtProtoKit/*.m', - 'thirdparty/AFNetworking/*.m', - 'thirdparty/AsyncSocket/*.m', + "*.m", + "MtProtoKit/*.m", + "thirdparty/AFNetworking/*.m", + "thirdparty/AsyncSocket/*.m", ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), headers = glob([ - '*.h', - 'MtProtoKit/*.h', - 'thirdparty/AFNetworking/*.h', - 'thirdparty/AsyncSocket/*.h', + "*.h", + "MtProtoKit/*.h", + "thirdparty/AFNetworking/*.h", + "thirdparty/AsyncSocket/*.h", ]), - header_namespace = 'MtProtoKit', exported_headers = [ - 'MtProtoKit/MTTime.h', - 'MtProtoKit/MTTimer.h', - 'MtProtoKit/MTLogging.h', - 'MtProtoKit/MTEncryption.h', - 'MtProtoKit/MTInternalId.h', - 'MtProtoKit/MTQueue.h', - 'MtProtoKit/MTOutputStream.h', - 'MtProtoKit/MTInputStream.h', - 'MtProtoKit/MTSerialization.h', - 'MtProtoKit/MTExportedAuthorizationData.h', - 'MtProtoKit/MTRpcError.h', - 'MtProtoKit/MTKeychain.h', - 'MtProtoKit/MTFileBasedKeychain.h', - 'MtProtoKit/MTContext.h', - 'MtProtoKit/MTTransportScheme.h', - 'MtProtoKit/MTDatacenterTransferAuthAction.h', - 'MtProtoKit/MTDatacenterAuthAction.h', - 'MtProtoKit/MTDatacenterAuthMessageService.h', - 'MtProtoKit/MTDatacenterAddress.h', - 'MtProtoKit/MTDatacenterAddressSet.h', - 'MtProtoKit/MTDatacenterAuthInfo.h', - 'MtProtoKit/MTDatacenterSaltInfo.h', - 'MtProtoKit/MTDatacenterAddressListData.h', - 'MtProtoKit/MTProto.h', - 'MtProtoKit/MTSessionInfo.h', - 'MtProtoKit/MTTimeFixContext.h', - 'MtProtoKit/MTPreparedMessage.h', - 'MtProtoKit/MTOutgoingMessage.h', - 'MtProtoKit/MTIncomingMessage.h', - 'MtProtoKit/MTMessageEncryptionKey.h', - 'MtProtoKit/MTMessageService.h', - 'MtProtoKit/MTMessageTransaction.h', - 'MtProtoKit/MTTimeSyncMessageService.h', - 'MtProtoKit/MTRequestMessageService.h', - 'MtProtoKit/MTRequest.h', - 'MtProtoKit/MTRequestContext.h', - 'MtProtoKit/MTRequestErrorContext.h', - 'MtProtoKit/MTDropResponseContext.h', - 'MtProtoKit/MTApiEnvironment.h', - 'MtProtoKit/MTResendMessageService.h', - 'MtProtoKit/MTNetworkAvailability.h', - 'MtProtoKit/MTTransport.h', - 'MtProtoKit/MTTransportTransaction.h', - 'MtProtoKit/MTTcpTransport.h', - 'MtProtoKit/MTHttpRequestOperation.h', - 'MTAtomic.h', - 'MTBag.h', - 'MTDisposable.h', - 'MTSubscriber.h', - 'MTSignal.h', - 'MTNetworkUsageCalculationInfo.h', - 'MTNetworkUsageManager.h', - 'MTBackupAddressSignals.h', - 'thirdparty/AFNetworking/AFURLConnectionOperation.h', - 'thirdparty/AFNetworking/AFHTTPRequestOperation.h', - 'MTProxyConnectivity.h', - 'MTGzip.h', - 'MTDatacenterVerificationData.h', - 'MTPKCS.h', + "MtProtoKit/MTTime.h", + "MtProtoKit/MTTimer.h", + "MtProtoKit/MTLogging.h", + "MtProtoKit/MTEncryption.h", + "MtProtoKit/MTInternalId.h", + "MtProtoKit/MTQueue.h", + "MtProtoKit/MTOutputStream.h", + "MtProtoKit/MTInputStream.h", + "MtProtoKit/MTSerialization.h", + "MtProtoKit/MTExportedAuthorizationData.h", + "MtProtoKit/MTRpcError.h", + "MtProtoKit/MTKeychain.h", + "MtProtoKit/MTFileBasedKeychain.h", + "MtProtoKit/MTContext.h", + "MtProtoKit/MTTransportScheme.h", + "MtProtoKit/MTDatacenterTransferAuthAction.h", + "MtProtoKit/MTDatacenterAuthAction.h", + "MtProtoKit/MTDatacenterAuthMessageService.h", + "MtProtoKit/MTDatacenterAddress.h", + "MtProtoKit/MTDatacenterAddressSet.h", + "MtProtoKit/MTDatacenterAuthInfo.h", + "MtProtoKit/MTDatacenterSaltInfo.h", + "MtProtoKit/MTDatacenterAddressListData.h", + "MtProtoKit/MTProto.h", + "MtProtoKit/MTSessionInfo.h", + "MtProtoKit/MTTimeFixContext.h", + "MtProtoKit/MTPreparedMessage.h", + "MtProtoKit/MTOutgoingMessage.h", + "MtProtoKit/MTIncomingMessage.h", + "MtProtoKit/MTMessageEncryptionKey.h", + "MtProtoKit/MTMessageService.h", + "MtProtoKit/MTMessageTransaction.h", + "MtProtoKit/MTTimeSyncMessageService.h", + "MtProtoKit/MTRequestMessageService.h", + "MtProtoKit/MTRequest.h", + "MtProtoKit/MTRequestContext.h", + "MtProtoKit/MTRequestErrorContext.h", + "MtProtoKit/MTDropResponseContext.h", + "MtProtoKit/MTApiEnvironment.h", + "MtProtoKit/MTResendMessageService.h", + "MtProtoKit/MTNetworkAvailability.h", + "MtProtoKit/MTTransport.h", + "MtProtoKit/MTTransportTransaction.h", + "MtProtoKit/MTTcpTransport.h", + "MtProtoKit/MTHttpRequestOperation.h", + "MTAtomic.h", + "MTBag.h", + "MTDisposable.h", + "MTSubscriber.h", + "MTSignal.h", + "MTNetworkUsageCalculationInfo.h", + "MTNetworkUsageManager.h", + "MTBackupAddressSignals.h", + "thirdparty/AFNetworking/AFURLConnectionOperation.h", + "thirdparty/AFNetworking/AFHTTPRequestOperation.h", + "MTProxyConnectivity.h", + "MTGzip.h", + "MTDatacenterVerificationData.h", + "MTPKCS.h", ], - modular = True, - compiler_flags = ['-w'], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], + visibility = ["PUBLIC"], deps = [ - ':openssl', + ":openssl", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/Security.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/Security.framework", ], ) diff --git a/submodules/MtProtoKit/Info.plist b/submodules/MtProtoKit/Info.plist new file mode 100644 index 0000000000..d3de8eefb6 --- /dev/null +++ b/submodules/MtProtoKit/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/submodules/MtProtoKit/MTDiscoverConnectionSignals.m b/submodules/MtProtoKit/MTDiscoverConnectionSignals.m index a426fdb822..dd4b304e12 100644 --- a/submodules/MtProtoKit/MTDiscoverConnectionSignals.m +++ b/submodules/MtProtoKit/MTDiscoverConnectionSignals.m @@ -1,39 +1,18 @@ #import "MTDiscoverConnectionSignals.h" #import "MTTcpConnection.h" - -#if defined(MtProtoKitDynamicFramework) -# import -# import -# import -# import -#elif defined(MtProtoKitMacFramework) -# import -# import -# import -# import -#else -# import -# import -# import -# import -#endif +#import "MTTransportScheme.h" +#import "MTTcpTransport.h" +#import "MTQueue.h" #import "MTDatacenterAddress.h" -#if defined(MtProtoKitDynamicFramework) -# import -# import -# import -#elif defined(MtProtoKitMacFramework) -# import -# import -# import -#else -# import -# import -# import -#endif +#import "MTDisposable.h" +#import "MTSignal.h" +#import "MTAtomic.h" +#import "MTContext.h" +#import "MTApiEnvironment.h" +#import "MTLogging.h" #import #import diff --git a/submodules/MtProtoKit/MTProtoKit/MTApiEnvironment.m b/submodules/MtProtoKit/MTProtoKit/MTApiEnvironment.m index fe5777904a..7aa3215878 100644 --- a/submodules/MtProtoKit/MTProtoKit/MTApiEnvironment.m +++ b/submodules/MtProtoKit/MTProtoKit/MTApiEnvironment.m @@ -740,12 +740,6 @@ NSString *suffix = @""; if ([platform hasPrefix:@"iPad"]) return UIDeviceUnknowniPad; if ([platform hasPrefix:@"AppleTV"]) return UIDeviceUnknownAppleTV; -#define IPAD_PRO_3G_NAMESTRING @"iPad Pro 12.9 (3rd gen)" -#define IPAD_PRO_11_NAMESTRING @"iPad Pro 11" -#define IPAD_PRO_6G_NAMESTRING @"iPad (6th gen)" -#define IPAD_PRO_10_5_NAMESTRING @"iPad Pro 10.5" -#define IPAD_PRO_12_9_NAMESTRING @"iPad Pro 12.9" - // Simulator thanks Jordan Breeding if ([platform hasSuffix:@"86"] || [platform isEqual:@"x86_64"]) { diff --git a/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m b/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m index 3dacdf6833..6844afa0b2 100644 --- a/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m +++ b/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m @@ -20,17 +20,8 @@ #import "MTAes.h" #import "MTEncryption.h" - -#if defined(MtProtoKitDynamicFramework) -# import -# import -#elif defined(MtProtoKitMacFramework) -# import -# import -#else -# import -# import -#endif +#import "MTSignal.h" +#import "MTDNS.h" #import diff --git a/submodules/MtProtoKit/MTProxyConnectivity.m b/submodules/MtProtoKit/MTProxyConnectivity.m index 72bb7358b5..4db36644b7 100644 --- a/submodules/MtProtoKit/MTProxyConnectivity.m +++ b/submodules/MtProtoKit/MTProxyConnectivity.m @@ -1,34 +1,13 @@ #import "MTProxyConnectivity.h" -#if defined(MtProtoKitDynamicFramework) -# import -# import -# import -# import -# import -# import -# import -# import -#elif defined(MtProtoKitMacFramework) -# import -# import -# import -# import -# import -# import -# import -# import -#else -# import -# import -# import -# import -# import -# import -# import -# import -#endif - +#import "MTSignal.h" +#import "MTQueue.h" +#import "MTContext.h" +#import "MTApiEnvironment.h" +#import "MTDatacenterAddressSet.h" +#import "MTDatacenterAddress.h" +#import "MTTcpConnection.h" +#import "MTTransportScheme.h" #import "MTDiscoverConnectionSignals.h" @implementation MTProxyConnectivityStatus diff --git a/submodules/MtProtoKit/MTSignal.m b/submodules/MtProtoKit/MTSignal.m index 40b909bd91..3f273bf34b 100644 --- a/submodules/MtProtoKit/MTSignal.m +++ b/submodules/MtProtoKit/MTSignal.m @@ -1,14 +1,10 @@ #import "MTSignal.h" -#if defined(MtProtoKitDynamicFramework) -# import -#elif defined(MtProtoKitMacFramework) -# import -#else -# import -#endif - #import +#import "MTTimer.h" +#import "MTQueue.h" +#import "MTAtomic.h" +#import "MTBag.h" @interface MTSubscriberDisposable : NSObject { diff --git a/submodules/MusicAlbumArtResources/BUCK b/submodules/MusicAlbumArtResources/BUCK new file mode 100644 index 0000000000..a629cbb528 --- /dev/null +++ b/submodules/MusicAlbumArtResources/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MusicAlbumArtResources", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/UrlEscaping:UrlEscaping", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/MusicAlbumArtResources/MusicAlbumArtResources.xcodeproj/project.pbxproj b/submodules/MusicAlbumArtResources/MusicAlbumArtResources.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5269186735 --- /dev/null +++ b/submodules/MusicAlbumArtResources/MusicAlbumArtResources.xcodeproj/project.pbxproj @@ -0,0 +1,445 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E297B283BA900000000 + + isa + PBXFileReference + name + MusicAlbumArtResources-Debug.xcconfig + path + ../../buck-out/gen/submodules/MusicAlbumArtResources/MusicAlbumArtResources-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29372A8CD300000000 + + isa + PBXFileReference + name + MusicAlbumArtResources-Profile.xcconfig + path + ../../buck-out/gen/submodules/MusicAlbumArtResources/MusicAlbumArtResources-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AAC1383500000000 + + isa + PBXFileReference + name + MusicAlbumArtResources-Release.xcconfig + path + ../../buck-out/gen/submodules/MusicAlbumArtResources/MusicAlbumArtResources-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E297B283BA900000000 + 1DD70E29372A8CD300000000 + 1DD70E29AAC1383500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29D845CE9C00000000 + + isa + PBXFileReference + name + ExternalMusicAlbumArtResources.swift + path + Sources/ExternalMusicAlbumArtResources.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29D845CE9C00000000 + + + B401C9796C6A738C00000000 + + isa + PBXGroup + name + MusicAlbumArtResources + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29866F6A0400000000 + + isa + PBXFileReference + name + libMusicAlbumArtResources.a + path + libMusicAlbumArtResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29866F6A0400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9796C6A738C00000000 + B401C979C806358400000000 + + + E7A30F04D845CE9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D845CE9C00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04D845CE9C00000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F04597BAFBB00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E297B283BA900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29372A8CD300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AAC1383500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6C6A738C00000000 + + isa + PBXNativeTarget + name + MusicAlbumArtResources + productName + MusicAlbumArtResources + productReference + 1DD70E29866F6A0400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936C6A738C00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6C6A738C00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936C6A738C00000000 + + \ No newline at end of file diff --git a/submodules/MusicAlbumArtResources/MusicAlbumArtResources.xcodeproj/xcshareddata/xcschemes/MusicAlbumArtResources.xcscheme b/submodules/MusicAlbumArtResources/MusicAlbumArtResources.xcodeproj/xcshareddata/xcschemes/MusicAlbumArtResources.xcscheme new file mode 100644 index 0000000000..47b0631ea7 --- /dev/null +++ b/submodules/MusicAlbumArtResources/MusicAlbumArtResources.xcodeproj/xcshareddata/xcschemes/MusicAlbumArtResources.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/NotificationMuteSettingsUI/BUCK b/submodules/NotificationMuteSettingsUI/BUCK new file mode 100644 index 0000000000..d6fbaed0d6 --- /dev/null +++ b/submodules/NotificationMuteSettingsUI/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "NotificationMuteSettingsUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI.xcodeproj/project.pbxproj b/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..ca4acff5f5 --- /dev/null +++ b/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI.xcodeproj/project.pbxproj @@ -0,0 +1,599 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D88DE07A00000000 + + isa + PBXFileReference + name + NotificationMuteSettingsUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D1BA416400000000 + + isa + PBXFileReference + name + NotificationMuteSettingsUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294550ECC600000000 + + isa + PBXFileReference + name + NotificationMuteSettingsUI-Release.xcconfig + path + ../../buck-out/gen/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D88DE07A00000000 + 1DD70E29D1BA416400000000 + 1DD70E294550ECC600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299001016800000000 + + isa + PBXFileReference + name + NotificationMuteSettingsController.swift + path + Sources/NotificationMuteSettingsController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299001016800000000 + + + B401C979FA93E6DB00000000 + + isa + PBXGroup + name + NotificationMuteSettingsUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E298ED1FB1300000000 + + isa + PBXFileReference + name + libNotificationMuteSettingsUI.a + path + libNotificationMuteSettingsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E298ED1FB1300000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979FA93E6DB00000000 + B401C979C806358400000000 + + + E7A30F049001016800000000 + + isa + PBXBuildFile + fileRef + 1DD70E299001016800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049001016800000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04119CDA0700000000 + E7A30F04D65BA68200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D88DE07A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D1BA416400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294550ECC600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EFA93E6DB00000000 + + isa + PBXNativeTarget + name + NotificationMuteSettingsUI + productName + NotificationMuteSettingsUI + productReference + 1DD70E298ED1FB1300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793FA93E6DB00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EFA93E6DB00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793FA93E6DB00000000 + + \ No newline at end of file diff --git a/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI.xcodeproj/xcshareddata/xcschemes/NotificationMuteSettingsUI.xcscheme b/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI.xcodeproj/xcshareddata/xcschemes/NotificationMuteSettingsUI.xcscheme new file mode 100644 index 0000000000..0a89a6cc7e --- /dev/null +++ b/submodules/NotificationMuteSettingsUI/NotificationMuteSettingsUI.xcodeproj/xcshareddata/xcschemes/NotificationMuteSettingsUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/NotificationSoundSelectionUI/BUCK b/submodules/NotificationSoundSelectionUI/BUCK new file mode 100644 index 0000000000..8f391af75a --- /dev/null +++ b/submodules/NotificationSoundSelectionUI/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "NotificationSoundSelectionUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ItemListUI:ItemListUI", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", + ], +) diff --git a/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI.xcodeproj/project.pbxproj b/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5ca0d0bd9f --- /dev/null +++ b/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI.xcodeproj/project.pbxproj @@ -0,0 +1,929 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2934BD657900000000 + + isa + PBXFileReference + name + NotificationSoundSelectionUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E01C82A300000000 + + isa + PBXFileReference + name + NotificationSoundSelectionUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2953B32E0500000000 + + isa + PBXFileReference + name + NotificationSoundSelectionUI-Release.xcconfig + path + ../../buck-out/gen/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2934BD657900000000 + 1DD70E29E01C82A300000000 + 1DD70E2953B32E0500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2969AB2FCD00000000 + + isa + PBXFileReference + name + NotificationSoundSelection.swift + path + Sources/NotificationSoundSelection.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2969AB2FCD00000000 + + + B401C9796080E3BC00000000 + + isa + PBXGroup + name + NotificationSoundSelectionUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E2937C1167400000000 + + isa + PBXFileReference + name + libNotificationSoundSelectionUI.a + path + libNotificationSoundSelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2937C1167400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9796080E3BC00000000 + B401C979C806358400000000 + + + E7A30F0469AB2FCD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2969AB2FCD00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0469AB2FCD00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2934BD657900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29E01C82A300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2953B32E0500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6080E3BC00000000 + + isa + PBXNativeTarget + name + NotificationSoundSelectionUI + productName + NotificationSoundSelectionUI + productReference + 1DD70E2937C1167400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936080E3BC00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6080E3BC00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936080E3BC00000000 + + \ No newline at end of file diff --git a/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI.xcodeproj/xcshareddata/xcschemes/NotificationSoundSelectionUI.xcscheme b/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI.xcodeproj/xcshareddata/xcschemes/NotificationSoundSelectionUI.xcscheme new file mode 100644 index 0000000000..8056c746fa --- /dev/null +++ b/submodules/NotificationSoundSelectionUI/NotificationSoundSelectionUI.xcodeproj/xcshareddata/xcschemes/NotificationSoundSelectionUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/NotificationSoundSelectionUI/Sources/NotificationSoundSelection.swift b/submodules/NotificationSoundSelectionUI/Sources/NotificationSoundSelection.swift index 4bf28ff8ca..67474328ac 100644 --- a/submodules/NotificationSoundSelectionUI/Sources/NotificationSoundSelection.swift +++ b/submodules/NotificationSoundSelectionUI/Sources/NotificationSoundSelection.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import ItemListUI import AccountContext import TelegramStringFormatting +import AppBundle private struct NotificationSoundSelectionArguments { let account: Account @@ -223,7 +224,7 @@ public func playSound(context: AccountContext, sound: PeerMessageSound, defaultS var deactivateImpl: (() -> Void)? let session = context.sharedContext.mediaManager.audioSession.push(audioSessionType: .play, activate: { _ in Queue.mainQueue().async { - if let url = Bundle.main.url(forResource: fileNameForNotificationSound(sound, defaultSound: defaultSound), withExtension: "m4a") { + if let url = getAppBundle().url(forResource: fileNameForNotificationSound(sound, defaultSound: defaultSound), withExtension: "m4a") { currentPlayer = AudioPlayerWrapper(url: url, completed: { deactivateImpl?() }) diff --git a/submodules/OpenInExternalAppUI/BUCK b/submodules/OpenInExternalAppUI/BUCK new file mode 100644 index 0000000000..6022b3bef3 --- /dev/null +++ b/submodules/OpenInExternalAppUI/BUCK @@ -0,0 +1,26 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "OpenInExternalAppUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/PhotoResources:PhotoResources", + "//submodules/UrlEscaping:UrlEscaping", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + "$SDKROOT/System/Library/Frameworks/MapKit.framework", + ], +) diff --git a/submodules/OpenInExternalAppUI/OpenInExternalAppUI.xcodeproj/project.pbxproj b/submodules/OpenInExternalAppUI/OpenInExternalAppUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..88224d5764 --- /dev/null +++ b/submodules/OpenInExternalAppUI/OpenInExternalAppUI.xcodeproj/project.pbxproj @@ -0,0 +1,881 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2946B99CDA00000000 + + isa + PBXFileReference + name + OpenInExternalAppUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/OpenInExternalAppUI/OpenInExternalAppUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2963E865C400000000 + + isa + PBXFileReference + name + OpenInExternalAppUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/OpenInExternalAppUI/OpenInExternalAppUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D77F112600000000 + + isa + PBXFileReference + name + OpenInExternalAppUI-Release.xcconfig + path + ../../buck-out/gen/submodules/OpenInExternalAppUI/OpenInExternalAppUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2946B99CDA00000000 + 1DD70E2963E865C400000000 + 1DD70E29D77F112600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29BC094D7B00000000 + + isa + PBXFileReference + name + OpenInActionSheetController.swift + path + Sources/OpenInActionSheetController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DAE6437F00000000 + + isa + PBXFileReference + name + OpenInAppIconResources.swift + path + Sources/OpenInAppIconResources.swift + sourceTree + SOURCE_ROOT + + 1DD70E298AC3E5D400000000 + + isa + PBXFileReference + name + OpenInOptions.swift + path + Sources/OpenInOptions.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29BC094D7B00000000 + 1DD70E29DAE6437F00000000 + 1DD70E298AC3E5D400000000 + + + B401C97911B2F67B00000000 + + isa + PBXGroup + name + OpenInExternalAppUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AF00DC4900000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97911B2F67B00000000 + B401C979C806358400000000 + + + E7A30F04BC094D7B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BC094D7B00000000 + + E7A30F04DAE6437F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DAE6437F00000000 + + E7A30F048AC3E5D400000000 + + isa + PBXBuildFile + fileRef + 1DD70E298AC3E5D400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04BC094D7B00000000 + E7A30F04DAE6437F00000000 + E7A30F048AC3E5D400000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2946B99CDA00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2963E865C400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29D77F112600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E11B2F67B00000000 + + isa + PBXNativeTarget + name + OpenInExternalAppUI + productName + OpenInExternalAppUI + productReference + 1DD70E29AF00DC4900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479311B2F67B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E11B2F67B00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479311B2F67B00000000 + + \ No newline at end of file diff --git a/submodules/OpenInExternalAppUI/OpenInExternalAppUI.xcodeproj/xcshareddata/xcschemes/OpenInExternalAppUI.xcscheme b/submodules/OpenInExternalAppUI/OpenInExternalAppUI.xcodeproj/xcshareddata/xcschemes/OpenInExternalAppUI.xcscheme new file mode 100644 index 0000000000..1f900b3f79 --- /dev/null +++ b/submodules/OpenInExternalAppUI/OpenInExternalAppUI.xcodeproj/xcshareddata/xcschemes/OpenInExternalAppUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/OpenInExternalAppUI/OpenInExternalAppUI_Xcode.xcodeproj/project.pbxproj b/submodules/OpenInExternalAppUI/OpenInExternalAppUI_Xcode.xcodeproj/project.pbxproj index e0469f8a62..ed93bc31ae 100644 --- a/submodules/OpenInExternalAppUI/OpenInExternalAppUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/OpenInExternalAppUI/OpenInExternalAppUI_Xcode.xcodeproj/project.pbxproj @@ -24,7 +24,7 @@ D0C9C4352300D6B500FAB518 /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C4342300D6B500FAB518 /* PhotoResources.framework */; }; D0C9C4372300D6C100FAB518 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C4362300D6C000FAB518 /* CoreLocation.framework */; }; D0C9C4392300D6C400FAB518 /* UrlEscaping.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C4382300D6C400FAB518 /* UrlEscaping.framework */; }; - D0C9C43F2300D75500FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C43E2300D75500FAB518 /* FrameworkBundle.swift */; }; + D0EFF25A2319813400CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2592319813400CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -47,7 +47,7 @@ D0C9C4342300D6B500FAB518 /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C4362300D6C000FAB518 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; D0C9C4382300D6C400FAB518 /* UrlEscaping.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = UrlEscaping.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C43E2300D75500FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF2592319813400CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -55,6 +55,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF25A2319813400CF5164 /* AppBundle.framework in Frameworks */, D0C9C4392300D6C400FAB518 /* UrlEscaping.framework in Frameworks */, D0C9C4372300D6C100FAB518 /* CoreLocation.framework in Frameworks */, D0C9C4352300D6B500FAB518 /* PhotoResources.framework in Frameworks */, @@ -98,7 +99,6 @@ D0C9C41A2300D67800FAB518 /* OpenInActionSheetController.swift */, D0C9C41B2300D67800FAB518 /* OpenInAppIconResources.swift */, D0C9C4192300D67800FAB518 /* OpenInOptions.swift */, - D0C9C43E2300D75500FAB518 /* FrameworkBundle.swift */, D0C9C40D2300D60C00FAB518 /* OpenInExternalAppUI.h */, ); path = Sources; @@ -107,6 +107,7 @@ D0C9C41F2300D68A00FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2592319813400CF5164 /* AppBundle.framework */, D0C9C4382300D6C400FAB518 /* UrlEscaping.framework */, D0C9C4362300D6C000FAB518 /* CoreLocation.framework */, D0C9C4342300D6B500FAB518 /* PhotoResources.framework */, @@ -204,7 +205,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0C9C43F2300D75500FAB518 /* FrameworkBundle.swift in Sources */, D0C9C41D2300D67800FAB518 /* OpenInActionSheetController.swift in Sources */, D0C9C41C2300D67800FAB518 /* OpenInOptions.swift in Sources */, D0C9C41E2300D67800FAB518 /* OpenInAppIconResources.swift in Sources */, diff --git a/submodules/OpenInExternalAppUI/Sources/FrameworkBundle.swift b/submodules/OpenInExternalAppUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/OpenInExternalAppUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/OpenInExternalAppUI/Sources/OpenInActionSheetController.swift b/submodules/OpenInExternalAppUI/Sources/OpenInActionSheetController.swift index 2b59aa3d95..900de7cdab 100644 --- a/submodules/OpenInExternalAppUI/Sources/OpenInActionSheetController.swift +++ b/submodules/OpenInExternalAppUI/Sources/OpenInActionSheetController.swift @@ -9,6 +9,7 @@ import MapKit import TelegramPresentationData import AccountContext import PhotoResources +import AppBundle public struct OpenInControllerAction { public let title: String diff --git a/submodules/Opus/BUCK b/submodules/Opus/BUCK new file mode 100644 index 0000000000..13c082a367 --- /dev/null +++ b/submodules/Opus/BUCK @@ -0,0 +1,41 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +genrule( + name = "opus_lib_file", + visibility = [ + "//submodules/Opus:..." + ], + srcs = [ + "Sources/opus/lib/libopus.a", + ], + bash = "mkdir -p $OUT; cp $SRCS $OUT/", + out = "opus_lib_file", +) + +apple_library( + name = "opus_lib", + visibility = [ + "//submodules/Opus:..." + ], + header_namespace = "opus", + exported_headers = glob([ + "Sources/**/*.h", + ]), + exported_linker_flags = [ + "-lopus", + "-L$(location :opus_lib_file)", + ], +) + +static_library( + name = "opus", + srcs = glob([ + "Sources/**/*.swift", + ]), + exported_headers = glob([ + "Sources/**/*.h", + ]), + deps = [ + ":opus_lib", + ], +) diff --git a/submodules/Opus/Opus.xcodeproj/project.pbxproj b/submodules/Opus/Opus.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e212539253 --- /dev/null +++ b/submodules/Opus/Opus.xcodeproj/project.pbxproj @@ -0,0 +1,701 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29053E2A9600000000 + + isa + PBXFileReference + name + opus-Debug.xcconfig + path + ../../buck-out/gen/submodules/Opus/opus-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299380748000000000 + + isa + PBXFileReference + name + opus-Profile.xcconfig + path + ../../buck-out/gen/submodules/Opus/opus-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2907171FE200000000 + + isa + PBXFileReference + name + opus-Release.xcconfig + path + ../../buck-out/gen/submodules/Opus/opus-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292B48FB9000000000 + + isa + PBXFileReference + name + opus_lib-Debug.xcconfig + path + ../../buck-out/gen/submodules/Opus/opus_lib-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29621AEEFA00000000 + + isa + PBXFileReference + name + opus_lib-Profile.xcconfig + path + ../../buck-out/gen/submodules/Opus/opus_lib-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D5B19A5C00000000 + + isa + PBXFileReference + name + opus_lib-Release.xcconfig + path + ../../buck-out/gen/submodules/Opus/opus_lib-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29053E2A9600000000 + 1DD70E299380748000000000 + 1DD70E2907171FE200000000 + 1DD70E292B48FB9000000000 + 1DD70E29621AEEFA00000000 + 1DD70E29D5B19A5C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292C28053700000000 + + isa + PBXFileReference + name + libopus.a + path + Sources/opus/lib/libopus.a + sourceTree + SOURCE_ROOT + explicitFileType + archive.ar + + B401C9790001A28500000000 + + isa + PBXGroup + name + lib + sourceTree + ]]> + children + + 1DD70E292C28053700000000 + + + B401C9790034283F00000000 + + isa + PBXGroup + name + opus + sourceTree + ]]> + children + + B401C9790001A28500000000 + + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C9790034283F00000000 + + + B401C979048F8EF000000000 + + isa + PBXGroup + name + Other + sourceTree + ]]> + children + + B401C979EAB5339800000000 + + + 1DD70E292C28053700000001 + + isa + PBXFileReference + name + libopus.a + path + libopus.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29760E3B7D00000000 + + isa + PBXFileReference + name + libopus_lib.a + path + libopus_lib.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292C28053700000001 + 1DD70E29760E3B7D00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C3CB1A7900000000 + + isa + PBXFileReference + name + opus.h + path + Sources/opus/opus.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C9790034283F00000002 + + isa + PBXGroup + name + opus + path + Sources/opus + sourceTree + SOURCE_ROOT + children + + 1DD70E29C3CB1A7900000000 + + + 1DD70E290A635E1200000000 + + isa + PBXFileReference + name + opus_defines.h + path + Sources/opus_defines.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299AA921B300000000 + + isa + PBXFileReference + name + opus_multistream.h + path + Sources/opus_multistream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EC8C588900000000 + + isa + PBXFileReference + name + opus_projection.h + path + Sources/opus_projection.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29141A443300000000 + + isa + PBXFileReference + name + opus_types.h + path + Sources/opus_types.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000001 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C9790034283F00000002 + 1DD70E290A635E1200000000 + 1DD70E299AA921B300000000 + 1DD70E29EC8C588900000000 + 1DD70E29141A443300000000 + + + B401C9790034283F00000001 + + isa + PBXGroup + name + opus + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000001 + + + 1DD70E29001F47FB00000001 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C3CB1A7900000001 + + isa + PBXFileReference + name + opus.h + path + Sources/opus/opus.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C9790034283F00000003 + + isa + PBXGroup + name + opus + path + Sources/opus + sourceTree + SOURCE_ROOT + children + + 1DD70E29C3CB1A7900000001 + + + 1DD70E290A635E1200000001 + + isa + PBXFileReference + name + opus_defines.h + path + Sources/opus_defines.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299AA921B300000001 + + isa + PBXFileReference + name + opus_multistream.h + path + Sources/opus_multistream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EC8C588900000001 + + isa + PBXFileReference + name + opus_projection.h + path + Sources/opus_projection.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29141A443300000001 + + isa + PBXFileReference + name + opus_types.h + path + Sources/opus_types.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000002 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C9790034283F00000003 + 1DD70E290A635E1200000001 + 1DD70E299AA921B300000001 + 1DD70E29EC8C588900000001 + 1DD70E29141A443300000001 + + + B401C979FD84C28500000000 + + isa + PBXGroup + name + opus_lib + sourceTree + ]]> + children + + 1DD70E29001F47FB00000001 + B401C979EAB5339800000002 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979048F8EF000000000 + B401C979C806358400000000 + B401C9790034283F00000001 + B401C979FD84C28500000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29053E2A9600000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E299380748000000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2907171FE200000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0034283F00000000 + + isa + PBXNativeTarget + name + opus + productName + opus + productReference + 1DD70E292C28053700000001 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E292B48FB9000000000 + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29621AEEFA00000000 + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29D5B19A5C00000000 + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + E66DC04EFD84C28500000000 + + isa + PBXNativeTarget + name + opus_lib + productName + opus_lib + productReference + 1DD70E29760E3B7D00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + + buildConfigurationList + 218C37090000000000000001 + + 4952437303EDA63300000002 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000002 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000002 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000002 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000002 + 4952437350C7218900000002 + 49524373A439BFE700000002 + + defaultConfigurationIsVisible + + + 96C8479300259C5F00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0034283F00000000 + E66DC04EFD84C28500000000 + + buildConfigurationList + 218C37090000000000000002 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479300259C5F00000000 + + \ No newline at end of file diff --git a/submodules/Opus/Opus.xcodeproj/xcshareddata/xcschemes/Opus.xcscheme b/submodules/Opus/Opus.xcodeproj/xcshareddata/xcschemes/Opus.xcscheme new file mode 100644 index 0000000000..c14453adb6 --- /dev/null +++ b/submodules/Opus/Opus.xcodeproj/xcshareddata/xcschemes/Opus.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/OpusBinding/BUCK b/submodules/OpusBinding/BUCK new file mode 100644 index 0000000000..acebbafd3c --- /dev/null +++ b/submodules/OpusBinding/BUCK @@ -0,0 +1,34 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "OpusBinding", + srcs = glob([ + "Sources/**/*.m", + "Sources/**/*.c", + ]), + headers = { + "ogg/ogg.h": "Sources/ogg/ogg.h", + "ogg/os_types.h": "Sources/ogg/os_types.h", + "OggOpusReader.h": "Sources/OggOpusReader.h", + "TGDataItem.h": "Sources/TGDataItem.h", + "TGOggOpusWriter.h": "Sources/TGOggOpusWriter.h", + "opusenc/diag_range.h": "Sources/opusenc/diag_range.h", + "opusenc/opus_header.h": "Sources/opusenc/opus_header.h", + "opusenc/picture.h": "Sources/opusenc/picture.h", + "opusenc/wav_io.h": "Sources/opusenc/wav_io.h", + "opusfile/internal.h": "Sources/opusfile/internal.h", + "OpusBinding/opusfile.h": "Sources/opusfile/opusfile.h", + }, + exported_headers = [ + "Sources/TGDataItem.h", + "Sources/TGOggOpusWriter.h", + "Sources/OggOpusReader.h", + ], + deps = [ + "//submodules/Opus:opus", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/OpusBinding/OpusBinding.xcodeproj/project.pbxproj b/submodules/OpusBinding/OpusBinding.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..df52e5b2cc --- /dev/null +++ b/submodules/OpusBinding/OpusBinding.xcodeproj/project.pbxproj @@ -0,0 +1,792 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E295064B6CF00000000 + + isa + PBXFileReference + name + OpusBinding-Debug.xcconfig + path + ../../buck-out/gen/submodules/OpusBinding/OpusBinding-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AF34D67900000000 + + isa + PBXFileReference + name + OpusBinding-Profile.xcconfig + path + ../../buck-out/gen/submodules/OpusBinding/OpusBinding-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2922CB81DB00000000 + + isa + PBXFileReference + name + OpusBinding-Release.xcconfig + path + ../../buck-out/gen/submodules/OpusBinding/OpusBinding-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E295064B6CF00000000 + 1DD70E29AF34D67900000000 + 1DD70E2922CB81DB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2926EEDCE600000000 + + isa + PBXFileReference + name + bitwise.c + path + Sources/ogg/bitwise.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E2920C2125F00000000 + + isa + PBXFileReference + name + framing.c + path + Sources/ogg/framing.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29064C8BC900000000 + + isa + PBXFileReference + name + ogg.h + path + Sources/ogg/ogg.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E04CB4D800000000 + + isa + PBXFileReference + name + os_types.h + path + Sources/ogg/os_types.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C9790001AD8F00000000 + + isa + PBXGroup + name + ogg + path + Sources/ogg + sourceTree + SOURCE_ROOT + children + + 1DD70E2926EEDCE600000000 + 1DD70E2920C2125F00000000 + 1DD70E29064C8BC900000000 + 1DD70E29E04CB4D800000000 + + + 1DD70E291168FB1E00000000 + + isa + PBXFileReference + name + diag_range.c + path + Sources/opusenc/diag_range.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E291168FB2300000000 + + isa + PBXFileReference + name + diag_range.h + path + Sources/opusenc/diag_range.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2954F7594200000000 + + isa + PBXFileReference + name + opus_header.c + path + Sources/opusenc/opus_header.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E2954F7594700000000 + + isa + PBXFileReference + name + opus_header.h + path + Sources/opusenc/opus_header.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B368E77A00000000 + + isa + PBXFileReference + name + opusenc.m + path + Sources/opusenc/opusenc.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29BAED1B7300000000 + + isa + PBXFileReference + name + picture.c + path + Sources/opusenc/picture.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29BAED1B7800000000 + + isa + PBXFileReference + name + picture.h + path + Sources/opusenc/picture.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2923B0430E00000000 + + isa + PBXFileReference + name + wav_io.c + path + Sources/opusenc/wav_io.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E2923B0431300000000 + + isa + PBXFileReference + name + wav_io.h + path + Sources/opusenc/wav_io.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979B599043B00000000 + + isa + PBXGroup + name + opusenc + path + Sources/opusenc + sourceTree + SOURCE_ROOT + children + + 1DD70E291168FB1E00000000 + 1DD70E291168FB2300000000 + 1DD70E2954F7594200000000 + 1DD70E2954F7594700000000 + 1DD70E29B368E77A00000000 + 1DD70E29BAED1B7300000000 + 1DD70E29BAED1B7800000000 + 1DD70E2923B0430E00000000 + 1DD70E2923B0431300000000 + + + 1DD70E29B96AF72300000000 + + isa + PBXFileReference + name + info.c + path + Sources/opusfile/info.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29A129117200000000 + + isa + PBXFileReference + name + internal.c + path + Sources/opusfile/internal.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29A129117700000000 + + isa + PBXFileReference + name + internal.h + path + Sources/opusfile/internal.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BB27497000000000 + + isa + PBXFileReference + name + opusfile.c + path + Sources/opusfile/opusfile.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29BB27497500000000 + + isa + PBXFileReference + name + opusfile.h + path + Sources/opusfile/opusfile.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296ABF757500000000 + + isa + PBXFileReference + name + stream.c + path + Sources/opusfile/stream.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + B401C979FD87E63B00000000 + + isa + PBXGroup + name + opusfile + path + Sources/opusfile + sourceTree + SOURCE_ROOT + children + + 1DD70E29B96AF72300000000 + 1DD70E29A129117200000000 + 1DD70E29A129117700000000 + 1DD70E29BB27497000000000 + 1DD70E29BB27497500000000 + 1DD70E296ABF757500000000 + + + 1DD70E292604F26B00000000 + + isa + PBXFileReference + name + OggOpusReader.h + path + Sources/OggOpusReader.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292604F27000000000 + + isa + PBXFileReference + name + OggOpusReader.m + path + Sources/OggOpusReader.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E298390AF6A00000000 + + isa + PBXFileReference + name + TGDataItem.h + path + Sources/TGDataItem.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298390AF6F00000000 + + isa + PBXFileReference + name + TGDataItem.m + path + Sources/TGDataItem.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29F2D5734800000000 + + isa + PBXFileReference + name + TGOggOpusWriter.h + path + Sources/TGOggOpusWriter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C9790001AD8F00000000 + B401C979B599043B00000000 + B401C979FD87E63B00000000 + 1DD70E292604F26B00000000 + 1DD70E292604F27000000000 + 1DD70E298390AF6A00000000 + 1DD70E298390AF6F00000000 + 1DD70E29F2D5734800000000 + + + B401C9799CE7D12600000000 + + isa + PBXGroup + name + OpusBinding + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E297DA7833400000000 + + isa + PBXFileReference + name + libOpusBinding.a + path + libOpusBinding.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E297DA7833400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9799CE7D12600000000 + B401C979C806358400000000 + + + E7A30F0426EEDCE600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2926EEDCE600000000 + + E7A30F0420C2125F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2920C2125F00000000 + + E7A30F041168FB1E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291168FB1E00000000 + + E7A30F0454F7594200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2954F7594200000000 + + E7A30F04B368E77A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B368E77A00000000 + + E7A30F04BAED1B7300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BAED1B7300000000 + + E7A30F0423B0430E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2923B0430E00000000 + + E7A30F04B96AF72300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B96AF72300000000 + + E7A30F04A129117200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A129117200000000 + + E7A30F04BB27497000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BB27497000000000 + + E7A30F046ABF757500000000 + + isa + PBXBuildFile + fileRef + 1DD70E296ABF757500000000 + + E7A30F042604F27000000000 + + isa + PBXBuildFile + fileRef + 1DD70E292604F27000000000 + + E7A30F048390AF6F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298390AF6F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0426EEDCE600000000 + E7A30F0420C2125F00000000 + E7A30F041168FB1E00000000 + E7A30F0454F7594200000000 + E7A30F04B368E77A00000000 + E7A30F04BAED1B7300000000 + E7A30F0423B0430E00000000 + E7A30F04B96AF72300000000 + E7A30F04A129117200000000 + E7A30F04BB27497000000000 + E7A30F046ABF757500000000 + E7A30F042604F27000000000 + E7A30F048390AF6F00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E295064B6CF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29AF34D67900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2922CB81DB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E9CE7D12600000000 + + isa + PBXNativeTarget + name + OpusBinding + productName + OpusBinding + productReference + 1DD70E297DA7833400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847939CE7D12600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E9CE7D12600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847939CE7D12600000000 + + \ No newline at end of file diff --git a/submodules/OpusBinding/OpusBinding.xcodeproj/xcshareddata/xcschemes/OpusBinding.xcscheme b/submodules/OpusBinding/OpusBinding.xcodeproj/xcshareddata/xcschemes/OpusBinding.xcscheme new file mode 100644 index 0000000000..3a22fc3c86 --- /dev/null +++ b/submodules/OpusBinding/OpusBinding.xcodeproj/xcshareddata/xcschemes/OpusBinding.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/OpusBinding/Sources/OggOpusReader.m b/submodules/OpusBinding/Sources/OggOpusReader.m index bf569da19f..5e8bd5af53 100644 --- a/submodules/OpusBinding/Sources/OggOpusReader.m +++ b/submodules/OpusBinding/Sources/OggOpusReader.m @@ -10,7 +10,7 @@ @implementation OggOpusReader -- (instancetype _Nullable)init:(NSString *)path { +- (instancetype _Nullable)initWithPath:(NSString *)path { self = [super init]; if (self != nil) { int error = OPUS_OK; diff --git a/submodules/OverlayStatusController/BUCK b/submodules/OverlayStatusController/BUCK new file mode 100644 index 0000000000..ee77bca12b --- /dev/null +++ b/submodules/OverlayStatusController/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "OverlayStatusController", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#shared", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/OverlayStatusController/OverlayStatusController.xcodeproj/project.pbxproj b/submodules/OverlayStatusController/OverlayStatusController.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..245dc2eb77 --- /dev/null +++ b/submodules/OverlayStatusController/OverlayStatusController.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29D6EEC37700000000 + + isa + PBXFileReference + name + OverlayStatusController-Debug.xcconfig + path + ../../buck-out/gen/submodules/OverlayStatusController/OverlayStatusController-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BB6E592100000000 + + isa + PBXFileReference + name + OverlayStatusController-Profile.xcconfig + path + ../../buck-out/gen/submodules/OverlayStatusController/OverlayStatusController-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292F05048300000000 + + isa + PBXFileReference + name + OverlayStatusController-Release.xcconfig + path + ../../buck-out/gen/submodules/OverlayStatusController/OverlayStatusController-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29D6EEC37700000000 + 1DD70E29BB6E592100000000 + 1DD70E292F05048300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2974DC9DA300000000 + + isa + PBXFileReference + name + OverlayStatusController.swift + path + Sources/OverlayStatusController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2974DC9DA300000000 + + + B401C979EAAB097E00000000 + + isa + PBXGroup + name + OverlayStatusController + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29BBAF750C00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979EAAB097E00000000 + B401C979C806358400000000 + + + E7A30F0474DC9DA300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2974DC9DA300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0474DC9DA300000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29D6EEC37700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29BB6E592100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292F05048300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EEAAB097E00000000 + + isa + PBXNativeTarget + name + OverlayStatusController + productName + OverlayStatusController + productReference + 1DD70E29BBAF750C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793EAAB097E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EEAAB097E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793EAAB097E00000000 + + \ No newline at end of file diff --git a/submodules/OverlayStatusController/OverlayStatusController.xcodeproj/xcshareddata/xcschemes/OverlayStatusController.xcscheme b/submodules/OverlayStatusController/OverlayStatusController.xcodeproj/xcshareddata/xcschemes/OverlayStatusController.xcscheme new file mode 100644 index 0000000000..78df0202e3 --- /dev/null +++ b/submodules/OverlayStatusController/OverlayStatusController.xcodeproj/xcshareddata/xcschemes/OverlayStatusController.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PasscodeUI/BUCK b/submodules/PasscodeUI/BUCK new file mode 100644 index 0000000000..306511e065 --- /dev/null +++ b/submodules/PasscodeUI/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PasscodeUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/AccountContext:AccountContext", + "//submodules/LocalAuth:LocalAuth", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/ImageBlur:ImageBlur", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/PasscodeUI/PasscodeUI.xcodeproj/project.pbxproj b/submodules/PasscodeUI/PasscodeUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..769fc9bc55 --- /dev/null +++ b/submodules/PasscodeUI/PasscodeUI.xcodeproj/project.pbxproj @@ -0,0 +1,933 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2981D9DDC300000000 + + isa + PBXFileReference + name + PasscodeUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/PasscodeUI/PasscodeUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2957FC106D00000000 + + isa + PBXFileReference + name + PasscodeUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/PasscodeUI/PasscodeUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CB92BBCF00000000 + + isa + PBXFileReference + name + PasscodeUI-Release.xcconfig + path + ../../buck-out/gen/submodules/PasscodeUI/PasscodeUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2981D9DDC300000000 + 1DD70E2957FC106D00000000 + 1DD70E29CB92BBCF00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A889192100000000 + + isa + PBXFileReference + name + libLocalAuth.a + path + libLocalAuth.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29A889192100000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2944FAB31100000000 + + isa + PBXFileReference + name + PasscodeBackground.swift + path + Sources/PasscodeBackground.swift + sourceTree + SOURCE_ROOT + + 1DD70E298C702AD500000000 + + isa + PBXFileReference + name + PasscodeEntryController.swift + path + Sources/PasscodeEntryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E297F6C137700000000 + + isa + PBXFileReference + name + PasscodeEntryControllerNode.swift + path + Sources/PasscodeEntryControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293E85462B00000000 + + isa + PBXFileReference + name + PasscodeEntryInputFieldNode.swift + path + Sources/PasscodeEntryInputFieldNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293E99570200000000 + + isa + PBXFileReference + name + PasscodeEntryKeyboardNode.swift + path + Sources/PasscodeEntryKeyboardNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A75DC52700000000 + + isa + PBXFileReference + name + PasscodeEntryLabelNode.swift + path + Sources/PasscodeEntryLabelNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299AE87B0D00000000 + + isa + PBXFileReference + name + PasscodeLayout.swift + path + Sources/PasscodeLayout.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E2D8E4C900000000 + + isa + PBXFileReference + name + PasscodeLockIconNode.swift + path + Sources/PasscodeLockIconNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E298FD9E6E000000000 + + isa + PBXFileReference + name + PasscodeSetupController.swift + path + Sources/PasscodeSetupController.swift + sourceTree + SOURCE_ROOT + + 1DD70E290032D20200000000 + + isa + PBXFileReference + name + PasscodeSetupControllerNode.swift + path + Sources/PasscodeSetupControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2944FAB31100000000 + 1DD70E298C702AD500000000 + 1DD70E297F6C137700000000 + 1DD70E293E85462B00000000 + 1DD70E293E99570200000000 + 1DD70E29A75DC52700000000 + 1DD70E299AE87B0D00000000 + 1DD70E29E2D8E4C900000000 + 1DD70E298FD9E6E000000000 + 1DD70E290032D20200000000 + + + B401C979A1B020B200000000 + + isa + PBXGroup + name + PasscodeUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D0DBC52A00000000 + + isa + PBXFileReference + name + libPasscodeUI.a + path + libPasscodeUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D0DBC52A00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979A1B020B200000000 + B401C979C806358400000000 + + + E7A30F0444FAB31100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2944FAB31100000000 + + E7A30F048C702AD500000000 + + isa + PBXBuildFile + fileRef + 1DD70E298C702AD500000000 + + E7A30F047F6C137700000000 + + isa + PBXBuildFile + fileRef + 1DD70E297F6C137700000000 + + E7A30F043E85462B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E85462B00000000 + + E7A30F043E99570200000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E99570200000000 + + E7A30F04A75DC52700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A75DC52700000000 + + E7A30F049AE87B0D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299AE87B0D00000000 + + E7A30F04E2D8E4C900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E2D8E4C900000000 + + E7A30F048FD9E6E000000000 + + isa + PBXBuildFile + fileRef + 1DD70E298FD9E6E000000000 + + E7A30F040032D20200000000 + + isa + PBXBuildFile + fileRef + 1DD70E290032D20200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0444FAB31100000000 + E7A30F048C702AD500000000 + E7A30F047F6C137700000000 + E7A30F043E85462B00000000 + E7A30F043E99570200000000 + E7A30F04A75DC52700000000 + E7A30F049AE87B0D00000000 + E7A30F04E2D8E4C900000000 + E7A30F048FD9E6E000000000 + E7A30F040032D20200000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04A889192100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A889192100000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04A889192100000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2981D9DDC300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2957FC106D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CB92BBCF00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EA1B020B200000000 + + isa + PBXNativeTarget + name + PasscodeUI + productName + PasscodeUI + productReference + 1DD70E29D0DBC52A00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793A1B020B200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EA1B020B200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793A1B020B200000000 + + \ No newline at end of file diff --git a/submodules/PasscodeUI/PasscodeUI.xcodeproj/xcshareddata/xcschemes/PasscodeUI.xcscheme b/submodules/PasscodeUI/PasscodeUI.xcodeproj/xcshareddata/xcschemes/PasscodeUI.xcscheme new file mode 100644 index 0000000000..c87d5db2d9 --- /dev/null +++ b/submodules/PasscodeUI/PasscodeUI.xcodeproj/xcshareddata/xcschemes/PasscodeUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PasscodeUI/PasscodeUI_Xcode.xcodeproj/project.pbxproj b/submodules/PasscodeUI/PasscodeUI_Xcode.xcodeproj/project.pbxproj index 7c5dbbf5ae..2cf5134e1f 100644 --- a/submodules/PasscodeUI/PasscodeUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/PasscodeUI/PasscodeUI_Xcode.xcodeproj/project.pbxproj @@ -32,7 +32,7 @@ D0C9CA32230229DE00FAB518 /* TelegramCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CA31230229DE00FAB518 /* TelegramCore.framework */; }; D0C9CA34230229F100FAB518 /* LegacyComponents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CA33230229F100FAB518 /* LegacyComponents.framework */; }; D0C9CA3623022A7400FAB518 /* TelegramStringFormatting.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9CA3523022A7400FAB518 /* TelegramStringFormatting.framework */; }; - D0C9CA3A23022AA300FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9CA3923022AA300FAB518 /* FrameworkBundle.swift */; }; + D0EFF274231982DF00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF273231982DF00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -63,7 +63,7 @@ D0C9CA31230229DE00FAB518 /* TelegramCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CA33230229F100FAB518 /* LegacyComponents.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LegacyComponents.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9CA3523022A7400FAB518 /* TelegramStringFormatting.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramStringFormatting.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9CA3923022AA300FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF273231982DF00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -71,6 +71,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF274231982DF00CF5164 /* AppBundle.framework in Frameworks */, D0C9CA3623022A7400FAB518 /* TelegramStringFormatting.framework in Frameworks */, D0C9CA34230229F100FAB518 /* LegacyComponents.framework in Frameworks */, D0C9CA32230229DE00FAB518 /* TelegramCore.framework in Frameworks */, @@ -122,7 +123,6 @@ D0C9CA092302293300FAB518 /* PasscodeLockIconNode.swift */, D0C9CA0D2302293400FAB518 /* PasscodeSetupController.swift */, D0C9CA072302293300FAB518 /* PasscodeSetupControllerNode.swift */, - D0C9CA3923022AA300FAB518 /* FrameworkBundle.swift */, D0C9C9F8230228D400FAB518 /* PasscodeUI.h */, ); path = Sources; @@ -131,6 +131,7 @@ D0C9CA1A2302298D00FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF273231982DF00CF5164 /* AppBundle.framework */, D0C9CA3523022A7400FAB518 /* TelegramStringFormatting.framework */, D0C9CA33230229F100FAB518 /* LegacyComponents.framework */, D0C9CA31230229DE00FAB518 /* TelegramCore.framework */, @@ -237,7 +238,6 @@ D0C9CA142302293400FAB518 /* PasscodeEntryInputFieldNode.swift in Sources */, D0C9CA122302293400FAB518 /* PasscodeLayout.swift in Sources */, D0C9CA132302293400FAB518 /* PasscodeLockIconNode.swift in Sources */, - D0C9CA3A23022AA300FAB518 /* FrameworkBundle.swift in Sources */, D0C9CA102302293400FAB518 /* PasscodeEntryController.swift in Sources */, D0C9CA112302293400FAB518 /* PasscodeSetupControllerNode.swift in Sources */, ); diff --git a/submodules/PasscodeUI/Sources/FrameworkBundle.swift b/submodules/PasscodeUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/PasscodeUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/PasscodeUI/Sources/PasscodeEntryControllerNode.swift b/submodules/PasscodeUI/Sources/PasscodeEntryControllerNode.swift index eedb3a847c..964b471071 100644 --- a/submodules/PasscodeUI/Sources/PasscodeEntryControllerNode.swift +++ b/submodules/PasscodeUI/Sources/PasscodeEntryControllerNode.swift @@ -8,6 +8,7 @@ import TelegramCore import TelegramPresentationData import AccountContext import LocalAuth +import AppBundle private let titleFont = Font.regular(20.0) private let subtitleFont = Font.regular(15.0) diff --git a/submodules/PassportUI/BUCK b/submodules/PassportUI/BUCK new file mode 100644 index 0000000000..bb0d57f428 --- /dev/null +++ b/submodules/PassportUI/BUCK @@ -0,0 +1,30 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PassportUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/PhoneInputNode:PhoneInputNode", + "//submodules/CountrySelectionUI:CountrySelectionUI", + "//submodules/GalleryUI:GalleryUI", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/LegacyUI:LegacyUI", + "//submodules/ImageCompression:ImageCompression", + "//submodules/DateSelectionUI:DateSelectionUI", + "//submodules/PasswordSetupUI:PasswordSetupUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/PassportUI/PassportUI.xcodeproj/project.pbxproj b/submodules/PassportUI/PassportUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..dd6be374f8 --- /dev/null +++ b/submodules/PassportUI/PassportUI.xcodeproj/project.pbxproj @@ -0,0 +1,2406 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E97BEDAF00000000 + + isa + PBXFileReference + name + PassportUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/PassportUI/PassportUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E295F59D55900000000 + + isa + PBXFileReference + name + PassportUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/PassportUI/PassportUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D2F080BB00000000 + + isa + PBXFileReference + name + PassportUI-Release.xcconfig + path + ../../buck-out/gen/submodules/PassportUI/PassportUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E97BEDAF00000000 + 1DD70E295F59D55900000000 + 1DD70E29D2F080BB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29016F454200000000 + + isa + PBXFileReference + name + libCountrySelectionUI.a + path + libCountrySelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2979E58A0000000000 + + isa + PBXFileReference + name + libDateSelectionUI.a + path + libDateSelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299856EB2400000000 + + isa + PBXFileReference + name + libPasswordSetupUI.a + path + libPasswordSetupUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29005B963600000000 + + isa + PBXFileReference + name + libPhoneInputNode.a + path + libPhoneInputNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E29016F454200000000 + 1DD70E2979E58A0000000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29F29DEA1400000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29C6E517A300000000 + 1DD70E29247D9AC100000000 + 1DD70E295A26607D00000000 + 1DD70E2952137F3500000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29AF00DC4900000000 + 1DD70E29BBAF750C00000000 + 1DD70E299856EB2400000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E29005B963600000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29FAC5F50300000000 + + isa + PBXFileReference + name + FormBlockItemNode.swift + path + Sources/Form/FormBlockItemNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FBEEE64500000000 + + isa + PBXFileReference + name + FormController.swift + path + Sources/Form/FormController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F5EE520E00000000 + + isa + PBXFileReference + name + FormControllerActionItem.swift + path + Sources/Form/FormControllerActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E296FC31C7F00000000 + + isa + PBXFileReference + name + FormControllerDetailActionItem.swift + path + Sources/Form/FormControllerDetailActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E296F3F75A500000000 + + isa + PBXFileReference + name + FormControllerHeaderItem.swift + path + Sources/Form/FormControllerHeaderItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E298039933800000000 + + isa + PBXFileReference + name + FormControllerItem.swift + path + Sources/Form/FormControllerItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29513F96E700000000 + + isa + PBXFileReference + name + FormControllerNode.swift + path + Sources/Form/FormControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2947C4A6C100000000 + + isa + PBXFileReference + name + FormControllerScrollerNode.swift + path + Sources/Form/FormControllerScrollerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CEF00E3500000000 + + isa + PBXFileReference + name + FormControllerTextInputItem.swift + path + Sources/Form/FormControllerTextInputItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B3F9004500000000 + + isa + PBXFileReference + name + FormControllerTextItem.swift + path + Sources/Form/FormControllerTextItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F5ED8FFF00000000 + + isa + PBXFileReference + name + FormEditableBlockItemNode.swift + path + Sources/Form/FormEditableBlockItemNode.swift + sourceTree + SOURCE_ROOT + + B401C979002180E400000000 + + isa + PBXGroup + name + Form + path + Sources/Form + sourceTree + SOURCE_ROOT + children + + 1DD70E29FAC5F50300000000 + 1DD70E29FBEEE64500000000 + 1DD70E29F5EE520E00000000 + 1DD70E296FC31C7F00000000 + 1DD70E296F3F75A500000000 + 1DD70E298039933800000000 + 1DD70E29513F96E700000000 + 1DD70E2947C4A6C100000000 + 1DD70E29CEF00E3500000000 + 1DD70E29B3F9004500000000 + 1DD70E29F5ED8FFF00000000 + + + 1DD70E29D4C9F26B00000000 + + isa + PBXFileReference + name + FindSecureIdValue.swift + path + Sources/FindSecureIdValue.swift + sourceTree + SOURCE_ROOT + + 1DD70E296E38F8E200000000 + + isa + PBXFileReference + name + LegacySecureIdAttachmentMenu.swift + path + Sources/LegacySecureIdAttachmentMenu.swift + sourceTree + SOURCE_ROOT + + 1DD70E2942DAF07900000000 + + isa + PBXFileReference + name + LegacySecureIdScanController.swift + path + Sources/LegacySecureIdScanController.swift + sourceTree + SOURCE_ROOT + + 1DD70E290BAD464900000000 + + isa + PBXFileReference + name + SecureIdAuthAcceptNode.swift + path + Sources/SecureIdAuthAcceptNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C3D7CBC600000000 + + isa + PBXFileReference + name + SecureIdAuthContentNode.swift + path + Sources/SecureIdAuthContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D59AF93B00000000 + + isa + PBXFileReference + name + SecureIdAuthController.swift + path + Sources/SecureIdAuthController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29801D3EDD00000000 + + isa + PBXFileReference + name + SecureIdAuthControllerNode.swift + path + Sources/SecureIdAuthControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29725C058000000000 + + isa + PBXFileReference + name + SecureIdAuthControllerState.swift + path + Sources/SecureIdAuthControllerState.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CFC18C6200000000 + + isa + PBXFileReference + name + SecureIdAuthFormContentNode.swift + path + Sources/SecureIdAuthFormContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293F6E9C2300000000 + + isa + PBXFileReference + name + SecureIdAuthFormFieldNode.swift + path + Sources/SecureIdAuthFormFieldNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B9B7118E00000000 + + isa + PBXFileReference + name + SecureIdAuthHeaderNode.swift + path + Sources/SecureIdAuthHeaderNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DB33D7C800000000 + + isa + PBXFileReference + name + SecureIdAuthListContentNode.swift + path + Sources/SecureIdAuthListContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F1A8890900000000 + + isa + PBXFileReference + name + SecureIdAuthListFieldNode.swift + path + Sources/SecureIdAuthListFieldNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296353083600000000 + + isa + PBXFileReference + name + SecureIdAuthPasswordOptionContentNode.swift + path + Sources/SecureIdAuthPasswordOptionContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E290B25CE7800000000 + + isa + PBXFileReference + name + SecureIdAuthPasswordSetupContentNode.swift + path + Sources/SecureIdAuthPasswordSetupContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A864881200000000 + + isa + PBXFileReference + name + SecureIdDocumentFormController.swift + path + Sources/SecureIdDocumentFormController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A3458A3400000000 + + isa + PBXFileReference + name + SecureIdDocumentFormControllerNode.swift + path + Sources/SecureIdDocumentFormControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29473007A600000000 + + isa + PBXFileReference + name + SecureIdDocumentGalleryController.swift + path + Sources/SecureIdDocumentGalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B5B3C62000000000 + + isa + PBXFileReference + name + SecureIdDocumentGalleryFooterContentNode.swift + path + Sources/SecureIdDocumentGalleryFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CF8AC6FC00000000 + + isa + PBXFileReference + name + SecureIdDocumentImageGalleryItem.swift + path + Sources/SecureIdDocumentImageGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D86D918600000000 + + isa + PBXFileReference + name + SecureIdDocumentTypeSelectionController.swift + path + Sources/SecureIdDocumentTypeSelectionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E292A27B40C00000000 + + isa + PBXFileReference + name + SecureIdLocalResource.swift + path + Sources/SecureIdLocalResource.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EE9688CA00000000 + + isa + PBXFileReference + name + SecureIdPlaintextFormController.swift + path + Sources/SecureIdPlaintextFormController.swift + sourceTree + SOURCE_ROOT + + 1DD70E298A986EEC00000000 + + isa + PBXFileReference + name + SecureIdPlaintextFormControllerNode.swift + path + Sources/SecureIdPlaintextFormControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2960A393D700000000 + + isa + PBXFileReference + name + SecureIdValueFormFileItem.swift + path + Sources/SecureIdValueFormFileItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A5AA0A2300000000 + + isa + PBXFileReference + name + SecureIdValueFormPhoneItem.swift + path + Sources/SecureIdValueFormPhoneItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E298096F67900000000 + + isa + PBXFileReference + name + SecureIdValues.swift + path + Sources/SecureIdValues.swift + sourceTree + SOURCE_ROOT + + 1DD70E29800CA32D00000000 + + isa + PBXFileReference + name + SecureIdVerificationDocument.swift + path + Sources/SecureIdVerificationDocument.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D4CE53E900000000 + + isa + PBXFileReference + name + SecureIdVerificationDocumentsContext.swift + path + Sources/SecureIdVerificationDocumentsContext.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C979002180E400000000 + 1DD70E29D4C9F26B00000000 + 1DD70E296E38F8E200000000 + 1DD70E2942DAF07900000000 + 1DD70E290BAD464900000000 + 1DD70E29C3D7CBC600000000 + 1DD70E29D59AF93B00000000 + 1DD70E29801D3EDD00000000 + 1DD70E29725C058000000000 + 1DD70E29CFC18C6200000000 + 1DD70E293F6E9C2300000000 + 1DD70E29B9B7118E00000000 + 1DD70E29DB33D7C800000000 + 1DD70E29F1A8890900000000 + 1DD70E296353083600000000 + 1DD70E290B25CE7800000000 + 1DD70E29A864881200000000 + 1DD70E29A3458A3400000000 + 1DD70E29473007A600000000 + 1DD70E29B5B3C62000000000 + 1DD70E29CF8AC6FC00000000 + 1DD70E29D86D918600000000 + 1DD70E292A27B40C00000000 + 1DD70E29EE9688CA00000000 + 1DD70E298A986EEC00000000 + 1DD70E2960A393D700000000 + 1DD70E29A5AA0A2300000000 + 1DD70E298096F67900000000 + 1DD70E29800CA32D00000000 + 1DD70E29D4CE53E900000000 + + + B401C979B7E5B64600000000 + + isa + PBXGroup + name + PassportUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29300245BE00000000 + + isa + PBXFileReference + name + libPassportUI.a + path + libPassportUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29300245BE00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979B7E5B64600000000 + B401C979C806358400000000 + + + E7A30F04FAC5F50300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FAC5F50300000000 + + E7A30F04FBEEE64500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FBEEE64500000000 + + E7A30F04F5EE520E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F5EE520E00000000 + + E7A30F046FC31C7F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296FC31C7F00000000 + + E7A30F046F3F75A500000000 + + isa + PBXBuildFile + fileRef + 1DD70E296F3F75A500000000 + + E7A30F048039933800000000 + + isa + PBXBuildFile + fileRef + 1DD70E298039933800000000 + + E7A30F04513F96E700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29513F96E700000000 + + E7A30F0447C4A6C100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2947C4A6C100000000 + + E7A30F04CEF00E3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CEF00E3500000000 + + E7A30F04B3F9004500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B3F9004500000000 + + E7A30F04F5ED8FFF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F5ED8FFF00000000 + + E7A30F04D4C9F26B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D4C9F26B00000000 + + E7A30F046E38F8E200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296E38F8E200000000 + + E7A30F0442DAF07900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2942DAF07900000000 + + E7A30F040BAD464900000000 + + isa + PBXBuildFile + fileRef + 1DD70E290BAD464900000000 + + E7A30F04C3D7CBC600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C3D7CBC600000000 + + E7A30F04D59AF93B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D59AF93B00000000 + + E7A30F04801D3EDD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29801D3EDD00000000 + + E7A30F04725C058000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29725C058000000000 + + E7A30F04CFC18C6200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CFC18C6200000000 + + E7A30F043F6E9C2300000000 + + isa + PBXBuildFile + fileRef + 1DD70E293F6E9C2300000000 + + E7A30F04B9B7118E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B9B7118E00000000 + + E7A30F04DB33D7C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB33D7C800000000 + + E7A30F04F1A8890900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F1A8890900000000 + + E7A30F046353083600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296353083600000000 + + E7A30F040B25CE7800000000 + + isa + PBXBuildFile + fileRef + 1DD70E290B25CE7800000000 + + E7A30F04A864881200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A864881200000000 + + E7A30F04A3458A3400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A3458A3400000000 + + E7A30F04473007A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29473007A600000000 + + E7A30F04B5B3C62000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B5B3C62000000000 + + E7A30F04CF8AC6FC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF8AC6FC00000000 + + E7A30F04D86D918600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D86D918600000000 + + E7A30F042A27B40C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292A27B40C00000000 + + E7A30F04EE9688CA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EE9688CA00000000 + + E7A30F048A986EEC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298A986EEC00000000 + + E7A30F0460A393D700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2960A393D700000000 + + E7A30F04A5AA0A2300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A5AA0A2300000000 + + E7A30F048096F67900000000 + + isa + PBXBuildFile + fileRef + 1DD70E298096F67900000000 + + E7A30F04800CA32D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29800CA32D00000000 + + E7A30F04D4CE53E900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D4CE53E900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04FAC5F50300000000 + E7A30F04FBEEE64500000000 + E7A30F04F5EE520E00000000 + E7A30F046FC31C7F00000000 + E7A30F046F3F75A500000000 + E7A30F048039933800000000 + E7A30F04513F96E700000000 + E7A30F0447C4A6C100000000 + E7A30F04CEF00E3500000000 + E7A30F04B3F9004500000000 + E7A30F04F5ED8FFF00000000 + E7A30F04D4C9F26B00000000 + E7A30F046E38F8E200000000 + E7A30F0442DAF07900000000 + E7A30F040BAD464900000000 + E7A30F04C3D7CBC600000000 + E7A30F04D59AF93B00000000 + E7A30F04801D3EDD00000000 + E7A30F04725C058000000000 + E7A30F04CFC18C6200000000 + E7A30F043F6E9C2300000000 + E7A30F04B9B7118E00000000 + E7A30F04DB33D7C800000000 + E7A30F04F1A8890900000000 + E7A30F046353083600000000 + E7A30F040B25CE7800000000 + E7A30F04A864881200000000 + E7A30F04A3458A3400000000 + E7A30F04473007A600000000 + E7A30F04B5B3C62000000000 + E7A30F04CF8AC6FC00000000 + E7A30F04D86D918600000000 + E7A30F042A27B40C00000000 + E7A30F04EE9688CA00000000 + E7A30F048A986EEC00000000 + E7A30F0460A393D700000000 + E7A30F04A5AA0A2300000000 + E7A30F048096F67900000000 + E7A30F04800CA32D00000000 + E7A30F04D4CE53E900000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04016F454200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29016F454200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0479E58A0000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979E58A0000000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + E7A30F04F29DEA1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F29DEA1400000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F049856EB2400000000 + + isa + PBXBuildFile + fileRef + 1DD70E299856EB2400000000 + + E7A30F04005B963600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29005B963600000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + E7A30F04DB6520C800000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + E7A30F04EA9CBB5B00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04016F454200000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0479E58A0000000000 + E7A30F0497B4D6D800000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F0481AE180900000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + E7A30F04F29DEA1400000000 + E7A30F04C6E517A300000000 + E7A30F0452137F3500000000 + E7A30F04BBAF750C00000000 + E7A30F04F523B9DE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F049856EB2400000000 + E7A30F04005B963600000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E97BEDAF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E295F59D55900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29D2F080BB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EB7E5B64600000000 + + isa + PBXNativeTarget + name + PassportUI + productName + PassportUI + productReference + 1DD70E29300245BE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793B7E5B64600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EB7E5B64600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793B7E5B64600000000 + + \ No newline at end of file diff --git a/submodules/PassportUI/PassportUI.xcodeproj/xcshareddata/xcschemes/PassportUI.xcscheme b/submodules/PassportUI/PassportUI.xcodeproj/xcshareddata/xcschemes/PassportUI.xcscheme new file mode 100644 index 0000000000..8916c86087 --- /dev/null +++ b/submodules/PassportUI/PassportUI.xcodeproj/xcshareddata/xcschemes/PassportUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PassportUI/PassportUI_Xcode.xcodeproj/project.pbxproj b/submodules/PassportUI/PassportUI_Xcode.xcodeproj/project.pbxproj index c38de867f1..a05ab118fb 100644 --- a/submodules/PassportUI/PassportUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/PassportUI/PassportUI_Xcode.xcodeproj/project.pbxproj @@ -55,7 +55,6 @@ D0C9C255230022E000FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C254230022E000FAB518 /* TelegramPresentationData.framework */; }; D0C9C25923009EC900FAB518 /* FindSecureIdValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C25823009EC900FAB518 /* FindSecureIdValue.swift */; }; D0C9C2812300A04900FAB518 /* PhoneInputNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2802300A04900FAB518 /* PhoneInputNode.framework */; }; - D0C9C2852300A0BF00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C2842300A0BF00FAB518 /* FrameworkBundle.swift */; }; D0C9C2B32300A1D300FAB518 /* CountrySelectionUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2B22300A1D300FAB518 /* CountrySelectionUI.framework */; }; D0C9C3332300AA0100FAB518 /* GalleryUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C3322300AA0100FAB518 /* GalleryUI.framework */; }; D0C9C4492300E15E00FAB518 /* LegacySecureIdAttachmentMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C4482300E15E00FAB518 /* LegacySecureIdAttachmentMenu.swift */; }; @@ -66,6 +65,7 @@ D0C9C4BF2300E5B400FAB518 /* ImageCompression.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C4BE2300E5B400FAB518 /* ImageCompression.framework */; }; D0C9C4DA2300E67200FAB518 /* DateSelectionUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C4D92300E67200FAB518 /* DateSelectionUI.framework */; }; D0C9C52D2300EFB100FAB518 /* PasswordSetupUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C52C2300EFB100FAB518 /* PasswordSetupUI.framework */; }; + D0EFF2602319818400CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF25F2319818400CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -119,7 +119,6 @@ D0C9C254230022E000FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C25823009EC900FAB518 /* FindSecureIdValue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FindSecureIdValue.swift; sourceTree = ""; }; D0C9C2802300A04900FAB518 /* PhoneInputNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhoneInputNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C2842300A0BF00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C2B22300A1D300FAB518 /* CountrySelectionUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CountrySelectionUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C3322300AA0100FAB518 /* GalleryUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GalleryUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C4482300E15E00FAB518 /* LegacySecureIdAttachmentMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LegacySecureIdAttachmentMenu.swift; sourceTree = ""; }; @@ -130,6 +129,7 @@ D0C9C4BE2300E5B400FAB518 /* ImageCompression.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ImageCompression.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C4D92300E67200FAB518 /* DateSelectionUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DateSelectionUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C52C2300EFB100FAB518 /* PasswordSetupUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PasswordSetupUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF25F2319818400CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -137,6 +137,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2602319818400CF5164 /* AppBundle.framework in Frameworks */, D0C9C52D2300EFB100FAB518 /* PasswordSetupUI.framework in Frameworks */, D0C9C4DA2300E67200FAB518 /* DateSelectionUI.framework in Frameworks */, D0C9C4BF2300E5B400FAB518 /* ImageCompression.framework in Frameworks */, @@ -211,7 +212,6 @@ D0C9C25823009EC900FAB518 /* FindSecureIdValue.swift */, D0C9C4482300E15E00FAB518 /* LegacySecureIdAttachmentMenu.swift */, D0C9C44E2300E1D600FAB518 /* LegacySecureIdScanController.swift */, - D0C9C2842300A0BF00FAB518 /* FrameworkBundle.swift */, D0C9C1EE2300222100FAB518 /* PassportUI.h */, ); path = Sources; @@ -238,6 +238,7 @@ D0C9C245230022BF00FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF25F2319818400CF5164 /* AppBundle.framework */, D0C9C52C2300EFB100FAB518 /* PasswordSetupUI.framework */, D0C9C4D92300E67200FAB518 /* DateSelectionUI.framework */, D0C9C4BE2300E5B400FAB518 /* ImageCompression.framework */, @@ -361,7 +362,6 @@ D0C9C23C230022AB00FAB518 /* SecureIdAuthController.swift in Sources */, D0C9C22E230022AB00FAB518 /* FormControllerScrollerNode.swift in Sources */, D0C9C22C230022AB00FAB518 /* FormControllerActionItem.swift in Sources */, - D0C9C2852300A0BF00FAB518 /* FrameworkBundle.swift in Sources */, D0C9C237230022AB00FAB518 /* SecureIdAuthFormContentNode.swift in Sources */, D0C9C22D230022AB00FAB518 /* FormEditableBlockItemNode.swift in Sources */, D0C9C239230022AB00FAB518 /* SecureIdAuthPasswordOptionContentNode.swift in Sources */, diff --git a/submodules/PassportUI/Sources/FrameworkBundle.swift b/submodules/PassportUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/PassportUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/PassportUI/Sources/SecureIdAuthAcceptNode.swift b/submodules/PassportUI/Sources/SecureIdAuthAcceptNode.swift index ba1305eef0..9d10b38dc3 100644 --- a/submodules/PassportUI/Sources/SecureIdAuthAcceptNode.swift +++ b/submodules/PassportUI/Sources/SecureIdAuthAcceptNode.swift @@ -6,6 +6,7 @@ import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData +import AppBundle private let textFont: UIFont = Font.regular(16.0) diff --git a/submodules/PassportUI/Sources/SecureIdAuthHeaderNode.swift b/submodules/PassportUI/Sources/SecureIdAuthHeaderNode.swift index 8727078f06..d183e98595 100644 --- a/submodules/PassportUI/Sources/SecureIdAuthHeaderNode.swift +++ b/submodules/PassportUI/Sources/SecureIdAuthHeaderNode.swift @@ -7,6 +7,7 @@ import TelegramCore import SwiftSignalKit import TelegramPresentationData import AvatarNode +import AppBundle private let avatarFont = UIFont(name: ".SFCompactRounded-Semibold", size: 26.0)! private let titleFont = Font.semibold(14.0) diff --git a/submodules/PassportUI/Sources/SecureIdAuthPasswordOptionContentNode.swift b/submodules/PassportUI/Sources/SecureIdAuthPasswordOptionContentNode.swift index 8dec00eebf..5da4d73188 100644 --- a/submodules/PassportUI/Sources/SecureIdAuthPasswordOptionContentNode.swift +++ b/submodules/PassportUI/Sources/SecureIdAuthPasswordOptionContentNode.swift @@ -4,6 +4,7 @@ import AsyncDisplayKit import Display import TelegramPresentationData import ActivityIndicator +import AppBundle private let passwordFont = Font.regular(16.0) private let buttonFont = Font.regular(17.0) diff --git a/submodules/PassportUI/Sources/SecureIdAuthPasswordSetupContentNode.swift b/submodules/PassportUI/Sources/SecureIdAuthPasswordSetupContentNode.swift index 0680a66849..6a0da6e4c1 100644 --- a/submodules/PassportUI/Sources/SecureIdAuthPasswordSetupContentNode.swift +++ b/submodules/PassportUI/Sources/SecureIdAuthPasswordSetupContentNode.swift @@ -3,6 +3,7 @@ import UIKit import AsyncDisplayKit import Display import TelegramPresentationData +import AppBundle private let titleFont = Font.regular(14.0) private let buttonFont = Font.regular(17.0) diff --git a/submodules/PassportUI/Sources/SecureIdDocumentFormControllerNode.swift b/submodules/PassportUI/Sources/SecureIdDocumentFormControllerNode.swift index 6ce48f0ca8..b2708d2a97 100644 --- a/submodules/PassportUI/Sources/SecureIdDocumentFormControllerNode.swift +++ b/submodules/PassportUI/Sources/SecureIdDocumentFormControllerNode.swift @@ -11,6 +11,7 @@ import AccountContext import GalleryUI import CountrySelectionUI import DateSelectionUI +import AppBundle private enum SecureIdDocumentFormTextField { case identifier diff --git a/submodules/PassportUI/Sources/SecureIdDocumentGalleryFooterContentNode.swift b/submodules/PassportUI/Sources/SecureIdDocumentGalleryFooterContentNode.swift index ea3162d838..94aa3f5fa9 100644 --- a/submodules/PassportUI/Sources/SecureIdDocumentGalleryFooterContentNode.swift +++ b/submodules/PassportUI/Sources/SecureIdDocumentGalleryFooterContentNode.swift @@ -9,6 +9,7 @@ import Photos import TelegramPresentationData import AccountContext import GalleryUI +import AppBundle private let deleteImage = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionTrash"), color: .white) diff --git a/submodules/PassportUI/Sources/SecureIdDocumentImageGalleryItem.swift b/submodules/PassportUI/Sources/SecureIdDocumentImageGalleryItem.swift index 044ad3cfaa..ea0b3898b9 100644 --- a/submodules/PassportUI/Sources/SecureIdDocumentImageGalleryItem.swift +++ b/submodules/PassportUI/Sources/SecureIdDocumentImageGalleryItem.swift @@ -36,7 +36,7 @@ class SecureIdDocumentGalleryItem: GalleryItem { node.setResource(secureIdContext: self.secureIdContext, resource: self.resource) - node._title.set(.single("\(self.location.position + 1) \(self.strings.Common_of) \(self.location.totalCount)")) + node._title.set(.single(self.strings.Items_NOfM("\(self.location.position + 1)", "\(self.location.totalCount)").0)) node.setCaption(self.caption) node.delete = self.delete @@ -46,7 +46,7 @@ class SecureIdDocumentGalleryItem: GalleryItem { func updateNode(node: GalleryItemNode) { if let node = node as? SecureIdDocumentGalleryItemNode { - node._title.set(.single("\(self.location.position + 1) \(self.strings.Common_of) \(self.location.totalCount)")) + node._title.set(.single(self.strings.Items_NOfM("\(self.location.position + 1)", "\(self.location.totalCount)").0)) node.setCaption(self.caption) node.delete = self.delete diff --git a/submodules/PasswordSetupUI/BUCK b/submodules/PasswordSetupUI/BUCK new file mode 100644 index 0000000000..16010b0356 --- /dev/null +++ b/submodules/PasswordSetupUI/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PasswordSetupUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ProgressNavigationButtonNode:ProgressNavigationButtonNode", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/AlertUI:AlertUI", + "//submodules/ItemListUI:ItemListUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/CoreLocation.framework", + "$SDKROOT/System/Library/Frameworks/MapKit.framework", + ], +) diff --git a/submodules/PasswordSetupUI/PasswordSetupUI.xcodeproj/project.pbxproj b/submodules/PasswordSetupUI/PasswordSetupUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..abff3f17f0 --- /dev/null +++ b/submodules/PasswordSetupUI/PasswordSetupUI.xcodeproj/project.pbxproj @@ -0,0 +1,1011 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2976B05F5F00000000 + + isa + PBXFileReference + name + PasswordSetupUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/PasswordSetupUI/PasswordSetupUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2971389B0900000000 + + isa + PBXFileReference + name + PasswordSetupUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/PasswordSetupUI/PasswordSetupUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E4CF466B00000000 + + isa + PBXFileReference + name + PasswordSetupUI-Release.xcconfig + path + ../../buck-out/gen/submodules/PasswordSetupUI/PasswordSetupUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2976B05F5F00000000 + 1DD70E2971389B0900000000 + 1DD70E29E4CF466B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E290E1B464B00000000 + + isa + PBXFileReference + name + ResetPasswordController.swift + path + Sources/ResetPasswordController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29185F974A00000000 + + isa + PBXFileReference + name + SetupTwoStepVerificationContentNode.swift + path + Sources/SetupTwoStepVerificationContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E292AE9AD3700000000 + + isa + PBXFileReference + name + SetupTwoStepVerificationController.swift + path + Sources/SetupTwoStepVerificationController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2966B994D900000000 + + isa + PBXFileReference + name + SetupTwoStepVerificationControllerNode.swift + path + Sources/SetupTwoStepVerificationControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E290E1B464B00000000 + 1DD70E29185F974A00000000 + 1DD70E292AE9AD3700000000 + 1DD70E2966B994D900000000 + + + B401C979D9721A9600000000 + + isa + PBXGroup + name + PasswordSetupUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E299856EB2400000000 + + isa + PBXFileReference + name + libPasswordSetupUI.a + path + libPasswordSetupUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E299856EB2400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979D9721A9600000000 + B401C979C806358400000000 + + + E7A30F040E1B464B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290E1B464B00000000 + + E7A30F04185F974A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29185F974A00000000 + + E7A30F042AE9AD3700000000 + + isa + PBXBuildFile + fileRef + 1DD70E292AE9AD3700000000 + + E7A30F0466B994D900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2966B994D900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F040E1B464B00000000 + E7A30F04185F974A00000000 + E7A30F042AE9AD3700000000 + E7A30F0466B994D900000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04F523B9DE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2976B05F5F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2971389B0900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29E4CF466B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ED9721A9600000000 + + isa + PBXNativeTarget + name + PasswordSetupUI + productName + PasswordSetupUI + productReference + 1DD70E299856EB2400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793D9721A9600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ED9721A9600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793D9721A9600000000 + + \ No newline at end of file diff --git a/submodules/PasswordSetupUI/PasswordSetupUI.xcodeproj/xcshareddata/xcschemes/PasswordSetupUI.xcscheme b/submodules/PasswordSetupUI/PasswordSetupUI.xcodeproj/xcshareddata/xcschemes/PasswordSetupUI.xcscheme new file mode 100644 index 0000000000..f14f74f81f --- /dev/null +++ b/submodules/PasswordSetupUI/PasswordSetupUI.xcodeproj/xcshareddata/xcschemes/PasswordSetupUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Pdf/BUCK b/submodules/Pdf/BUCK new file mode 100644 index 0000000000..ee8b2ebc72 --- /dev/null +++ b/submodules/Pdf/BUCK @@ -0,0 +1,15 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Pdf", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/Pdf/Pdf.xcodeproj/project.pbxproj b/submodules/Pdf/Pdf.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1af995eb5d --- /dev/null +++ b/submodules/Pdf/Pdf.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29767181A300000000 + + isa + PBXFileReference + name + Pdf-Debug.xcconfig + path + ../../buck-out/gen/submodules/Pdf/Pdf-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29853A3C4D00000000 + + isa + PBXFileReference + name + Pdf-Profile.xcconfig + path + ../../buck-out/gen/submodules/Pdf/Pdf-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F8D0E7AF00000000 + + isa + PBXFileReference + name + Pdf-Release.xcconfig + path + ../../buck-out/gen/submodules/Pdf/Pdf-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29767181A300000000 + 1DD70E29853A3C4D00000000 + 1DD70E29F8D0E7AF00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B931F9F700000000 + + isa + PBXFileReference + name + PDF.swift + path + Sources/PDF.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B931F9F700000000 + + + B401C979000138D200000000 + + isa + PBXGroup + name + Pdf + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29313E7AE000000000 + + isa + PBXFileReference + name + libPdf.a + path + libPdf.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29313E7AE000000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979000138D200000000 + B401C979C806358400000000 + + + E7A30F04B931F9F700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B931F9F700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B931F9F700000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29767181A300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29853A3C4D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29F8D0E7AF00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E000138D200000000 + + isa + PBXNativeTarget + name + Pdf + productName + Pdf + productReference + 1DD70E29313E7AE000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793000138D200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E000138D200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793000138D200000000 + + \ No newline at end of file diff --git a/submodules/Pdf/Pdf.xcodeproj/xcshareddata/xcschemes/Pdf.xcscheme b/submodules/Pdf/Pdf.xcodeproj/xcshareddata/xcschemes/Pdf.xcscheme new file mode 100644 index 0000000000..6d4db1af6b --- /dev/null +++ b/submodules/Pdf/Pdf.xcodeproj/xcshareddata/xcschemes/Pdf.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeerAvatarGalleryUI/BUCK b/submodules/PeerAvatarGalleryUI/BUCK new file mode 100644 index 0000000000..7952073484 --- /dev/null +++ b/submodules/PeerAvatarGalleryUI/BUCK @@ -0,0 +1,30 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PeerAvatarGalleryUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/GalleryUI:GalleryUI", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/PhotoResources:PhotoResources", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/ShareController:ShareController", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/QuickLook.framework", + "$SDKROOT/System/Library/Frameworks/Photos.framework", + ], +) diff --git a/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI.xcodeproj/project.pbxproj b/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..125fed1831 --- /dev/null +++ b/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI.xcodeproj/project.pbxproj @@ -0,0 +1,1387 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E297F6B972A00000000 + + isa + PBXFileReference + name + PeerAvatarGalleryUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2938050C1400000000 + + isa + PBXFileReference + name + PeerAvatarGalleryUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AB9BB77600000000 + + isa + PBXFileReference + name + PeerAvatarGalleryUI-Release.xcconfig + path + ../../buck-out/gen/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E297F6B972A00000000 + 1DD70E2938050C1400000000 + 1DD70E29AB9BB77600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29F29DEA1400000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29AF00DC4900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29550A52FA00000000 + + isa + PBXFileReference + name + AvatarGalleryController.swift + path + Sources/AvatarGalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E296334003900000000 + + isa + PBXFileReference + name + AvatarGalleryItemFooterContentNode.swift + path + Sources/AvatarGalleryItemFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2992EE2FAA00000000 + + isa + PBXFileReference + name + PeerAvatarImageGalleryItem.swift + path + Sources/PeerAvatarImageGalleryItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29550A52FA00000000 + 1DD70E296334003900000000 + 1DD70E2992EE2FAA00000000 + + + B401C9799FB5A62B00000000 + + isa + PBXGroup + name + PeerAvatarGalleryUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29C7165FF900000000 + + isa + PBXFileReference + name + libPeerAvatarGalleryUI.a + path + libPeerAvatarGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29C7165FF900000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9799FB5A62B00000000 + B401C979C806358400000000 + + + E7A30F04550A52FA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29550A52FA00000000 + + E7A30F046334003900000000 + + isa + PBXBuildFile + fileRef + 1DD70E296334003900000000 + + E7A30F0492EE2FAA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2992EE2FAA00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04550A52FA00000000 + E7A30F046334003900000000 + E7A30F0492EE2FAA00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + E7A30F04F29DEA1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F29DEA1400000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F0497B4D6D800000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F0481AE180900000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + E7A30F04F29DEA1400000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E297F6B972A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2938050C1400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AB9BB77600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E9FB5A62B00000000 + + isa + PBXNativeTarget + name + PeerAvatarGalleryUI + productName + PeerAvatarGalleryUI + productReference + 1DD70E29C7165FF900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847939FB5A62B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E9FB5A62B00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847939FB5A62B00000000 + + \ No newline at end of file diff --git a/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI.xcodeproj/xcshareddata/xcschemes/PeerAvatarGalleryUI.xcscheme b/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI.xcodeproj/xcshareddata/xcschemes/PeerAvatarGalleryUI.xcscheme new file mode 100644 index 0000000000..d6194b114c --- /dev/null +++ b/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI.xcodeproj/xcshareddata/xcschemes/PeerAvatarGalleryUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI_Xcode.xcodeproj/project.pbxproj b/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI_Xcode.xcodeproj/project.pbxproj index 310d6cd141..74af051f36 100644 --- a/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/PeerAvatarGalleryUI/PeerAvatarGalleryUI_Xcode.xcodeproj/project.pbxproj @@ -28,7 +28,7 @@ D03E41622304D4650049C28B /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E41612304D4650049C28B /* PhotoResources.framework */; }; D03E41642304D4690049C28B /* RadialStatusNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E41632304D4690049C28B /* RadialStatusNode.framework */; }; D03E41662304D46E0049C28B /* ShareController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E41652304D46E0049C28B /* ShareController.framework */; }; - D03E416A2304D4F50049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E41692304D4F50049C28B /* FrameworkBundle.swift */; }; + D0EFF264231981BA00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF263231981BA00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -55,7 +55,7 @@ D03E41612304D4650049C28B /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E41632304D4690049C28B /* RadialStatusNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = RadialStatusNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E41652304D46E0049C28B /* ShareController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ShareController.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E41692304D4F50049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF263231981BA00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -63,6 +63,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF264231981BA00CF5164 /* AppBundle.framework in Frameworks */, D03E41662304D46E0049C28B /* ShareController.framework in Frameworks */, D03E41642304D4690049C28B /* RadialStatusNode.framework in Frameworks */, D03E41622304D4650049C28B /* PhotoResources.framework in Frameworks */, @@ -110,7 +111,6 @@ D03E413C2304D3F50049C28B /* AvatarGalleryController.swift */, D03E413D2304D3F60049C28B /* AvatarGalleryItemFooterContentNode.swift */, D03E413E2304D3F60049C28B /* PeerAvatarImageGalleryItem.swift */, - D03E41692304D4F50049C28B /* FrameworkBundle.swift */, D03E41302304D37B0049C28B /* PeerAvatarGalleryUI.h */, ); path = Sources; @@ -119,6 +119,7 @@ D03E41442304D40D0049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF263231981BA00CF5164 /* AppBundle.framework */, D03E41652304D46E0049C28B /* ShareController.framework */, D03E41632304D4690049C28B /* RadialStatusNode.framework */, D03E41612304D4650049C28B /* PhotoResources.framework */, @@ -220,7 +221,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D03E416A2304D4F50049C28B /* FrameworkBundle.swift in Sources */, D03E413F2304D3F60049C28B /* AvatarGalleryController.swift in Sources */, D03E41402304D3F60049C28B /* AvatarGalleryItemFooterContentNode.swift in Sources */, D03E41412304D3F60049C28B /* PeerAvatarImageGalleryItem.swift in Sources */, diff --git a/submodules/PeerAvatarGalleryUI/Sources/AvatarGalleryItemFooterContentNode.swift b/submodules/PeerAvatarGalleryUI/Sources/AvatarGalleryItemFooterContentNode.swift index d587bcf58e..e5b960bbea 100644 --- a/submodules/PeerAvatarGalleryUI/Sources/AvatarGalleryItemFooterContentNode.swift +++ b/submodules/PeerAvatarGalleryUI/Sources/AvatarGalleryItemFooterContentNode.swift @@ -11,6 +11,7 @@ import TelegramUIPreferences import TelegramStringFormatting import AccountContext import GalleryUI +import AppBundle private let deleteImage = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionTrash"), color: .white) private let actionImage = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionAction"), color: .white) diff --git a/submodules/PeerAvatarGalleryUI/Sources/FrameworkBundle.swift b/submodules/PeerAvatarGalleryUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/PeerAvatarGalleryUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/PeerAvatarGalleryUI/Sources/PeerAvatarImageGalleryItem.swift b/submodules/PeerAvatarGalleryUI/Sources/PeerAvatarImageGalleryItem.swift index 31fa91feb6..ba92495f16 100644 --- a/submodules/PeerAvatarGalleryUI/Sources/PeerAvatarImageGalleryItem.swift +++ b/submodules/PeerAvatarGalleryUI/Sources/PeerAvatarImageGalleryItem.swift @@ -59,7 +59,7 @@ class PeerAvatarImageGalleryItem: GalleryItem { let node = PeerAvatarImageGalleryItemNode(context: self.context, presentationData: self.presentationData, peer: self.peer) if let indexData = self.entry.indexData { - node._title.set(.single("\(indexData.position + 1) \(self.presentationData.strings.Common_of) \(indexData.totalCount)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(indexData.position + 1)", "\(indexData.totalCount)").0)) } node.setEntry(self.entry) @@ -71,7 +71,7 @@ class PeerAvatarImageGalleryItem: GalleryItem { func updateNode(node: GalleryItemNode) { if let node = node as? PeerAvatarImageGalleryItemNode { if let indexData = self.entry.indexData { - node._title.set(.single("\(indexData.position + 1) \(self.presentationData.strings.Common_of) \(indexData.totalCount)")) + node._title.set(.single(self.presentationData.strings.Items_NOfM("\(indexData.position + 1)", "\(indexData.totalCount)").0)) } node.setEntry(self.entry) diff --git a/submodules/PeerInfoUI/BUCK b/submodules/PeerInfoUI/BUCK new file mode 100644 index 0000000000..c12c6592dc --- /dev/null +++ b/submodules/PeerInfoUI/BUCK @@ -0,0 +1,67 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PeerInfoUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/ItemListUI:ItemListUI", + "//submodules/AlertUI:AlertUI", + "//submodules/ItemListAvatarAndNameInfoItem:ItemListAvatarAndNameInfoItem", + "//submodules/UndoUI:UndoUI", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/TemporaryCachedPeerDataManager:TemporaryCachedPeerDataManager", + "//submodules/ItemListPeerItem:ItemListPeerItem", + "//submodules/ItemListPeerActionItem:ItemListPeerActionItem", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/SearchUI:SearchUI", + "//submodules/MergeLists:MergeLists", + "//submodules/TextFormat:TextFormat", + "//submodules/LegacyUI:LegacyUI", + "//submodules/GalleryUI:GalleryUI", + "//submodules/ShareController:ShareController", + "//submodules/WebSearchUI:WebSearchUI", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/ContactsPeerItem:ContactsPeerItem", + "//submodules/PasswordSetupUI:PasswordSetupUI", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/TelegramPermissionsUI:TelegramPermissionsUI", + "//submodules/ProgressNavigationButtonNode:ProgressNavigationButtonNode", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/PhotoResources:PhotoResources", + "//submodules/MediaResources:MediaResources", + "//submodules/Geocoding:Geocoding", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/LocationUI:LocationUI", + "//submodules/StickerResources:StickerResources", + "//submodules/StickerPackPreviewUI:StickerPackPreviewUI", + "//submodules/PeerAvatarGalleryUI:PeerAvatarGalleryUI", + "//submodules/Emoji:Emoji", + "//submodules/ItemListStickerPackItem:ItemListStickerPackItem", + "//submodules/NotificationMuteSettingsUI:NotificationMuteSettingsUI", + "//submodules/SinglePhoneInputNode:SinglePhoneInputNode", + "//submodules/MapResourceToAvatarSizes:MapResourceToAvatarSizes", + "//submodules/NotificationSoundSelectionUI:NotificationSoundSelectionUI", + "//submodules/EncryptionKeyVisualization:EncryptionKeyVisualization", + "//submodules/ItemListAddressItem:ItemListAddressItem", + "//submodules/ContactListUI:ContactListUI", + "//submodules/ContextUI:ContextUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/MessageUI.framework", + "$SDKROOT/System/Library/Frameworks/WebKit.framework", + "$SDKROOT/System/Library/Frameworks/SafariServices.framework", + ], +) diff --git a/submodules/PeerInfoUI/PeerInfoUI.xcodeproj/project.pbxproj b/submodules/PeerInfoUI/PeerInfoUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..d6bedbf1bc --- /dev/null +++ b/submodules/PeerInfoUI/PeerInfoUI.xcodeproj/project.pbxproj @@ -0,0 +1,3029 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29F680D05100000000 + + isa + PBXFileReference + name + PeerInfoUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/PeerInfoUI/PeerInfoUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293EB0977B00000000 + + isa + PBXFileReference + name + PeerInfoUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/PeerInfoUI/PeerInfoUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B24742DD00000000 + + isa + PBXFileReference + name + PeerInfoUI-Release.xcconfig + path + ../../buck-out/gen/submodules/PeerInfoUI/PeerInfoUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29F680D05100000000 + 1DD70E293EB0977B00000000 + 1DD70E29B24742DD00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292F91702000000000 + + isa + PBXFileReference + name + libContactListUI.a + path + libContactListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2931752C6000000000 + + isa + PBXFileReference + name + libContactsPeerItem.a + path + libContactsPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29A59C927400000000 + + isa + PBXFileReference + name + libEmoji.a + path + libEmoji.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AE190FC000000000 + + isa + PBXFileReference + name + libEncryptionKeyVisualization.a + path + libEncryptionKeyVisualization.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D1EB356900000000 + + isa + PBXFileReference + name + libGeocoding.a + path + libGeocoding.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C137890400000000 + + isa + PBXFileReference + name + libItemListAddressItem.a + path + libItemListAddressItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F2CA340700000000 + + isa + PBXFileReference + name + libItemListAvatarAndNameInfoItem.a + path + libItemListAvatarAndNameInfoItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2905A95CB400000000 + + isa + PBXFileReference + name + libItemListPeerActionItem.a + path + libItemListPeerActionItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295C00B78600000000 + + isa + PBXFileReference + name + libItemListStickerPackItem.a + path + libItemListStickerPackItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C39078B00000000 + + isa + PBXFileReference + name + libLegacyMediaPickerUI.a + path + libLegacyMediaPickerUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E102CFE100000000 + + isa + PBXFileReference + name + libLocationUI.a + path + libLocationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A3994F2C00000000 + + isa + PBXFileReference + name + libMapResourceToAvatarSizes.a + path + libMapResourceToAvatarSizes.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E298ED1FB1300000000 + + isa + PBXFileReference + name + libNotificationMuteSettingsUI.a + path + libNotificationMuteSettingsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2937C1167400000000 + + isa + PBXFileReference + name + libNotificationSoundSelectionUI.a + path + libNotificationSoundSelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299856EB2400000000 + + isa + PBXFileReference + name + libPasswordSetupUI.a + path + libPasswordSetupUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7165FF900000000 + + isa + PBXFileReference + name + libPeerAvatarGalleryUI.a + path + libPeerAvatarGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291328E99400000000 + + isa + PBXFileReference + name + libSearchUI.a + path + libSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29135DFEDE00000000 + + isa + PBXFileReference + name + libSinglePhoneInputNode.a + path + libSinglePhoneInputNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC815E00000000 + + isa + PBXFileReference + name + libStickerPackPreviewUI.a + path + libStickerPackPreviewUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AE67341000000000 + + isa + PBXFileReference + name + libUndoUI.a + path + libUndoUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF12291E00000000 + + isa + PBXFileReference + name + libWebSearchUI.a + path + libWebSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FD72F45600000000 + 1DD70E2907DC840B00000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E292F91702000000000 + 1DD70E2931752C6000000000 + 1DD70E296C9831F100000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29A59C927400000000 + 1DD70E29AE190FC000000000 + 1DD70E29F29DEA1400000000 + 1DD70E29D1EB356900000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29C6E517A300000000 + 1DD70E29247D9AC100000000 + 1DD70E29C137890400000000 + 1DD70E29F2CA340700000000 + 1DD70E2905A95CB400000000 + 1DD70E299A24C4DE00000000 + 1DD70E295C00B78600000000 + 1DD70E295A26607D00000000 + 1DD70E296C39078B00000000 + 1DD70E2952137F3500000000 + 1DD70E29AC43662400000000 + 1DD70E2968BAC05A00000000 + 1DD70E29CE34063500000000 + 1DD70E29E102CFE100000000 + 1DD70E29A3994F2C00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E298ED1FB1300000000 + 1DD70E2937C1167400000000 + 1DD70E29AF00DC4900000000 + 1DD70E29BBAF750C00000000 + 1DD70E299856EB2400000000 + 1DD70E29C7165FF900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E291631B91900000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293E4DE92B00000000 + 1DD70E29AD66967300000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E291328E99400000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E29135DFEDE00000000 + 1DD70E29524F478E00000000 + 1DD70E2907DC815E00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E29DF758A8500000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E29AE67341000000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29DF12291E00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E293E55698D00000000 + + isa + PBXFileReference + name + ChannelAdminController.swift + path + Sources/ChannelAdminController.swift + sourceTree + SOURCE_ROOT + + 1DD70E290738312800000000 + + isa + PBXFileReference + name + ChannelAdminsController.swift + path + Sources/ChannelAdminsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29491B6B3C00000000 + + isa + PBXFileReference + name + ChannelBannedMemberController.swift + path + Sources/ChannelBannedMemberController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2954297CDB00000000 + + isa + PBXFileReference + name + ChannelBlacklistController.swift + path + Sources/ChannelBlacklistController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F85B15AD00000000 + + isa + PBXFileReference + name + ChannelDiscussionGroupActionSheetItem.swift + path + Sources/ChannelDiscussionGroupActionSheetItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BFDE8A4C00000000 + + isa + PBXFileReference + name + ChannelDiscussionGroupSearchContainerNode.swift + path + Sources/ChannelDiscussionGroupSearchContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AF34026A00000000 + + isa + PBXFileReference + name + ChannelDiscussionGroupSetupController.swift + path + Sources/ChannelDiscussionGroupSetupController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C24A170E00000000 + + isa + PBXFileReference + name + ChannelDiscussionGroupSetupHeaderItem.swift + path + Sources/ChannelDiscussionGroupSetupHeaderItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E299E66B46900000000 + + isa + PBXFileReference + name + ChannelDiscussionGroupSetupSearchItem.swift + path + Sources/ChannelDiscussionGroupSetupSearchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B3BAEF9200000000 + + isa + PBXFileReference + name + ChannelInfoController.swift + path + Sources/ChannelInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29068B181700000000 + + isa + PBXFileReference + name + ChannelMembersController.swift + path + Sources/ChannelMembersController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D4919DAA00000000 + + isa + PBXFileReference + name + ChannelMembersSearchContainerNode.swift + path + Sources/ChannelMembersSearchContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E290ED4795F00000000 + + isa + PBXFileReference + name + ChannelMembersSearchController.swift + path + Sources/ChannelMembersSearchController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2982920D0100000000 + + isa + PBXFileReference + name + ChannelMembersSearchControllerNode.swift + path + Sources/ChannelMembersSearchControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E291CD8C53800000000 + + isa + PBXFileReference + name + ChannelOwnershipTransferController.swift + path + Sources/ChannelOwnershipTransferController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B04BF70200000000 + + isa + PBXFileReference + name + ChannelPermissionsController.swift + path + Sources/ChannelPermissionsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FCCD8ADD00000000 + + isa + PBXFileReference + name + ChannelStatsController.swift + path + Sources/ChannelStatsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C28A2F7F00000000 + + isa + PBXFileReference + name + ChannelStatsControllerNode.swift + path + Sources/ChannelStatsControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E296B5037B600000000 + + isa + PBXFileReference + name + ChannelVisibilityController.swift + path + Sources/ChannelVisibilityController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A3981B5400000000 + + isa + PBXFileReference + name + ChatSlowmodeItem.swift + path + Sources/ChatSlowmodeItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F670175300000000 + + isa + PBXFileReference + name + ConvertToSupergroupController.swift + path + Sources/ConvertToSupergroupController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29013401F900000000 + + isa + PBXFileReference + name + DeviceContactInfoController.swift + path + Sources/DeviceContactInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E295B494B0E00000000 + + isa + PBXFileReference + name + GroupInfoController.swift + path + Sources/GroupInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E294A7BFD0D00000000 + + isa + PBXFileReference + name + GroupInfoSearchItem.swift + path + Sources/GroupInfoSearchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E295DDA07D700000000 + + isa + PBXFileReference + name + GroupInfoSearchNavigationContentNode.swift + path + Sources/GroupInfoSearchNavigationContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29035D478E00000000 + + isa + PBXFileReference + name + GroupPreHistorySetupController.swift + path + Sources/GroupPreHistorySetupController.swift + sourceTree + SOURCE_ROOT + + 1DD70E292F4F197A00000000 + + isa + PBXFileReference + name + GroupStickerPackCurrentItem.swift + path + Sources/GroupStickerPackCurrentItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DF75C90700000000 + + isa + PBXFileReference + name + GroupStickerPackSetupController.swift + path + Sources/GroupStickerPackSetupController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2979370EE500000000 + + isa + PBXFileReference + name + GroupsInCommonController.swift + path + Sources/GroupsInCommonController.swift + sourceTree + SOURCE_ROOT + + 1DD70E295B75190500000000 + + isa + PBXFileReference + name + ItemListCallListItem.swift + path + Sources/ItemListCallListItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EBEA743E00000000 + + isa + PBXFileReference + name + ItemListSecretChatKeyItem.swift + path + Sources/ItemListSecretChatKeyItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29512F16D500000000 + + isa + PBXFileReference + name + PeerBanTimeoutController.swift + path + Sources/PeerBanTimeoutController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2904953AB100000000 + + isa + PBXFileReference + name + PeerInfoController.swift + path + Sources/PeerInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2971FBBEB700000000 + + isa + PBXFileReference + name + PeerReportController.swift + path + Sources/PeerReportController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E9F8C3A700000000 + + isa + PBXFileReference + name + PhoneLabelController.swift + path + Sources/PhoneLabelController.swift + sourceTree + SOURCE_ROOT + + 1DD70E290F22265800000000 + + isa + PBXFileReference + name + SecretChatKeyController.swift + path + Sources/SecretChatKeyController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2919DE957A00000000 + + isa + PBXFileReference + name + SecretChatKeyControllerNode.swift + path + Sources/SecretChatKeyControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FF53669A00000000 + + isa + PBXFileReference + name + UserInfoController.swift + path + Sources/UserInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F76048FD00000000 + + isa + PBXFileReference + name + UserInfoEditingPhoneActionItem.swift + path + Sources/UserInfoEditingPhoneActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A06F296700000000 + + isa + PBXFileReference + name + UserInfoEditingPhoneItem.swift + path + Sources/UserInfoEditingPhoneItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E293E55698D00000000 + 1DD70E290738312800000000 + 1DD70E29491B6B3C00000000 + 1DD70E2954297CDB00000000 + 1DD70E29F85B15AD00000000 + 1DD70E29BFDE8A4C00000000 + 1DD70E29AF34026A00000000 + 1DD70E29C24A170E00000000 + 1DD70E299E66B46900000000 + 1DD70E29B3BAEF9200000000 + 1DD70E29068B181700000000 + 1DD70E29D4919DAA00000000 + 1DD70E290ED4795F00000000 + 1DD70E2982920D0100000000 + 1DD70E291CD8C53800000000 + 1DD70E29B04BF70200000000 + 1DD70E29FCCD8ADD00000000 + 1DD70E29C28A2F7F00000000 + 1DD70E296B5037B600000000 + 1DD70E29A3981B5400000000 + 1DD70E29F670175300000000 + 1DD70E29013401F900000000 + 1DD70E295B494B0E00000000 + 1DD70E294A7BFD0D00000000 + 1DD70E295DDA07D700000000 + 1DD70E29035D478E00000000 + 1DD70E292F4F197A00000000 + 1DD70E29DF75C90700000000 + 1DD70E2979370EE500000000 + 1DD70E295B75190500000000 + 1DD70E29EBEA743E00000000 + 1DD70E29512F16D500000000 + 1DD70E2904953AB100000000 + 1DD70E2971FBBEB700000000 + 1DD70E29E9F8C3A700000000 + 1DD70E290F22265800000000 + 1DD70E2919DE957A00000000 + 1DD70E29FF53669A00000000 + 1DD70E29F76048FD00000000 + 1DD70E29A06F296700000000 + + + B401C979E32023E400000000 + + isa + PBXGroup + name + PeerInfoUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E297657C3DC00000000 + + isa + PBXFileReference + name + libPeerInfoUI.a + path + libPeerInfoUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E297657C3DC00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979E32023E400000000 + B401C979C806358400000000 + + + E7A30F043E55698D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E55698D00000000 + + E7A30F040738312800000000 + + isa + PBXBuildFile + fileRef + 1DD70E290738312800000000 + + E7A30F04491B6B3C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29491B6B3C00000000 + + E7A30F0454297CDB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2954297CDB00000000 + + E7A30F04F85B15AD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F85B15AD00000000 + + E7A30F04BFDE8A4C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BFDE8A4C00000000 + + E7A30F04AF34026A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF34026A00000000 + + E7A30F04C24A170E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C24A170E00000000 + + E7A30F049E66B46900000000 + + isa + PBXBuildFile + fileRef + 1DD70E299E66B46900000000 + + E7A30F04B3BAEF9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B3BAEF9200000000 + + E7A30F04068B181700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29068B181700000000 + + E7A30F04D4919DAA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D4919DAA00000000 + + E7A30F040ED4795F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290ED4795F00000000 + + E7A30F0482920D0100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2982920D0100000000 + + E7A30F041CD8C53800000000 + + isa + PBXBuildFile + fileRef + 1DD70E291CD8C53800000000 + + E7A30F04B04BF70200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B04BF70200000000 + + E7A30F04FCCD8ADD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FCCD8ADD00000000 + + E7A30F04C28A2F7F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C28A2F7F00000000 + + E7A30F046B5037B600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296B5037B600000000 + + E7A30F04A3981B5400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A3981B5400000000 + + E7A30F04F670175300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F670175300000000 + + E7A30F04013401F900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29013401F900000000 + + E7A30F045B494B0E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295B494B0E00000000 + + E7A30F044A7BFD0D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294A7BFD0D00000000 + + E7A30F045DDA07D700000000 + + isa + PBXBuildFile + fileRef + 1DD70E295DDA07D700000000 + + E7A30F04035D478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29035D478E00000000 + + E7A30F042F4F197A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F4F197A00000000 + + E7A30F04DF75C90700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF75C90700000000 + + E7A30F0479370EE500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979370EE500000000 + + E7A30F045B75190500000000 + + isa + PBXBuildFile + fileRef + 1DD70E295B75190500000000 + + E7A30F04EBEA743E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EBEA743E00000000 + + E7A30F04512F16D500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29512F16D500000000 + + E7A30F0404953AB100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2904953AB100000000 + + E7A30F0471FBBEB700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971FBBEB700000000 + + E7A30F04E9F8C3A700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E9F8C3A700000000 + + E7A30F040F22265800000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F22265800000000 + + E7A30F0419DE957A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2919DE957A00000000 + + E7A30F04FF53669A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF53669A00000000 + + E7A30F04F76048FD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F76048FD00000000 + + E7A30F04A06F296700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A06F296700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F043E55698D00000000 + E7A30F040738312800000000 + E7A30F04491B6B3C00000000 + E7A30F0454297CDB00000000 + E7A30F04F85B15AD00000000 + E7A30F04BFDE8A4C00000000 + E7A30F04AF34026A00000000 + E7A30F04C24A170E00000000 + E7A30F049E66B46900000000 + E7A30F04B3BAEF9200000000 + E7A30F04068B181700000000 + E7A30F04D4919DAA00000000 + E7A30F040ED4795F00000000 + E7A30F0482920D0100000000 + E7A30F041CD8C53800000000 + E7A30F04B04BF70200000000 + E7A30F04FCCD8ADD00000000 + E7A30F04C28A2F7F00000000 + E7A30F046B5037B600000000 + E7A30F04A3981B5400000000 + E7A30F04F670175300000000 + E7A30F04013401F900000000 + E7A30F045B494B0E00000000 + E7A30F044A7BFD0D00000000 + E7A30F045DDA07D700000000 + E7A30F04035D478E00000000 + E7A30F042F4F197A00000000 + E7A30F04DF75C90700000000 + E7A30F0479370EE500000000 + E7A30F045B75190500000000 + E7A30F04EBEA743E00000000 + E7A30F04512F16D500000000 + E7A30F0404953AB100000000 + E7A30F0471FBBEB700000000 + E7A30F04E9F8C3A700000000 + E7A30F040F22265800000000 + E7A30F0419DE957A00000000 + E7A30F04FF53669A00000000 + E7A30F04F76048FD00000000 + E7A30F04A06F296700000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04FD72F45600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD72F45600000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F0407DC840B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC840B00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F0431752C6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2931752C6000000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F041328E99400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291328E99400000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F04DF758A8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF758A8500000000 + + E7A30F042F91702000000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F91702000000000 + + E7A30F04A59C927400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A59C927400000000 + + E7A30F04AE190FC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE190FC000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + E7A30F04F29DEA1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F29DEA1400000000 + + E7A30F04D1EB356900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D1EB356900000000 + + E7A30F04C137890400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C137890400000000 + + E7A30F04F2CA340700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F2CA340700000000 + + E7A30F0405A95CB400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2905A95CB400000000 + + E7A30F045C00B78600000000 + + isa + PBXBuildFile + fileRef + 1DD70E295C00B78600000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04E102CFE100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E102CFE100000000 + + E7A30F04A3994F2C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A3994F2C00000000 + + E7A30F048ED1FB1300000000 + + isa + PBXBuildFile + fileRef + 1DD70E298ED1FB1300000000 + + E7A30F0437C1167400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2937C1167400000000 + + E7A30F049856EB2400000000 + + isa + PBXBuildFile + fileRef + 1DD70E299856EB2400000000 + + E7A30F04C7165FF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7165FF900000000 + + E7A30F04135DFEDE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29135DFEDE00000000 + + E7A30F0407DC815E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC815E00000000 + + E7A30F04AE67341000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE67341000000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F0468BAC05A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968BAC05A00000000 + + E7A30F046C39078B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C39078B00000000 + + E7A30F04DF12291E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF12291E00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04F523B9DE00000000 + E7A30F04AC43662400000000 + E7A30F04FD72F45600000000 + E7A30F04EA9CBB5B00000000 + E7A30F0407DC840B00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F0497B4D6D800000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04C37F741500000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F0431752C6000000000 + E7A30F04BBAF750C00000000 + E7A30F041328E99400000000 + E7A30F041E16CC6C00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F047AB043C800000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + E7A30F041631B91900000000 + E7A30F04524F478E00000000 + E7A30F04DF758A8500000000 + E7A30F042F91702000000000 + E7A30F04A59C927400000000 + E7A30F04AE190FC000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + E7A30F04F29DEA1400000000 + E7A30F04D1EB356900000000 + E7A30F04C137890400000000 + E7A30F04F2CA340700000000 + E7A30F0405A95CB400000000 + E7A30F045C00B78600000000 + E7A30F0452137F3500000000 + E7A30F04E102CFE100000000 + E7A30F04A3994F2C00000000 + E7A30F048ED1FB1300000000 + E7A30F0437C1167400000000 + E7A30F049856EB2400000000 + E7A30F04C7165FF900000000 + E7A30F04135DFEDE00000000 + E7A30F0407DC815E00000000 + E7A30F04AE67341000000000 + E7A30F04C6E517A300000000 + E7A30F0468BAC05A00000000 + E7A30F046C39078B00000000 + E7A30F04DF12291E00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29F680D05100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293EB0977B00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B24742DD00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE32023E400000000 + + isa + PBXNativeTarget + name + PeerInfoUI + productName + PeerInfoUI + productReference + 1DD70E297657C3DC00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E32023E400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE32023E400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E32023E400000000 + + \ No newline at end of file diff --git a/submodules/PeerInfoUI/PeerInfoUI.xcodeproj/xcshareddata/xcschemes/PeerInfoUI.xcscheme b/submodules/PeerInfoUI/PeerInfoUI.xcodeproj/xcshareddata/xcschemes/PeerInfoUI.xcscheme new file mode 100644 index 0000000000..9885e7667d --- /dev/null +++ b/submodules/PeerInfoUI/PeerInfoUI.xcodeproj/xcshareddata/xcschemes/PeerInfoUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeerInfoUI/PeerInfoUI_Xcode.xcodeproj/project.pbxproj b/submodules/PeerInfoUI/PeerInfoUI_Xcode.xcodeproj/project.pbxproj index 3b58668939..2f3aa2c5bb 100644 --- a/submodules/PeerInfoUI/PeerInfoUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/PeerInfoUI/PeerInfoUI_Xcode.xcodeproj/project.pbxproj @@ -88,7 +88,6 @@ D03E41182304D2690049C28B /* LocationUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E41172304D2690049C28B /* LocationUI.framework */; }; D03E411A2304D27E0049C28B /* StickerResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E41192304D27E0049C28B /* StickerResources.framework */; }; D03E411C2304D2870049C28B /* StickerPackPreviewUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E411B2304D2870049C28B /* StickerPackPreviewUI.framework */; }; - D03E411E2304D2C20049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E411D2304D2C20049C28B /* FrameworkBundle.swift */; }; D03E41212304D3040049C28B /* UserInfoEditingPhoneItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E411F2304D3030049C28B /* UserInfoEditingPhoneItem.swift */; }; D03E41222304D3040049C28B /* UserInfoEditingPhoneActionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E41202304D3040049C28B /* UserInfoEditingPhoneActionItem.swift */; }; D03E41432304D4010049C28B /* PeerAvatarGalleryUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E41422304D4010049C28B /* PeerAvatarGalleryUI.framework */; }; @@ -100,6 +99,7 @@ D03E428823056B590049C28B /* NotificationSoundSelectionUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E428723056B590049C28B /* NotificationSoundSelectionUI.framework */; }; D03E42B223056C6E0049C28B /* EncryptionKeyVisualization.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E42B123056C6D0049C28B /* EncryptionKeyVisualization.framework */; }; D03E42E42305724A0049C28B /* ItemListAddressItem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E42E32305724A0049C28B /* ItemListAddressItem.framework */; }; + D0EFF26C2319829500CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF26B2319829500CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -186,7 +186,6 @@ D03E41172304D2690049C28B /* LocationUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocationUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E41192304D27E0049C28B /* StickerResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StickerResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E411B2304D2870049C28B /* StickerPackPreviewUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StickerPackPreviewUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E411D2304D2C20049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D03E411F2304D3030049C28B /* UserInfoEditingPhoneItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserInfoEditingPhoneItem.swift; sourceTree = ""; }; D03E41202304D3040049C28B /* UserInfoEditingPhoneActionItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserInfoEditingPhoneActionItem.swift; sourceTree = ""; }; D03E41422304D4010049C28B /* PeerAvatarGalleryUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeerAvatarGalleryUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -198,6 +197,7 @@ D03E428723056B590049C28B /* NotificationSoundSelectionUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = NotificationSoundSelectionUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E42B123056C6D0049C28B /* EncryptionKeyVisualization.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = EncryptionKeyVisualization.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E42E32305724A0049C28B /* ItemListAddressItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListAddressItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF26B2319829500CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -205,6 +205,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF26C2319829500CF5164 /* AppBundle.framework in Frameworks */, D03E42E42305724A0049C28B /* ItemListAddressItem.framework in Frameworks */, D03E42B223056C6E0049C28B /* EncryptionKeyVisualization.framework in Frameworks */, D03E428823056B590049C28B /* NotificationSoundSelectionUI.framework in Frameworks */, @@ -323,7 +324,6 @@ D03E407B2304D1190049C28B /* SecretChatKeyController.swift */, D03E407D2304D1190049C28B /* SecretChatKeyControllerNode.swift */, D03E408E2304D11D0049C28B /* UserInfoController.swift */, - D03E411D2304D2C20049C28B /* FrameworkBundle.swift */, D03E406C2304D0B30049C28B /* PeerInfoUI.h */, ); path = Sources; @@ -332,6 +332,7 @@ D03E40C82304D13C0049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF26B2319829500CF5164 /* AppBundle.framework */, D03E42E32305724A0049C28B /* ItemListAddressItem.framework */, D03E42B123056C6D0049C28B /* EncryptionKeyVisualization.framework */, D03E428723056B590049C28B /* NotificationSoundSelectionUI.framework */, @@ -491,7 +492,6 @@ D03E40B12304D1240049C28B /* ConvertToSupergroupController.swift in Sources */, D03E41222304D3040049C28B /* UserInfoEditingPhoneActionItem.swift in Sources */, D03E40A72304D1240049C28B /* ItemListSecretChatKeyItem.swift in Sources */, - D03E411E2304D2C20049C28B /* FrameworkBundle.swift in Sources */, D03E40BD2304D1240049C28B /* ChannelStatsControllerNode.swift in Sources */, D03E40AC2304D1240049C28B /* ChannelDiscussionGroupActionSheetItem.swift in Sources */, D03E40A62304D1240049C28B /* ChannelDiscussionGroupSetupController.swift in Sources */, diff --git a/submodules/PeerInfoUI/Sources/ChannelDiscussionGroupSetupHeaderItem.swift b/submodules/PeerInfoUI/Sources/ChannelDiscussionGroupSetupHeaderItem.swift index 644872f784..03aba65955 100644 --- a/submodules/PeerInfoUI/Sources/ChannelDiscussionGroupSetupHeaderItem.swift +++ b/submodules/PeerInfoUI/Sources/ChannelDiscussionGroupSetupHeaderItem.swift @@ -6,6 +6,7 @@ import SwiftSignalKit import TelegramPresentationData import ItemListUI import TextFormat +import AppBundle class ChannelDiscussionGroupSetupHeaderItem: ListViewItem, ItemListItem { let theme: PresentationTheme diff --git a/submodules/PeerInfoUI/Sources/FrameworkBundle.swift b/submodules/PeerInfoUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/PeerInfoUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/PeerInfoUI/Sources/GroupInfoController.swift b/submodules/PeerInfoUI/Sources/GroupInfoController.swift index e4efa8bec2..11ba952010 100644 --- a/submodules/PeerInfoUI/Sources/GroupInfoController.swift +++ b/submodules/PeerInfoUI/Sources/GroupInfoController.swift @@ -33,6 +33,7 @@ import NotificationMuteSettingsUI import MapResourceToAvatarSizes import NotificationSoundSelectionUI import ItemListAddressItem +import AppBundle private final class GroupInfoArguments { let context: AccountContext diff --git a/submodules/PeerInfoUI/Sources/GroupStickerPackCurrentItem.swift b/submodules/PeerInfoUI/Sources/GroupStickerPackCurrentItem.swift index afd9cfd188..1f9fa3103d 100644 --- a/submodules/PeerInfoUI/Sources/GroupStickerPackCurrentItem.swift +++ b/submodules/PeerInfoUI/Sources/GroupStickerPackCurrentItem.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import ItemListUI import ActivityIndicator import StickerResources +import AppBundle enum GroupStickerPackCurrentItemContent: Equatable { case notFound diff --git a/submodules/PeerInfoUI/Sources/PeerReportController.swift b/submodules/PeerInfoUI/Sources/PeerReportController.swift index e827dff690..db0614a5bb 100644 --- a/submodules/PeerInfoUI/Sources/PeerReportController.swift +++ b/submodules/PeerInfoUI/Sources/PeerReportController.swift @@ -94,7 +94,7 @@ public func presentPeerReportOptions(context: AccountContext, parent: ViewContro f(.dismissWithoutContent) }))) } - contextController.setItems(items) + contextController.setItems(.single(items)) } else { contextController?.dismiss() parent.view.endEditing(true) diff --git a/submodules/PeerInfoUI/Sources/UserInfoController.swift b/submodules/PeerInfoUI/Sources/UserInfoController.swift index 9e93dc7bb2..5ef6d36001 100644 --- a/submodules/PeerInfoUI/Sources/UserInfoController.swift +++ b/submodules/PeerInfoUI/Sources/UserInfoController.swift @@ -766,6 +766,30 @@ private func getUserPeer(postbox: Postbox, peerId: PeerId) -> Signal<(Peer?, Cac } } +public func openAddPersonContactImpl(context: AccountContext, peerId: PeerId, present: @escaping (ViewController, Any?) -> Void) { + let _ = (getUserPeer(postbox: context.account.postbox, peerId: peerId) + |> deliverOnMainQueue).start(next: { peer, cachedData in + guard let user = peer as? TelegramUser, let contactData = DeviceContactExtendedData(peer: user) else { + return + } + + var shareViaException = false + if let cachedData = cachedData as? CachedUserData, let peerStatusSettings = cachedData.peerStatusSettings { + shareViaException = peerStatusSettings.contains(.addExceptionWhenAddingContact) + } + + present(deviceContactInfoController(context: context, subject: .create(peer: user, contactData: contactData, isSharing: true, shareViaException: shareViaException, completion: { peer, stableId, contactData in + if let peer = peer as? TelegramUser { + if let phone = peer.phone, !phone.isEmpty { + } + + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + present(OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .genericSuccess(presentationData.strings.AddContact_StatusSuccess(peer.compactDisplayTitle).0, true)), nil) + } + }), completed: nil, cancelled: nil), ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) + }) +} + public func userInfoController(context: AccountContext, peerId: PeerId, mode: PeerInfoControllerMode = .generic) -> ViewController { let statePromise = ValuePromise(UserInfoState(), ignoreRepeated: true) let stateValue = Atomic(value: UserInfoState()) @@ -892,26 +916,8 @@ public func userInfoController(context: AccountContext, peerId: PeerId, mode: Pe }, openChat: { openChatImpl?() }, addContact: { - let _ = (getUserPeer(postbox: context.account.postbox, peerId: peerId) - |> deliverOnMainQueue).start(next: { peer, cachedData in - guard let user = peer as? TelegramUser, let contactData = DeviceContactExtendedData(peer: user) else { - return - } - - var shareViaException = false - if let cachedData = cachedData as? CachedUserData, let peerStatusSettings = cachedData.peerStatusSettings { - shareViaException = peerStatusSettings.contains(.addExceptionWhenAddingContact) - } - - presentControllerImpl?(deviceContactInfoController(context: context, subject: .create(peer: user, contactData: contactData, isSharing: true, shareViaException: shareViaException, completion: { peer, stableId, contactData in - if let peer = peer as? TelegramUser { - if let phone = peer.phone, !phone.isEmpty { - } - - let presentationData = context.sharedContext.currentPresentationData.with { $0 } - presentControllerImpl?(OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .genericSuccess(presentationData.strings.AddContact_StatusSuccess(peer.compactDisplayTitle).0, true)), nil) - } - }), completed: nil, cancelled: nil), ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) + openAddPersonContactImpl(context: context, peerId: peerId, present: { c, a in + presentControllerImpl?(c, a) }) }, shareContact: { shareContactImpl?() diff --git a/submodules/PeerInfoUI/Sources/UserInfoEditingPhoneItem.swift b/submodules/PeerInfoUI/Sources/UserInfoEditingPhoneItem.swift index 30aa46a336..6dcadd8838 100644 --- a/submodules/PeerInfoUI/Sources/UserInfoEditingPhoneItem.swift +++ b/submodules/PeerInfoUI/Sources/UserInfoEditingPhoneItem.swift @@ -6,6 +6,7 @@ import SwiftSignalKit import TelegramPresentationData import ItemListUI import SinglePhoneInputNode +import AppBundle private func generateClearIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Clear"), color: color) diff --git a/submodules/PeerOnlineMarkerNode/BUCK b/submodules/PeerOnlineMarkerNode/BUCK new file mode 100644 index 0000000000..b66a884732 --- /dev/null +++ b/submodules/PeerOnlineMarkerNode/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PeerOnlineMarkerNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode.xcodeproj/project.pbxproj b/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..386e3a449e --- /dev/null +++ b/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2987E08AE400000000 + + isa + PBXFileReference + name + PeerOnlineMarkerNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F70BF94E00000000 + + isa + PBXFileReference + name + PeerOnlineMarkerNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296AA2A4B000000000 + + isa + PBXFileReference + name + PeerOnlineMarkerNode-Release.xcconfig + path + ../../buck-out/gen/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2987E08AE400000000 + 1DD70E29F70BF94E00000000 + 1DD70E296AA2A4B000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E297CE1579600000000 + + isa + PBXFileReference + name + PeerOnlineMarkerNode.swift + path + Sources/PeerOnlineMarkerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E297CE1579600000000 + + + B401C9791B72F5B100000000 + + isa + PBXGroup + name + PeerOnlineMarkerNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29928D142900000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9791B72F5B100000000 + B401C979C806358400000000 + + + E7A30F047CE1579600000000 + + isa + PBXBuildFile + fileRef + 1DD70E297CE1579600000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F047CE1579600000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2987E08AE400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29F70BF94E00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E296AA2A4B000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E1B72F5B100000000 + + isa + PBXNativeTarget + name + PeerOnlineMarkerNode + productName + PeerOnlineMarkerNode + productReference + 1DD70E29928D142900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847931B72F5B100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E1B72F5B100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847931B72F5B100000000 + + \ No newline at end of file diff --git a/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode.xcodeproj/xcshareddata/xcschemes/PeerOnlineMarkerNode.xcscheme b/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode.xcodeproj/xcshareddata/xcschemes/PeerOnlineMarkerNode.xcscheme new file mode 100644 index 0000000000..2d103ac476 --- /dev/null +++ b/submodules/PeerOnlineMarkerNode/PeerOnlineMarkerNode.xcodeproj/xcshareddata/xcschemes/PeerOnlineMarkerNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeerPresenceStatusManager/BUCK b/submodules/PeerPresenceStatusManager/BUCK new file mode 100644 index 0000000000..aab8a8561d --- /dev/null +++ b/submodules/PeerPresenceStatusManager/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PeerPresenceStatusManager", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager.xcodeproj/project.pbxproj b/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..6972af2829 --- /dev/null +++ b/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager.xcodeproj/project.pbxproj @@ -0,0 +1,423 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2994334F3700000000 + + isa + PBXFileReference + name + PeerPresenceStatusManager-Debug.xcconfig + path + ../../buck-out/gen/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2939BEF4E100000000 + + isa + PBXFileReference + name + PeerPresenceStatusManager-Profile.xcconfig + path + ../../buck-out/gen/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AD55A04300000000 + + isa + PBXFileReference + name + PeerPresenceStatusManager-Release.xcconfig + path + ../../buck-out/gen/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2994334F3700000000 + 1DD70E2939BEF4E100000000 + 1DD70E29AD55A04300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E298AD7D9E300000000 + + isa + PBXFileReference + name + PeerPresenceStatusManager.swift + path + Sources/PeerPresenceStatusManager.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E298AD7D9E300000000 + + + B401C979FBD875BE00000000 + + isa + PBXGroup + name + PeerPresenceStatusManager + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D233F68C00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979FBD875BE00000000 + B401C979C806358400000000 + + + E7A30F048AD7D9E300000000 + + isa + PBXBuildFile + fileRef + 1DD70E298AD7D9E300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F048AD7D9E300000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2994334F3700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2939BEF4E100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AD55A04300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EFBD875BE00000000 + + isa + PBXNativeTarget + name + PeerPresenceStatusManager + productName + PeerPresenceStatusManager + productReference + 1DD70E29D233F68C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793FBD875BE00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EFBD875BE00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793FBD875BE00000000 + + \ No newline at end of file diff --git a/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager.xcodeproj/xcshareddata/xcschemes/PeerPresenceStatusManager.xcscheme b/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager.xcodeproj/xcshareddata/xcschemes/PeerPresenceStatusManager.xcscheme new file mode 100644 index 0000000000..cf4baed0dd --- /dev/null +++ b/submodules/PeerPresenceStatusManager/PeerPresenceStatusManager.xcodeproj/xcshareddata/xcschemes/PeerPresenceStatusManager.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeersNearbyIconNode/BUCK b/submodules/PeersNearbyIconNode/BUCK new file mode 100644 index 0000000000..fc85af9a70 --- /dev/null +++ b/submodules/PeersNearbyIconNode/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PeersNearbyIconNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/PeersNearbyIconNode/PeersNearbyIconNode.xcodeproj/project.pbxproj b/submodules/PeersNearbyIconNode/PeersNearbyIconNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..0f48b0b4f5 --- /dev/null +++ b/submodules/PeersNearbyIconNode/PeersNearbyIconNode.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E292B02120A00000000 + + isa + PBXFileReference + name + PeersNearbyIconNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/PeersNearbyIconNode/PeersNearbyIconNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2957E84EF400000000 + + isa + PBXFileReference + name + PeersNearbyIconNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/PeersNearbyIconNode/PeersNearbyIconNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CB7EFA5600000000 + + isa + PBXFileReference + name + PeersNearbyIconNode-Release.xcconfig + path + ../../buck-out/gen/submodules/PeersNearbyIconNode/PeersNearbyIconNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E292B02120A00000000 + 1DD70E2957E84EF400000000 + 1DD70E29CB7EFA5600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F7A20DB000000000 + + isa + PBXFileReference + name + PeersNearbyIconNode.swift + path + Sources/PeersNearbyIconNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F7A20DB000000000 + + + B401C9790A14C74B00000000 + + isa + PBXGroup + name + PeersNearbyIconNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E291631B91900000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9790A14C74B00000000 + B401C979C806358400000000 + + + E7A30F04F7A20DB000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F7A20DB000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F7A20DB000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E292B02120A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2957E84EF400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CB7EFA5600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0A14C74B00000000 + + isa + PBXNativeTarget + name + PeersNearbyIconNode + productName + PeersNearbyIconNode + productReference + 1DD70E291631B91900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930A14C74B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0A14C74B00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930A14C74B00000000 + + \ No newline at end of file diff --git a/submodules/PeersNearbyIconNode/PeersNearbyIconNode.xcodeproj/xcshareddata/xcschemes/PeersNearbyIconNode.xcscheme b/submodules/PeersNearbyIconNode/PeersNearbyIconNode.xcodeproj/xcshareddata/xcschemes/PeersNearbyIconNode.xcscheme new file mode 100644 index 0000000000..0511813105 --- /dev/null +++ b/submodules/PeersNearbyIconNode/PeersNearbyIconNode.xcodeproj/xcshareddata/xcschemes/PeersNearbyIconNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeersNearbyUI/BUCK b/submodules/PeersNearbyUI/BUCK new file mode 100644 index 0000000000..385a18107f --- /dev/null +++ b/submodules/PeersNearbyUI/BUCK @@ -0,0 +1,33 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PeersNearbyUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/ItemListUI:ItemListUI", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/DeviceLocationManager:DeviceLocationManager", + "//submodules/AlertUI:AlertUI", + "//submodules/ItemListPeerItem:ItemListPeerItem", + "//submodules/TelegramPermissionsUI:TelegramPermissionsUI", + "//submodules/ItemListPeerActionItem:ItemListPeerActionItem", + "//submodules/PeersNearbyIconNode:PeersNearbyIconNode", + "//submodules/Geocoding:Geocoding", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/MapKit.framework", + ], +) diff --git a/submodules/PeersNearbyUI/PeersNearbyUI.xcodeproj/project.pbxproj b/submodules/PeersNearbyUI/PeersNearbyUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..cea5cf2706 --- /dev/null +++ b/submodules/PeersNearbyUI/PeersNearbyUI.xcodeproj/project.pbxproj @@ -0,0 +1,1279 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29AAB4FC9100000000 + + isa + PBXFileReference + name + PeersNearbyUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/PeersNearbyUI/PeersNearbyUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B68AB3BB00000000 + + isa + PBXFileReference + name + PeersNearbyUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/PeersNearbyUI/PeersNearbyUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292A215F1D00000000 + + isa + PBXFileReference + name + PeersNearbyUI-Release.xcconfig + path + ../../buck-out/gen/submodules/PeersNearbyUI/PeersNearbyUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29AAB4FC9100000000 + 1DD70E29B68AB3BB00000000 + 1DD70E292A215F1D00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D1EB356900000000 + + isa + PBXFileReference + name + libGeocoding.a + path + libGeocoding.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2905A95CB400000000 + + isa + PBXFileReference + name + libItemListPeerActionItem.a + path + libItemListPeerActionItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E2997B4D6D800000000 + 1DD70E296C9831F100000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D1EB356900000000 + 1DD70E29D6F14E1000000000 + 1DD70E2905A95CB400000000 + 1DD70E299A24C4DE00000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29BBAF750C00000000 + 1DD70E29D233F68C00000000 + 1DD70E291631B91900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E29AD66967300000000 + 1DD70E29524F478E00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E290DD17C7100000000 + 1DD70E29DF758A8500000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299F0A867100000000 + + isa + PBXFileReference + name + PeersNearbyController.swift + path + Sources/PeersNearbyController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B2209B1500000000 + + isa + PBXFileReference + name + PeersNearbyHeaderItem.swift + path + Sources/PeersNearbyHeaderItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299F0A867100000000 + 1DD70E29B2209B1500000000 + + + B401C979E520FFA400000000 + + isa + PBXGroup + name + PeersNearbyUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E297DEE0F7200000000 + + isa + PBXFileReference + name + libPeersNearbyUI.a + path + libPeersNearbyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E297DEE0F7200000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979E520FFA400000000 + B401C979C806358400000000 + + + E7A30F049F0A867100000000 + + isa + PBXBuildFile + fileRef + 1DD70E299F0A867100000000 + + E7A30F04B2209B1500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B2209B1500000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049F0A867100000000 + E7A30F04B2209B1500000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D1EB356900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D1EB356900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F0405A95CB400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2905A95CB400000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F04DF758A8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF758A8500000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04F523B9DE00000000 + E7A30F04D1EB356900000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F0405A95CB400000000 + E7A30F04A54A195300000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F04BBAF750C00000000 + E7A30F041631B91900000000 + E7A30F042417E0B200000000 + E7A30F04524F478E00000000 + E7A30F040DD17C7100000000 + E7A30F04DF758A8500000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29AAB4FC9100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B68AB3BB00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292A215F1D00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE520FFA400000000 + + isa + PBXNativeTarget + name + PeersNearbyUI + productName + PeersNearbyUI + productReference + 1DD70E297DEE0F7200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E520FFA400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE520FFA400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E520FFA400000000 + + \ No newline at end of file diff --git a/submodules/PeersNearbyUI/PeersNearbyUI.xcodeproj/xcshareddata/xcschemes/PeersNearbyUI.xcscheme b/submodules/PeersNearbyUI/PeersNearbyUI.xcodeproj/xcshareddata/xcschemes/PeersNearbyUI.xcscheme new file mode 100644 index 0000000000..2d0a02d5e8 --- /dev/null +++ b/submodules/PeersNearbyUI/PeersNearbyUI.xcodeproj/xcshareddata/xcschemes/PeersNearbyUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PeersNearbyUI/PeersNearbyUI_Xcode.xcodeproj/project.pbxproj b/submodules/PeersNearbyUI/PeersNearbyUI_Xcode.xcodeproj/project.pbxproj index d885b8832e..3e1b88675b 100644 --- a/submodules/PeersNearbyUI/PeersNearbyUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/PeersNearbyUI/PeersNearbyUI_Xcode.xcodeproj/project.pbxproj @@ -28,8 +28,8 @@ D03E402F2304CD100049C28B /* TelegramPermissionsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E402E2304CD100049C28B /* TelegramPermissionsUI.framework */; }; D03E40312304CD170049C28B /* ItemListPeerActionItem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E40302304CD170049C28B /* ItemListPeerActionItem.framework */; }; D03E40332304CD220049C28B /* PeersNearbyIconNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E40322304CD220049C28B /* PeersNearbyIconNode.framework */; }; - D03E40372304CD6C0049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E40362304CD6C0049C28B /* FrameworkBundle.swift */; }; D03E405B2304CE8B0049C28B /* Geocoding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E405A2304CE8B0049C28B /* Geocoding.framework */; }; + D0EFF26E231982AF00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF26D231982AF00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -56,8 +56,8 @@ D03E402E2304CD100049C28B /* TelegramPermissionsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPermissionsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E40302304CD170049C28B /* ItemListPeerActionItem.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListPeerActionItem.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E40322304CD220049C28B /* PeersNearbyIconNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeersNearbyIconNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E40362304CD6C0049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D03E405A2304CE8B0049C28B /* Geocoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Geocoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF26D231982AF00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -65,6 +65,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF26E231982AF00CF5164 /* AppBundle.framework in Frameworks */, D03E405B2304CE8B0049C28B /* Geocoding.framework in Frameworks */, D03E40332304CD220049C28B /* PeersNearbyIconNode.framework in Frameworks */, D03E40312304CD170049C28B /* ItemListPeerActionItem.framework in Frameworks */, @@ -113,7 +114,6 @@ children = ( D03E400B2304CCBD0049C28B /* PeersNearbyController.swift */, D03E400C2304CCBD0049C28B /* PeersNearbyHeaderItem.swift */, - D03E40362304CD6C0049C28B /* FrameworkBundle.swift */, D03E3FFF2304CC5C0049C28B /* PeersNearbyUI.h */, ); path = Sources; @@ -122,6 +122,7 @@ D03E400F2304CCCD0049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF26D231982AF00CF5164 /* AppBundle.framework */, D03E405A2304CE8B0049C28B /* Geocoding.framework */, D03E40322304CD220049C28B /* PeersNearbyIconNode.framework */, D03E40302304CD170049C28B /* ItemListPeerActionItem.framework */, @@ -227,7 +228,6 @@ files = ( D03E400E2304CCBD0049C28B /* PeersNearbyHeaderItem.swift in Sources */, D03E400D2304CCBD0049C28B /* PeersNearbyController.swift in Sources */, - D03E40372304CD6C0049C28B /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/PeersNearbyUI/Sources/FrameworkBundle.swift b/submodules/PeersNearbyUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/PeersNearbyUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/PeersNearbyUI/Sources/PeersNearbyController.swift b/submodules/PeersNearbyUI/Sources/PeersNearbyController.swift index d2b0248f05..cd5c41fe47 100644 --- a/submodules/PeersNearbyUI/Sources/PeersNearbyController.swift +++ b/submodules/PeersNearbyUI/Sources/PeersNearbyController.swift @@ -16,6 +16,7 @@ import ItemListPeerItem import TelegramPermissionsUI import ItemListPeerActionItem import Geocoding +import AppBundle private struct PeerNearbyEntry { let peer: (Peer, CachedPeerData?) diff --git a/submodules/PersistentStringHash/BUCK b/submodules/PersistentStringHash/BUCK new file mode 100644 index 0000000000..1774e12b5b --- /dev/null +++ b/submodules/PersistentStringHash/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PersistentStringHash", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/PersistentStringHash/PersistentStringHash.xcodeproj/project.pbxproj b/submodules/PersistentStringHash/PersistentStringHash.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..8e5c89692b --- /dev/null +++ b/submodules/PersistentStringHash/PersistentStringHash.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2944513F1F00000000 + + isa + PBXFileReference + name + PersistentStringHash-Debug.xcconfig + path + ../../buck-out/gen/submodules/PersistentStringHash/PersistentStringHash-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E295A208AC900000000 + + isa + PBXFileReference + name + PersistentStringHash-Profile.xcconfig + path + ../../buck-out/gen/submodules/PersistentStringHash/PersistentStringHash-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CDB7362B00000000 + + isa + PBXFileReference + name + PersistentStringHash-Release.xcconfig + path + ../../buck-out/gen/submodules/PersistentStringHash/PersistentStringHash-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2944513F1F00000000 + 1DD70E295A208AC900000000 + 1DD70E29CDB7362B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29D7E1C84400000000 + + isa + PBXFileReference + name + StringHash.swift + path + Sources/StringHash.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29D7E1C84400000000 + + + B401C9797FA5B2D600000000 + + isa + PBXGroup + name + PersistentStringHash + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29B5051C0E00000000 + + isa + PBXFileReference + name + libPersistentStringHash.a + path + libPersistentStringHash.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29B5051C0E00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C9797FA5B2D600000000 + B401C979C806358400000000 + + + E7A30F04D7E1C84400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D7E1C84400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04D7E1C84400000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2944513F1F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E295A208AC900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CDB7362B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E7FA5B2D600000000 + + isa + PBXNativeTarget + name + PersistentStringHash + productName + PersistentStringHash + productReference + 1DD70E29B5051C0E00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847937FA5B2D600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E7FA5B2D600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847937FA5B2D600000000 + + \ No newline at end of file diff --git a/submodules/PersistentStringHash/PersistentStringHash.xcodeproj/xcshareddata/xcschemes/PersistentStringHash.xcscheme b/submodules/PersistentStringHash/PersistentStringHash.xcodeproj/xcshareddata/xcschemes/PersistentStringHash.xcscheme new file mode 100644 index 0000000000..f87ef73e91 --- /dev/null +++ b/submodules/PersistentStringHash/PersistentStringHash.xcodeproj/xcshareddata/xcschemes/PersistentStringHash.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PhoneInputNode/BUCK b/submodules/PhoneInputNode/BUCK new file mode 100644 index 0000000000..a7833621ea --- /dev/null +++ b/submodules/PhoneInputNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PhoneInputNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/PhoneInputNode/PhoneInputNode.xcodeproj/project.pbxproj b/submodules/PhoneInputNode/PhoneInputNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..2ebeee2d25 --- /dev/null +++ b/submodules/PhoneInputNode/PhoneInputNode.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E66D25B700000000 + + isa + PBXFileReference + name + PhoneInputNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/PhoneInputNode/PhoneInputNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E4DD2B6100000000 + + isa + PBXFileReference + name + PhoneInputNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/PhoneInputNode/PhoneInputNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E295873D6C300000000 + + isa + PBXFileReference + name + PhoneInputNode-Release.xcconfig + path + ../../buck-out/gen/submodules/PhoneInputNode/PhoneInputNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E66D25B700000000 + 1DD70E29E4DD2B6100000000 + 1DD70E295873D6C300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29547AB36300000000 + + isa + PBXFileReference + name + PhoneInputNode.swift + path + Sources/PhoneInputNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29547AB36300000000 + + + B401C97908FC6F3E00000000 + + isa + PBXGroup + name + PhoneInputNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29005B963600000000 + + isa + PBXFileReference + name + libPhoneInputNode.a + path + libPhoneInputNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29005B963600000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97908FC6F3E00000000 + B401C979C806358400000000 + + + E7A30F04547AB36300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29547AB36300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04547AB36300000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E66D25B700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29E4DD2B6100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E295873D6C300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E08FC6F3E00000000 + + isa + PBXNativeTarget + name + PhoneInputNode + productName + PhoneInputNode + productReference + 1DD70E29005B963600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479308FC6F3E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E08FC6F3E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479308FC6F3E00000000 + + \ No newline at end of file diff --git a/submodules/PhoneInputNode/PhoneInputNode.xcodeproj/xcshareddata/xcschemes/PhoneInputNode.xcscheme b/submodules/PhoneInputNode/PhoneInputNode.xcodeproj/xcshareddata/xcschemes/PhoneInputNode.xcscheme new file mode 100644 index 0000000000..a39d3b7476 --- /dev/null +++ b/submodules/PhoneInputNode/PhoneInputNode.xcodeproj/xcshareddata/xcschemes/PhoneInputNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PhotoResources/BUCK b/submodules/PhotoResources/BUCK new file mode 100644 index 0000000000..6629d4dcae --- /dev/null +++ b/submodules/PhotoResources/BUCK @@ -0,0 +1,29 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PhotoResources", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + "//submodules/ImageTransparency:ImageTransparency", + "//submodules/TinyThumbnail:TinyThumbnail", + "//submodules/ImageBlur:ImageBlur", + "//submodules/Tuples:Tuples", + "//submodules/AccountContext:AccountContext", + "//submodules/MediaResources:MediaResources", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/WebP:WebPImage", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/ImageIO.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", + ], +) diff --git a/submodules/PhotoResources/PhotoResources.xcodeproj/project.pbxproj b/submodules/PhotoResources/PhotoResources.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f7ad8d7d31 --- /dev/null +++ b/submodules/PhotoResources/PhotoResources.xcodeproj/project.pbxproj @@ -0,0 +1,797 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E718282200000000 + + isa + PBXFileReference + name + PhotoResources-Debug.xcconfig + path + ../../buck-out/gen/submodules/PhotoResources/PhotoResources-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2966D13F0C00000000 + + isa + PBXFileReference + name + PhotoResources-Profile.xcconfig + path + ../../buck-out/gen/submodules/PhotoResources/PhotoResources-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DA67EA6E00000000 + + isa + PBXFileReference + name + PhotoResources-Release.xcconfig + path + ../../buck-out/gen/submodules/PhotoResources/PhotoResources-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E718282200000000 + 1DD70E2966D13F0C00000000 + 1DD70E29DA67EA6E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2925EE3C9800000000 + + isa + PBXFileReference + name + PhotoResources.swift + path + Sources/PhotoResources.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2925EE3C9800000000 + + + B401C9793548443300000000 + + isa + PBXGroup + name + PhotoResources + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29490601EB00000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C9793548443300000000 + B401C979C806358400000000 + + + E7A30F0425EE3C9800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925EE3C9800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0425EE3C9800000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E718282200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2966D13F0C00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29DA67EA6E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E3548443300000000 + + isa + PBXNativeTarget + name + PhotoResources + productName + PhotoResources + productReference + 1DD70E29490601EB00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847933548443300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E3548443300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847933548443300000000 + + \ No newline at end of file diff --git a/submodules/PhotoResources/PhotoResources.xcodeproj/xcshareddata/xcschemes/PhotoResources.xcscheme b/submodules/PhotoResources/PhotoResources.xcodeproj/xcshareddata/xcschemes/PhotoResources.xcscheme new file mode 100644 index 0000000000..f2d52e7db1 --- /dev/null +++ b/submodules/PhotoResources/PhotoResources.xcodeproj/xcshareddata/xcschemes/PhotoResources.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/PhotoResources/PhotoResources_Xcode.xcodeproj/project.pbxproj b/submodules/PhotoResources/PhotoResources_Xcode.xcodeproj/project.pbxproj index 4714e52419..32accaaa4b 100644 --- a/submodules/PhotoResources/PhotoResources_Xcode.xcodeproj/project.pbxproj +++ b/submodules/PhotoResources/PhotoResources_Xcode.xcodeproj/project.pbxproj @@ -24,8 +24,8 @@ D0C9C0CB22FE3E1200FAB518 /* Tuples.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C0CA22FE3E1200FAB518 /* Tuples.framework */; }; D0C9C0CD22FE3E1700FAB518 /* ImageBlur.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C0CC22FE3E1700FAB518 /* ImageBlur.framework */; }; D0C9C0F522FE3F8400FAB518 /* TinyThumbnail.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C0F422FE3F8400FAB518 /* TinyThumbnail.framework */; }; - D0C9C0F922FE3FA500FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C0F822FE3FA500FAB518 /* FrameworkBundle.swift */; }; D0C9C11F22FE40B500FAB518 /* ImageTransparency.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C11E22FE40B500FAB518 /* ImageTransparency.framework */; }; + D0EFF24A231980A700CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF249231980A700CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -48,8 +48,8 @@ D0C9C0CA22FE3E1200FAB518 /* Tuples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Tuples.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C0CC22FE3E1700FAB518 /* ImageBlur.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ImageBlur.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C0F422FE3F8400FAB518 /* TinyThumbnail.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TinyThumbnail.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C0F822FE3FA500FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C11E22FE40B500FAB518 /* ImageTransparency.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ImageTransparency.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF249231980A700CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -57,6 +57,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF24A231980A700CF5164 /* AppBundle.framework in Frameworks */, D0C9C11F22FE40B500FAB518 /* ImageTransparency.framework in Frameworks */, D0C9C0F522FE3F8400FAB518 /* TinyThumbnail.framework in Frameworks */, D0C9C0CD22FE3E1700FAB518 /* ImageBlur.framework in Frameworks */, @@ -101,7 +102,6 @@ isa = PBXGroup; children = ( D0C9C0AF22FE3DB800FAB518 /* PhotoResources.swift */, - D0C9C0F822FE3FA500FAB518 /* FrameworkBundle.swift */, D0C9C0A322FE3D6200FAB518 /* PhotoResources.h */, ); path = Sources; @@ -110,6 +110,7 @@ D0C9C0B122FE3DD000FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF249231980A700CF5164 /* AppBundle.framework */, D0C9C11E22FE40B500FAB518 /* ImageTransparency.framework */, D0C9C0F422FE3F8400FAB518 /* TinyThumbnail.framework */, D0C9C0CC22FE3E1700FAB518 /* ImageBlur.framework */, @@ -210,7 +211,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0C9C0F922FE3FA500FAB518 /* FrameworkBundle.swift in Sources */, D0C9C0B022FE3DB800FAB518 /* PhotoResources.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/PhotoResources/Sources/FrameworkBundle.swift b/submodules/PhotoResources/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/PhotoResources/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/PhotoResources/Sources/PhotoResources.swift b/submodules/PhotoResources/Sources/PhotoResources.swift index d98806e57b..e4723c30a8 100644 --- a/submodules/PhotoResources/Sources/PhotoResources.swift +++ b/submodules/PhotoResources/Sources/PhotoResources.swift @@ -18,6 +18,7 @@ import Tuples import ImageBlur import TinyThumbnail import ImageTransparency +import AppBundle private enum ResourceFileData { case data(Data) diff --git a/submodules/PlatformRestrictionMatching/BUCK b/submodules/PlatformRestrictionMatching/BUCK new file mode 100644 index 0000000000..be71f01fa0 --- /dev/null +++ b/submodules/PlatformRestrictionMatching/BUCK @@ -0,0 +1,14 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "PlatformRestrictionMatching", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#dynamic", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching.xcodeproj/project.pbxproj b/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e4b02ee07b --- /dev/null +++ b/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FB1F959F00000000 + + isa + PBXFileReference + name + PlatformRestrictionMatching-Debug.xcconfig + path + ../../buck-out/gen/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2996B3414900000000 + + isa + PBXFileReference + name + PlatformRestrictionMatching-Profile.xcconfig + path + ../../buck-out/gen/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290A49ECAB00000000 + + isa + PBXFileReference + name + PlatformRestrictionMatching-Release.xcconfig + path + ../../buck-out/gen/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FB1F959F00000000 + 1DD70E2996B3414900000000 + 1DD70E290A49ECAB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29119CDA0700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29A6973E7B00000000 + + isa + PBXFileReference + name + PlatformRestrictionMatching.swift + path + Sources/PlatformRestrictionMatching.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29A6973E7B00000000 + + + B401C97921C52C5600000000 + + isa + PBXGroup + name + PlatformRestrictionMatching + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E290F1A3C6400000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C97921C52C5600000000 + B401C979C806358400000000 + + + E7A30F04A6973E7B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6973E7B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04A6973E7B00000000 + + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FB1F959F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2996B3414900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E290A49ECAB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E21C52C5600000000 + + isa + PBXNativeTarget + name + PlatformRestrictionMatching + productName + PlatformRestrictionMatching + productReference + 1DD70E290F1A3C6400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479321C52C5600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E21C52C5600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479321C52C5600000000 + + \ No newline at end of file diff --git a/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching.xcodeproj/xcshareddata/xcschemes/PlatformRestrictionMatching.xcscheme b/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching.xcodeproj/xcshareddata/xcschemes/PlatformRestrictionMatching.xcscheme new file mode 100644 index 0000000000..c628c25a67 --- /dev/null +++ b/submodules/PlatformRestrictionMatching/PlatformRestrictionMatching.xcodeproj/xcshareddata/xcschemes/PlatformRestrictionMatching.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Postbox/BUCK b/submodules/Postbox/BUCK index d1c6ee49da..377921026e 100644 --- a/submodules/Postbox/BUCK +++ b/submodules/Postbox/BUCK @@ -1,44 +1,24 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "framework") -apple_library( - name = 'sqlcipher', - srcs = glob([ - 'Postbox/**/*.m', - 'Postbox/**/*.c', - ]), - headers = glob([ - 'Postbox/**/*.h', - ]), - header_namespace = 'sqlcipher', - exported_headers = glob([ - 'Postbox/**/*.h', - ], exclude = ['Postbox/Postbox.h']), - compiler_flags = [ - '-DNDEBUG', - '-DSQLCIPHER_CRYPTO_CC=1', - '-DSQLITE_ENABLE_FTS5', - '-DSQLITE_DEFAULT_MEMSTATUS=0', - '-DSQLITE_MAX_MMAP_SIZE=0', - '-DSQLITE_HAS_CODEC', - ], - modular = True, - visibility = ['//submodules/Postbox:Postbox'], -) - -apple_library( - name = 'Postbox', +framework( + name = "Postbox", srcs = glob([ - 'Postbox/**/*.swift' + "Postbox/*.swift", + "Postbox/*.m", ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - swift_compiler_flags = [ - '-suppress-warnings', - '-application-extension', + headers = [ + "Postbox/MurMurHash32.h", + ], + exported_headers = [ + "Postbox/MurMurHash32.h", ], - visibility = ['PUBLIC'], deps = [ - ':sqlcipher', - '//submodules/SSignalKit:SwiftSignalKit' + "//submodules/Crc32:Crc32", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/sqlcipher:sqlcipher", ], -) + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/Security.framework", + ], +) \ No newline at end of file diff --git a/submodules/Postbox/Postbox/MediaBoxFile.swift b/submodules/Postbox/Postbox/MediaBoxFile.swift index f5d190795c..b23f0862f4 100644 --- a/submodules/Postbox/Postbox/MediaBoxFile.swift +++ b/submodules/Postbox/Postbox/MediaBoxFile.swift @@ -192,7 +192,20 @@ final class MediaBoxPartialFile { self.metadataFd = metadataFd self.fd = fd if let fileMap = MediaBoxFileMap(fd: self.metadataFd) { - self.fileMap = fileMap + if !fileMap.ranges.isEmpty { + let upperBound = fileMap.ranges[fileMap.ranges.endIndex] + if let actualSize = fileSize(path, useTotalFileAllocatedSize: false) { + if upperBound > actualSize { + self.fileMap = MediaBoxFileMap() + } else { + self.fileMap = fileMap + } + } else { + self.fileMap = MediaBoxFileMap() + } + } else { + self.fileMap = fileMap + } } else { self.fileMap = MediaBoxFileMap() } diff --git a/submodules/ProgressNavigationButtonNode/BUCK b/submodules/ProgressNavigationButtonNode/BUCK new file mode 100644 index 0000000000..2adf870e3a --- /dev/null +++ b/submodules/ProgressNavigationButtonNode/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ProgressNavigationButtonNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ActivityIndicator:ActivityIndicator", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode.xcodeproj/project.pbxproj b/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..8f6dba0bc9 --- /dev/null +++ b/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode.xcodeproj/project.pbxproj @@ -0,0 +1,533 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29F43B50A000000000 + + isa + PBXFileReference + name + ProgressNavigationButtonNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B7CC400A00000000 + + isa + PBXFileReference + name + ProgressNavigationButtonNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292B62EB6C00000000 + + isa + PBXFileReference + name + ProgressNavigationButtonNode-Release.xcconfig + path + ../../buck-out/gen/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29F43B50A000000000 + 1DD70E29B7CC400A00000000 + 1DD70E292B62EB6C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29BF0846EE00000000 + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CBE117ED00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EE09EE5A00000000 + + isa + PBXFileReference + name + ProgressNavigationButtonNode.swift + path + Sources/ProgressNavigationButtonNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EE09EE5A00000000 + + + B401C9796174EF7500000000 + + isa + PBXGroup + name + ProgressNavigationButtonNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9796174EF7500000000 + + + E7A30F04EE09EE5A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EE09EE5A00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EE09EE5A00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29F43B50A000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B7CC400A00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292B62EB6C00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6174EF7500000000 + + isa + PBXNativeTarget + name + ProgressNavigationButtonNode + productName + ProgressNavigationButtonNode + productReference + 1DD70E29CBE117ED00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936174EF7500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6174EF7500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936174EF7500000000 + + \ No newline at end of file diff --git a/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode.xcodeproj/xcshareddata/xcschemes/ProgressNavigationButtonNode.xcscheme b/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode.xcodeproj/xcshareddata/xcschemes/ProgressNavigationButtonNode.xcscheme new file mode 100644 index 0000000000..c0c78021a0 --- /dev/null +++ b/submodules/ProgressNavigationButtonNode/ProgressNavigationButtonNode.xcodeproj/xcshareddata/xcschemes/ProgressNavigationButtonNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/QrCode/BUCK b/submodules/QrCode/BUCK new file mode 100644 index 0000000000..1661dd7beb --- /dev/null +++ b/submodules/QrCode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "QrCode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/CoreImage.framework", + ], +) diff --git a/submodules/QrCode/QrCode.xcodeproj/project.pbxproj b/submodules/QrCode/QrCode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..6c5e1c3c2f --- /dev/null +++ b/submodules/QrCode/QrCode.xcodeproj/project.pbxproj @@ -0,0 +1,401 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E295898BF2700000000 + + isa + PBXFileReference + name + QrCode-Debug.xcconfig + path + ../../buck-out/gen/submodules/QrCode/QrCode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297A8828D100000000 + + isa + PBXFileReference + name + QrCode-Profile.xcconfig + path + ../../buck-out/gen/submodules/QrCode/QrCode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29EE1ED43300000000 + + isa + PBXFileReference + name + QrCode-Release.xcconfig + path + ../../buck-out/gen/submodules/QrCode/QrCode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E295898BF2700000000 + 1DD70E297A8828D100000000 + 1DD70E29EE1ED43300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29D65BA68200000000 + + + 1DD70E29AA32BBC600000000 + + isa + PBXFileReference + name + libQrCode.a + path + libQrCode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AA32BBC600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29213163D300000000 + + isa + PBXFileReference + name + QRCode.swift + path + Sources/QRCode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29213163D300000000 + + + B401C979909F23CE00000000 + + isa + PBXGroup + name + QrCode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979909F23CE00000000 + + + E7A30F04213163D300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29213163D300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04213163D300000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E295898BF2700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E297A8828D100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29EE1ED43300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E909F23CE00000000 + + isa + PBXNativeTarget + name + QrCode + productName + QrCode + productReference + 1DD70E29AA32BBC600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793909F23CE00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E909F23CE00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793909F23CE00000000 + + \ No newline at end of file diff --git a/submodules/QrCode/QrCode.xcodeproj/xcshareddata/xcschemes/QrCode.xcscheme b/submodules/QrCode/QrCode.xcodeproj/xcshareddata/xcschemes/QrCode.xcscheme new file mode 100644 index 0000000000..9365080e82 --- /dev/null +++ b/submodules/QrCode/QrCode.xcodeproj/xcshareddata/xcschemes/QrCode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/RMIntro/BUCK b/submodules/RMIntro/BUCK new file mode 100644 index 0000000000..b26aaeaad8 --- /dev/null +++ b/submodules/RMIntro/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "RMIntro", + srcs = glob([ + "Sources/**/*.m", + "Sources/**/*.c", + ]), + headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/RMIntro.h"]), + exported_headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/RMIntro.h"]), + deps = [ + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/RMIntro/RMIntro.xcodeproj/project.pbxproj b/submodules/RMIntro/RMIntro.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c59a2327b9 --- /dev/null +++ b/submodules/RMIntro/RMIntro.xcodeproj/project.pbxproj @@ -0,0 +1,913 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29BF93FFA400000000 + + isa + PBXFileReference + name + RMIntro-Debug.xcconfig + path + ../../buck-out/gen/submodules/RMIntro/RMIntro-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290FB53E0E00000000 + + isa + PBXFileReference + name + RMIntro-Profile.xcconfig + path + ../../buck-out/gen/submodules/RMIntro/RMIntro-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29834BE97000000000 + + isa + PBXFileReference + name + RMIntro-Release.xcconfig + path + ../../buck-out/gen/submodules/RMIntro/RMIntro-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29BF93FFA400000000 + 1DD70E290FB53E0E00000000 + 1DD70E29834BE97000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29697689BF00000000 + + isa + PBXFileReference + name + libRMIntro.a + path + libRMIntro.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29697689BF00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29A2B51CD300000000 + + isa + PBXFileReference + name + linmath.h + path + Sources/3rdparty/linmath/linmath.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C9790A8EF91900000000 + + isa + PBXGroup + name + linmath + path + Sources/3rdparty/linmath + sourceTree + SOURCE_ROOT + children + + 1DD70E29A2B51CD300000000 + + + B401C979F15F0C6100000000 + + isa + PBXGroup + name + 3rdparty + path + Sources/3rdparty + sourceTree + SOURCE_ROOT + children + + B401C9790A8EF91900000000 + + + 1DD70E2945F8BBA400000000 + + isa + PBXFileReference + name + animations.c + path + Sources/core/animations.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E2945F8BBA900000000 + + isa + PBXFileReference + name + animations.h + path + Sources/core/animations.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A5478A3500000000 + + isa + PBXFileReference + name + buffer.c + path + Sources/core/buffer.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29A5478A3A00000000 + + isa + PBXFileReference + name + buffer.h + path + Sources/core/buffer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29F586F66100000000 + + isa + PBXFileReference + name + macros.h + path + Sources/core/macros.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2903EA757F00000000 + + isa + PBXFileReference + name + math_helper.h + path + Sources/core/math_helper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E291286B17B00000000 + + isa + PBXFileReference + name + matrix.h + path + Sources/core/matrix.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A736D60900000000 + + isa + PBXFileReference + name + objects.c + path + Sources/core/objects.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29A736D60E00000000 + + isa + PBXFileReference + name + objects.h + path + Sources/core/objects.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C641937900000000 + + isa + PBXFileReference + name + program.c + path + Sources/core/program.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29C641937E00000000 + + isa + PBXFileReference + name + program.h + path + Sources/core/program.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C8C7181D00000000 + + isa + PBXFileReference + name + rngs.c + path + Sources/core/rngs.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29C8C7182200000000 + + isa + PBXFileReference + name + rngs.h + path + Sources/core/rngs.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D2E6189A00000000 + + isa + PBXFileReference + name + shader.c + path + Sources/core/shader.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29D2E6189F00000000 + + isa + PBXFileReference + name + shader.h + path + Sources/core/shader.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2984720BBF00000000 + + isa + PBXFileReference + name + timing.c + path + Sources/core/timing.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E2984720BC400000000 + + isa + PBXFileReference + name + timing.h + path + Sources/core/timing.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979002EAF9F00000000 + + isa + PBXGroup + name + core + path + Sources/core + sourceTree + SOURCE_ROOT + children + + 1DD70E2945F8BBA400000000 + 1DD70E2945F8BBA900000000 + 1DD70E29A5478A3500000000 + 1DD70E29A5478A3A00000000 + 1DD70E29F586F66100000000 + 1DD70E2903EA757F00000000 + 1DD70E291286B17B00000000 + 1DD70E29A736D60900000000 + 1DD70E29A736D60E00000000 + 1DD70E29C641937900000000 + 1DD70E29C641937E00000000 + 1DD70E29C8C7181D00000000 + 1DD70E29C8C7182200000000 + 1DD70E29D2E6189A00000000 + 1DD70E29D2E6189F00000000 + 1DD70E2984720BBF00000000 + 1DD70E2984720BC400000000 + + + 1DD70E29E1BE516D00000000 + + isa + PBXFileReference + name + platform_log.c + path + Sources/platform/common/platform_log.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E29E1BE517200000000 + + isa + PBXFileReference + name + platform_log.h + path + Sources/platform/common/platform_log.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2982C190AD00000000 + + isa + PBXFileReference + name + platform_macros.h + path + Sources/platform/common/platform_macros.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979AF3F29EB00000000 + + isa + PBXGroup + name + common + path + Sources/platform/common + sourceTree + SOURCE_ROOT + children + + 1DD70E29E1BE516D00000000 + 1DD70E29E1BE517200000000 + 1DD70E2982C190AD00000000 + + + 1DD70E29C2AA528700000000 + + isa + PBXFileReference + name + RMGeometry.h + path + Sources/platform/ios/RMGeometry.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C2AA528C00000000 + + isa + PBXFileReference + name + RMGeometry.m + path + Sources/platform/ios/RMGeometry.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2933D2CE9F00000000 + + isa + PBXFileReference + name + RMIntroPageView.h + path + Sources/platform/ios/RMIntroPageView.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2933D2CEA400000000 + + isa + PBXFileReference + name + RMIntroPageView.m + path + Sources/platform/ios/RMIntroPageView.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29543D8CEC00000000 + + isa + PBXFileReference + name + RMIntroViewController.h + path + Sources/platform/ios/RMIntroViewController.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29543D8CF100000000 + + isa + PBXFileReference + name + RMIntroViewController.m + path + Sources/platform/ios/RMIntroViewController.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29200C0DEB00000000 + + isa + PBXFileReference + name + platform_gl.h + path + Sources/platform/ios/platform_gl.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A65ACCCC00000000 + + isa + PBXFileReference + name + texture_helper.h + path + Sources/platform/ios/texture_helper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A65ACCD100000000 + + isa + PBXFileReference + name + texture_helper.m + path + Sources/platform/ios/texture_helper.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C9790001980D00000000 + + isa + PBXGroup + name + ios + path + Sources/platform/ios + sourceTree + SOURCE_ROOT + children + + 1DD70E29C2AA528700000000 + 1DD70E29C2AA528C00000000 + 1DD70E2933D2CE9F00000000 + 1DD70E2933D2CEA400000000 + 1DD70E29543D8CEC00000000 + 1DD70E29543D8CF100000000 + 1DD70E29200C0DEB00000000 + 1DD70E29A65ACCCC00000000 + 1DD70E29A65ACCD100000000 + + + B401C9796FBD687300000000 + + isa + PBXGroup + name + platform + path + Sources/platform + sourceTree + SOURCE_ROOT + children + + B401C979AF3F29EB00000000 + B401C9790001980D00000000 + + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C979F15F0C6100000000 + B401C979002EAF9F00000000 + B401C9796FBD687300000000 + + + B401C979795C98F100000000 + + isa + PBXGroup + name + RMIntro + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979795C98F100000000 + + + E7A30F0445F8BBA400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2945F8BBA400000000 + + E7A30F04A5478A3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A5478A3500000000 + + E7A30F04A736D60900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A736D60900000000 + + E7A30F04C641937900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C641937900000000 + + E7A30F04C8C7181D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C8C7181D00000000 + + E7A30F04D2E6189A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D2E6189A00000000 + + E7A30F0484720BBF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984720BBF00000000 + + E7A30F04E1BE516D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E1BE516D00000000 + + E7A30F04C2AA528C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C2AA528C00000000 + + E7A30F0433D2CEA400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2933D2CEA400000000 + + E7A30F04543D8CF100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29543D8CF100000000 + + E7A30F04A65ACCD100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A65ACCD100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0445F8BBA400000000 + E7A30F04A5478A3500000000 + E7A30F04A736D60900000000 + E7A30F04C641937900000000 + E7A30F04C8C7181D00000000 + E7A30F04D2E6189A00000000 + E7A30F0484720BBF00000000 + E7A30F04E1BE516D00000000 + E7A30F04C2AA528C00000000 + E7A30F0433D2CEA400000000 + E7A30F04543D8CF100000000 + E7A30F04A65ACCD100000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29BF93FFA400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E290FB53E0E00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29834BE97000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E795C98F100000000 + + isa + PBXNativeTarget + name + RMIntro + productName + RMIntro + productReference + 1DD70E29697689BF00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793795C98F100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E795C98F100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793795C98F100000000 + + \ No newline at end of file diff --git a/submodules/RMIntro/RMIntro.xcodeproj/xcshareddata/xcschemes/RMIntro.xcscheme b/submodules/RMIntro/RMIntro.xcodeproj/xcshareddata/xcschemes/RMIntro.xcscheme new file mode 100644 index 0000000000..3d9d76ea41 --- /dev/null +++ b/submodules/RMIntro/RMIntro.xcodeproj/xcshareddata/xcschemes/RMIntro.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/RadialStatusNode/BUCK b/submodules/RadialStatusNode/BUCK new file mode 100644 index 0000000000..b1172e1bd2 --- /dev/null +++ b/submodules/RadialStatusNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "RadialStatusNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Display:Display#dynamic", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#dynamic", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/RadialStatusNode/RadialStatusNode.xcodeproj/project.pbxproj b/submodules/RadialStatusNode/RadialStatusNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5155653756 --- /dev/null +++ b/submodules/RadialStatusNode/RadialStatusNode.xcodeproj/project.pbxproj @@ -0,0 +1,539 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29562583A200000000 + + isa + PBXFileReference + name + RadialStatusNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/RadialStatusNode/RadialStatusNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2947F5BA8C00000000 + + isa + PBXFileReference + name + RadialStatusNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/RadialStatusNode/RadialStatusNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BB8C65EE00000000 + + isa + PBXFileReference + name + RadialStatusNode-Release.xcconfig + path + ../../buck-out/gen/submodules/RadialStatusNode/RadialStatusNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29562583A200000000 + 1DD70E2947F5BA8C00000000 + 1DD70E29BB8C65EE00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E293E4DE92B00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E293BC3A17700000000 + + isa + PBXFileReference + name + RadialCheckContentNode.swift + path + Sources/RadialCheckContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D162FB3D00000000 + + isa + PBXFileReference + name + RadialCloudProgressContentNode.swift + path + Sources/RadialCloudProgressContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BD9F335900000000 + + isa + PBXFileReference + name + RadialDownloadContentNode.swift + path + Sources/RadialDownloadContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E291E7D185400000000 + + isa + PBXFileReference + name + RadialProgressContentNode.swift + path + Sources/RadialProgressContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FB3707A600000000 + + isa + PBXFileReference + name + RadialStatusBackgroundNode.swift + path + Sources/RadialStatusBackgroundNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2950F2596F00000000 + + isa + PBXFileReference + name + RadialStatusContentNode.swift + path + Sources/RadialStatusContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B1E2AE7600000000 + + isa + PBXFileReference + name + RadialStatusIconContentNode.swift + path + Sources/RadialStatusIconContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299EC3F11800000000 + + isa + PBXFileReference + name + RadialStatusNode.swift + path + Sources/RadialStatusNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2950CCBF6000000000 + + isa + PBXFileReference + name + RadialStatusSecretTimeoutContentNode.swift + path + Sources/RadialStatusSecretTimeoutContentNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E293BC3A17700000000 + 1DD70E29D162FB3D00000000 + 1DD70E29BD9F335900000000 + 1DD70E291E7D185400000000 + 1DD70E29FB3707A600000000 + 1DD70E2950F2596F00000000 + 1DD70E29B1E2AE7600000000 + 1DD70E299EC3F11800000000 + 1DD70E2950CCBF6000000000 + + + B401C9799B9F58B300000000 + + isa + PBXGroup + name + RadialStatusNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9799B9F58B300000000 + + + E7A30F043BC3A17700000000 + + isa + PBXBuildFile + fileRef + 1DD70E293BC3A17700000000 + + E7A30F04D162FB3D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D162FB3D00000000 + + E7A30F04BD9F335900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BD9F335900000000 + + E7A30F041E7D185400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E7D185400000000 + + E7A30F04FB3707A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FB3707A600000000 + + E7A30F0450F2596F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2950F2596F00000000 + + E7A30F04B1E2AE7600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B1E2AE7600000000 + + E7A30F049EC3F11800000000 + + isa + PBXBuildFile + fileRef + 1DD70E299EC3F11800000000 + + E7A30F0450CCBF6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2950CCBF6000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F043BC3A17700000000 + E7A30F04D162FB3D00000000 + E7A30F04BD9F335900000000 + E7A30F041E7D185400000000 + E7A30F04FB3707A600000000 + E7A30F0450F2596F00000000 + E7A30F04B1E2AE7600000000 + E7A30F049EC3F11800000000 + E7A30F0450CCBF6000000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29562583A200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2947F5BA8C00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29BB8C65EE00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E9B9F58B300000000 + + isa + PBXNativeTarget + name + RadialStatusNode + productName + RadialStatusNode + productReference + 1DD70E293E4DE92B00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847939B9F58B300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E9B9F58B300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847939B9F58B300000000 + + \ No newline at end of file diff --git a/submodules/RadialStatusNode/RadialStatusNode.xcodeproj/xcshareddata/xcschemes/RadialStatusNode.xcscheme b/submodules/RadialStatusNode/RadialStatusNode.xcodeproj/xcshareddata/xcschemes/RadialStatusNode.xcscheme new file mode 100644 index 0000000000..896532d723 --- /dev/null +++ b/submodules/RadialStatusNode/RadialStatusNode.xcodeproj/xcshareddata/xcschemes/RadialStatusNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/RaiseToListen/BUCK b/submodules/RaiseToListen/BUCK new file mode 100644 index 0000000000..b483bcfd14 --- /dev/null +++ b/submodules/RaiseToListen/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "RaiseToListen", + srcs = glob([ + "Sources/*.m", + "Sources/*.swift", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/RaiseToListen.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/RaiseToListen.h"]), + deps = [ + "//submodules/DeviceProximity:DeviceProximity", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/RaiseToListen/RaiseToListen.xcodeproj/project.pbxproj b/submodules/RaiseToListen/RaiseToListen.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..9442f07b04 --- /dev/null +++ b/submodules/RaiseToListen/RaiseToListen.xcodeproj/project.pbxproj @@ -0,0 +1,363 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29B1E2CAE700000000 + + isa + PBXFileReference + name + RaiseToListen-Debug.xcconfig + path + ../../buck-out/gen/submodules/RaiseToListen/RaiseToListen-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A97E449100000000 + + isa + PBXFileReference + name + RaiseToListen-Profile.xcconfig + path + ../../buck-out/gen/submodules/RaiseToListen/RaiseToListen-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291D14EFF300000000 + + isa + PBXFileReference + name + RaiseToListen-Release.xcconfig + path + ../../buck-out/gen/submodules/RaiseToListen/RaiseToListen-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29B1E2CAE700000000 + 1DD70E29A97E449100000000 + 1DD70E291D14EFF300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E298701AD5C00000000 + + isa + PBXFileReference + name + libRaiseToListen.a + path + libRaiseToListen.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E298701AD5C00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29138D783300000000 + + isa + PBXFileReference + name + RaiseToListen.swift + path + Sources/RaiseToListen.swift + sourceTree + SOURCE_ROOT + + 1DD70E29794802E100000000 + + isa + PBXFileReference + name + RaiseToListenActivator.h + path + Sources/RaiseToListenActivator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29794802E600000000 + + isa + PBXFileReference + name + RaiseToListenActivator.m + path + Sources/RaiseToListenActivator.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29138D783300000000 + 1DD70E29794802E100000000 + 1DD70E29794802E600000000 + + + B401C9792B77100E00000000 + + isa + PBXGroup + name + RaiseToListen + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C9792B77100E00000000 + + + E7A30F04138D783300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29138D783300000000 + + E7A30F04794802E600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29794802E600000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04138D783300000000 + E7A30F04794802E600000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29B1E2CAE700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A97E449100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291D14EFF300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E2B77100E00000000 + + isa + PBXNativeTarget + name + RaiseToListen + productName + RaiseToListen + productReference + 1DD70E298701AD5C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847932B77100E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E2B77100E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847932B77100E00000000 + + \ No newline at end of file diff --git a/submodules/RaiseToListen/RaiseToListen.xcodeproj/xcshareddata/xcschemes/RaiseToListen.xcscheme b/submodules/RaiseToListen/RaiseToListen.xcodeproj/xcshareddata/xcschemes/RaiseToListen.xcscheme new file mode 100644 index 0000000000..a74daaf31c --- /dev/null +++ b/submodules/RaiseToListen/RaiseToListen.xcodeproj/xcshareddata/xcschemes/RaiseToListen.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ReactionSelectionNode/BUCK b/submodules/ReactionSelectionNode/BUCK new file mode 100644 index 0000000000..4ad7f02cfe --- /dev/null +++ b/submodules/ReactionSelectionNode/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ReactionSelectionNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AnimationUI:AnimationUI", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ReactionSelectionNode/ReactionSelectionNode.xcodeproj/project.pbxproj b/submodules/ReactionSelectionNode/ReactionSelectionNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b61bbac9d2 --- /dev/null +++ b/submodules/ReactionSelectionNode/ReactionSelectionNode.xcodeproj/project.pbxproj @@ -0,0 +1,679 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E180743000000000 + + isa + PBXFileReference + name + ReactionSelectionNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/ReactionSelectionNode/ReactionSelectionNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296856BF9A00000000 + + isa + PBXFileReference + name + ReactionSelectionNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/ReactionSelectionNode/ReactionSelectionNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DBED6AFC00000000 + + isa + PBXFileReference + name + ReactionSelectionNode-Release.xcconfig + path + ../../buck-out/gen/submodules/ReactionSelectionNode/ReactionSelectionNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E180743000000000 + 1DD70E296856BF9A00000000 + 1DD70E29DBED6AFC00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AD66967300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29CCCE0EED00000000 + + isa + PBXFileReference + name + ReactionContextNode.swift + path + Sources/ReactionContextNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2930A5FA5800000000 + + isa + PBXFileReference + name + ReactionGestureItem.swift + path + Sources/ReactionGestureItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29691388CA00000000 + + isa + PBXFileReference + name + ReactionSelectionNode.swift + path + Sources/ReactionSelectionNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29962E1AD400000000 + + isa + PBXFileReference + name + ReactionSelectionParentNode.swift + path + Sources/ReactionSelectionParentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299845EB0100000000 + + isa + PBXFileReference + name + ReactionSwipeGestureRecognizer.swift + path + Sources/ReactionSwipeGestureRecognizer.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29CCCE0EED00000000 + 1DD70E2930A5FA5800000000 + 1DD70E29691388CA00000000 + 1DD70E29962E1AD400000000 + 1DD70E299845EB0100000000 + + + B401C979E09F1DE500000000 + + isa + PBXGroup + name + ReactionSelectionNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979E09F1DE500000000 + + + E7A30F04CCCE0EED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CCCE0EED00000000 + + E7A30F0430A5FA5800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2930A5FA5800000000 + + E7A30F04691388CA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29691388CA00000000 + + E7A30F04962E1AD400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29962E1AD400000000 + + E7A30F049845EB0100000000 + + isa + PBXBuildFile + fileRef + 1DD70E299845EB0100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04CCCE0EED00000000 + E7A30F0430A5FA5800000000 + E7A30F04691388CA00000000 + E7A30F04962E1AD400000000 + E7A30F049845EB0100000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E180743000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E296856BF9A00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29DBED6AFC00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE09F1DE500000000 + + isa + PBXNativeTarget + name + ReactionSelectionNode + productName + ReactionSelectionNode + productReference + 1DD70E29AD66967300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E09F1DE500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE09F1DE500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E09F1DE500000000 + + \ No newline at end of file diff --git a/submodules/ReactionSelectionNode/ReactionSelectionNode.xcodeproj/xcshareddata/xcschemes/ReactionSelectionNode.xcscheme b/submodules/ReactionSelectionNode/ReactionSelectionNode.xcodeproj/xcshareddata/xcschemes/ReactionSelectionNode.xcscheme new file mode 100644 index 0000000000..63dfda85de --- /dev/null +++ b/submodules/ReactionSelectionNode/ReactionSelectionNode.xcodeproj/xcshareddata/xcschemes/ReactionSelectionNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift b/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift index d86a58791b..cbc89c68c9 100644 --- a/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift +++ b/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift @@ -34,7 +34,7 @@ private func generateBackgroundImage(foreground: UIColor, diameter: CGFloat, sha private func generateBackgroundShadowImage(shadow: UIColor, diameter: CGFloat, shadowBlur: CGFloat) -> UIImage? { return generateImage(CGSize(width: diameter * 2.0 + shadowBlur * 2.0, height: diameter + shadowBlur * 2.0), rotatedContext: { size, context in context.clear(CGRect(origin: CGPoint(), size: size)) - context.setFillColor(UIColor.white.cgColor) + context.setFillColor(shadow.cgColor) context.setShadow(offset: CGSize(), blur: shadowBlur, color: shadow.cgColor) context.fillEllipse(in: CGRect(origin: CGPoint(x: shadowBlur, y: shadowBlur), size: CGSize(width: diameter, height: diameter))) diff --git a/submodules/ReactionSelectionNode/Sources/ReactionSelectionNode.swift b/submodules/ReactionSelectionNode/Sources/ReactionSelectionNode.swift index 77c5fa1c2c..8ebb44a1f8 100644 --- a/submodules/ReactionSelectionNode/Sources/ReactionSelectionNode.swift +++ b/submodules/ReactionSelectionNode/Sources/ReactionSelectionNode.swift @@ -5,6 +5,7 @@ import Display import Postbox import TelegramCore import TelegramPresentationData +import AppBundle private func generateBubbleImage(foreground: UIColor, diameter: CGFloat, shadowBlur: CGFloat) -> UIImage? { return generateImage(CGSize(width: diameter + shadowBlur * 2.0, height: diameter + shadowBlur * 2.0), rotatedContext: { size, context in @@ -137,7 +138,7 @@ final class ReactionNode: ASDisplayNode { self.animationNode.setup(account: account, resource: .localFile(path), width: Int(renderSize.width), height: Int(renderSize.height), mode: .direct) case .reply: self.intrinsicOffset = CGPoint(x: 0.0, y: 0.0) - self.imageNode.image = UIImage(named: "Chat/Context Menu/ReactionReply", in: Bundle(for: ReactionNode.self), compatibleWith: nil) + self.imageNode.image = UIImage(named: "Chat/Context Menu/ReactionReply", in: getAppBundle(), compatibleWith: nil) } self.intrinsicSize = intrinsicSize diff --git a/submodules/SSignalKit/BUCK b/submodules/SSignalKit/BUCK deleted file mode 100644 index 415648422d..0000000000 --- a/submodules/SSignalKit/BUCK +++ /dev/null @@ -1,37 +0,0 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') - -apple_library( - name = 'SwiftSignalKit', - srcs = glob([ - 'SwiftSignalKit/*.swift' - ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - modular = True, - visibility = ['PUBLIC'], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], -) - -apple_library( - name = 'SSignalKit', - srcs = glob([ - 'SSignalKit/*.m', - ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - headers = glob([ - 'SSignalKit/*.h', - ]), - header_namespace = 'SSignalKit', - exported_headers = glob([ - 'SSignalKit/*.h', - ]), - modular = True, - compiler_flags = ['-w'], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], -) diff --git a/submodules/SSignalKit/SSignalKit/BUCK b/submodules/SSignalKit/SSignalKit/BUCK new file mode 100644 index 0000000000..8d592db616 --- /dev/null +++ b/submodules/SSignalKit/SSignalKit/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SSignalKit", + srcs = glob([ + "*.m", + ]), + headers = glob([ + "*.h", + ]), + exported_headers = glob([ + "*.h", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/SSignalKit/SSignalKit/SSignalKit.xcodeproj/project.pbxproj b/submodules/SSignalKit/SSignalKit/SSignalKit.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b81090cfff --- /dev/null +++ b/submodules/SSignalKit/SSignalKit/SSignalKit.xcodeproj/project.pbxproj @@ -0,0 +1,1271 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E299920BF5A00000000 + + isa + PBXFileReference + name + SSignalKit-Debug.xcconfig + path + ../../../buck-out/gen/submodules/SSignalKit/SSignalKit/SSignalKit-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B910E84400000000 + + isa + PBXFileReference + name + SSignalKit-Profile.xcconfig + path + ../../../buck-out/gen/submodules/SSignalKit/SSignalKit/SSignalKit-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292CA793A600000000 + + isa + PBXFileReference + name + SSignalKit-Release.xcconfig + path + ../../../buck-out/gen/submodules/SSignalKit/SSignalKit/SSignalKit-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E299920BF5A00000000 + 1DD70E29B910E84400000000 + 1DD70E292CA793A600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29E3B31A3300000000 + + isa + PBXFileReference + name + libSSignalKit.a + path + libSSignalKit.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29E3B31A3300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E292E4A5ED800000000 + + isa + PBXFileReference + name + SAtomic.h + path + SAtomic.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292E4A5EDD00000000 + + isa + PBXFileReference + name + SAtomic.m + path + SAtomic.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299171EB6F00000000 + + isa + PBXFileReference + name + SBag.h + path + SBag.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299171EB7400000000 + + isa + PBXFileReference + name + SBag.m + path + SBag.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29E165487400000000 + + isa + PBXFileReference + name + SBlockDisposable.h + path + SBlockDisposable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E165487900000000 + + isa + PBXFileReference + name + SBlockDisposable.m + path + SBlockDisposable.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2985937B4D00000000 + + isa + PBXFileReference + name + SDisposable.h + path + SDisposable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2967A3678900000000 + + isa + PBXFileReference + name + SDisposableSet.h + path + SDisposableSet.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2967A3678E00000000 + + isa + PBXFileReference + name + SDisposableSet.m + path + SDisposableSet.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295CC0D47200000000 + + isa + PBXFileReference + name + SMetaDisposable.h + path + SMetaDisposable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295CC0D47700000000 + + isa + PBXFileReference + name + SMetaDisposable.m + path + SMetaDisposable.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295E79E4FA00000000 + + isa + PBXFileReference + name + SMulticastSignalManager.h + path + SMulticastSignalManager.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295E79E4FF00000000 + + isa + PBXFileReference + name + SMulticastSignalManager.m + path + SMulticastSignalManager.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29384742F800000000 + + isa + PBXFileReference + name + SQueue.h + path + SQueue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29384742FD00000000 + + isa + PBXFileReference + name + SQueue.m + path + SQueue.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29187351AC00000000 + + isa + PBXFileReference + name + SSignal+Accumulate.h + path + SSignal+Accumulate.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29187351B100000000 + + isa + PBXFileReference + name + SSignal+Accumulate.m + path + SSignal+Accumulate.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295765D92500000000 + + isa + PBXFileReference + name + SSignal+Catch.h + path + SSignal+Catch.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295765D92A00000000 + + isa + PBXFileReference + name + SSignal+Catch.m + path + SSignal+Catch.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E294FCF4AA900000000 + + isa + PBXFileReference + name + SSignal+Combine.h + path + SSignal+Combine.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E294FCF4AAE00000000 + + isa + PBXFileReference + name + SSignal+Combine.m + path + SSignal+Combine.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296B54DEC400000000 + + isa + PBXFileReference + name + SSignal+Dispatch.h + path + SSignal+Dispatch.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296B54DEC900000000 + + isa + PBXFileReference + name + SSignal+Dispatch.m + path + SSignal+Dispatch.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2922C1BE7800000000 + + isa + PBXFileReference + name + SSignal+Mapping.h + path + SSignal+Mapping.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2922C1BE7D00000000 + + isa + PBXFileReference + name + SSignal+Mapping.m + path + SSignal+Mapping.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E290396618F00000000 + + isa + PBXFileReference + name + SSignal+Meta.h + path + SSignal+Meta.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E290396619400000000 + + isa + PBXFileReference + name + SSignal+Meta.m + path + SSignal+Meta.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CA81832200000000 + + isa + PBXFileReference + name + SSignal+Multicast.h + path + SSignal+Multicast.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CA81832700000000 + + isa + PBXFileReference + name + SSignal+Multicast.m + path + SSignal+Multicast.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2908EB86F800000000 + + isa + PBXFileReference + name + SSignal+Pipe.h + path + SSignal+Pipe.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2908EB86FD00000000 + + isa + PBXFileReference + name + SSignal+Pipe.m + path + SSignal+Pipe.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29C1481E1500000000 + + isa + PBXFileReference + name + SSignal+SideEffects.h + path + SSignal+SideEffects.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C1481E1A00000000 + + isa + PBXFileReference + name + SSignal+SideEffects.m + path + SSignal+SideEffects.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29B097D71200000000 + + isa + PBXFileReference + name + SSignal+Single.h + path + SSignal+Single.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B097D71700000000 + + isa + PBXFileReference + name + SSignal+Single.m + path + SSignal+Single.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E290F4BE79100000000 + + isa + PBXFileReference + name + SSignal+Take.h + path + SSignal+Take.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E290F4BE79600000000 + + isa + PBXFileReference + name + SSignal+Take.m + path + SSignal+Take.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2916E14A9400000000 + + isa + PBXFileReference + name + SSignal+Timing.h + path + SSignal+Timing.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2916E14A9900000000 + + isa + PBXFileReference + name + SSignal+Timing.m + path + SSignal+Timing.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29289ECC1500000000 + + isa + PBXFileReference + name + SSignal.h + path + SSignal.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29289ECC1A00000000 + + isa + PBXFileReference + name + SSignal.m + path + SSignal.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E290902173500000000 + + isa + PBXFileReference + name + SSignalKit.h + path + SSignalKit.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2971D0C85500000000 + + isa + PBXFileReference + name + SSubscriber.h + path + SSubscriber.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2971D0C85A00000000 + + isa + PBXFileReference + name + SSubscriber.m + path + SSubscriber.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29347741B300000000 + + isa + PBXFileReference + name + SThreadPool.h + path + SThreadPool.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29347741B800000000 + + isa + PBXFileReference + name + SThreadPool.m + path + SThreadPool.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2971CBE69200000000 + + isa + PBXFileReference + name + SThreadPoolQueue.h + path + SThreadPoolQueue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2971CBE69700000000 + + isa + PBXFileReference + name + SThreadPoolQueue.m + path + SThreadPoolQueue.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29FF74919800000000 + + isa + PBXFileReference + name + SThreadPoolTask.h + path + SThreadPoolTask.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29FF74919D00000000 + + isa + PBXFileReference + name + SThreadPoolTask.m + path + SThreadPoolTask.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29C2E9742C00000000 + + isa + PBXFileReference + name + STimer.h + path + STimer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C2E9743100000000 + + isa + PBXFileReference + name + STimer.m + path + STimer.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E292491FA2900000000 + + isa + PBXFileReference + name + SVariable.h + path + SVariable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292491FA2E00000000 + + isa + PBXFileReference + name + SVariable.m + path + SVariable.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E292E4A5ED800000000 + 1DD70E292E4A5EDD00000000 + 1DD70E299171EB6F00000000 + 1DD70E299171EB7400000000 + 1DD70E29E165487400000000 + 1DD70E29E165487900000000 + 1DD70E2985937B4D00000000 + 1DD70E2967A3678900000000 + 1DD70E2967A3678E00000000 + 1DD70E295CC0D47200000000 + 1DD70E295CC0D47700000000 + 1DD70E295E79E4FA00000000 + 1DD70E295E79E4FF00000000 + 1DD70E29384742F800000000 + 1DD70E29384742FD00000000 + 1DD70E29187351AC00000000 + 1DD70E29187351B100000000 + 1DD70E295765D92500000000 + 1DD70E295765D92A00000000 + 1DD70E294FCF4AA900000000 + 1DD70E294FCF4AAE00000000 + 1DD70E296B54DEC400000000 + 1DD70E296B54DEC900000000 + 1DD70E2922C1BE7800000000 + 1DD70E2922C1BE7D00000000 + 1DD70E290396618F00000000 + 1DD70E290396619400000000 + 1DD70E29CA81832200000000 + 1DD70E29CA81832700000000 + 1DD70E2908EB86F800000000 + 1DD70E2908EB86FD00000000 + 1DD70E29C1481E1500000000 + 1DD70E29C1481E1A00000000 + 1DD70E29B097D71200000000 + 1DD70E29B097D71700000000 + 1DD70E290F4BE79100000000 + 1DD70E290F4BE79600000000 + 1DD70E2916E14A9400000000 + 1DD70E2916E14A9900000000 + 1DD70E29289ECC1500000000 + 1DD70E29289ECC1A00000000 + 1DD70E290902173500000000 + 1DD70E2971D0C85500000000 + 1DD70E2971D0C85A00000000 + 1DD70E29347741B300000000 + 1DD70E29347741B800000000 + 1DD70E2971CBE69200000000 + 1DD70E2971CBE69700000000 + 1DD70E29FF74919800000000 + 1DD70E29FF74919D00000000 + 1DD70E29C2E9742C00000000 + 1DD70E29C2E9743100000000 + 1DD70E292491FA2900000000 + 1DD70E292491FA2E00000000 + + + B401C979EB3B23FB00000000 + + isa + PBXGroup + name + SSignalKit + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979EB3B23FB00000000 + + + E7A30F042E4A5EDD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292E4A5EDD00000000 + + E7A30F049171EB7400000000 + + isa + PBXBuildFile + fileRef + 1DD70E299171EB7400000000 + + E7A30F04E165487900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E165487900000000 + + E7A30F0467A3678E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2967A3678E00000000 + + E7A30F045CC0D47700000000 + + isa + PBXBuildFile + fileRef + 1DD70E295CC0D47700000000 + + E7A30F045E79E4FF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295E79E4FF00000000 + + E7A30F04384742FD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29384742FD00000000 + + E7A30F04187351B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29187351B100000000 + + E7A30F045765D92A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295765D92A00000000 + + E7A30F044FCF4AAE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294FCF4AAE00000000 + + E7A30F046B54DEC900000000 + + isa + PBXBuildFile + fileRef + 1DD70E296B54DEC900000000 + + E7A30F0422C1BE7D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2922C1BE7D00000000 + + E7A30F040396619400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290396619400000000 + + E7A30F04CA81832700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CA81832700000000 + + E7A30F0408EB86FD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2908EB86FD00000000 + + E7A30F04C1481E1A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C1481E1A00000000 + + E7A30F04B097D71700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B097D71700000000 + + E7A30F040F4BE79600000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F4BE79600000000 + + E7A30F0416E14A9900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2916E14A9900000000 + + E7A30F04289ECC1A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29289ECC1A00000000 + + E7A30F0471D0C85A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971D0C85A00000000 + + E7A30F04347741B800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29347741B800000000 + + E7A30F0471CBE69700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971CBE69700000000 + + E7A30F04FF74919D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF74919D00000000 + + E7A30F04C2E9743100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C2E9743100000000 + + E7A30F042491FA2E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292491FA2E00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F042E4A5EDD00000000 + E7A30F049171EB7400000000 + E7A30F04E165487900000000 + E7A30F0467A3678E00000000 + E7A30F045CC0D47700000000 + E7A30F045E79E4FF00000000 + E7A30F04384742FD00000000 + E7A30F04187351B100000000 + E7A30F045765D92A00000000 + E7A30F044FCF4AAE00000000 + E7A30F046B54DEC900000000 + E7A30F0422C1BE7D00000000 + E7A30F040396619400000000 + E7A30F04CA81832700000000 + E7A30F0408EB86FD00000000 + E7A30F04C1481E1A00000000 + E7A30F04B097D71700000000 + E7A30F040F4BE79600000000 + E7A30F0416E14A9900000000 + E7A30F04289ECC1A00000000 + E7A30F0471D0C85A00000000 + E7A30F04347741B800000000 + E7A30F0471CBE69700000000 + E7A30F04FF74919D00000000 + E7A30F04C2E9743100000000 + E7A30F042491FA2E00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E299920BF5A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B910E84400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292CA793A600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EEB3B23FB00000000 + + isa + PBXNativeTarget + name + SSignalKit + productName + SSignalKit + productReference + 1DD70E29E3B31A3300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793EB3B23FB00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EEB3B23FB00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793EB3B23FB00000000 + + \ No newline at end of file diff --git a/submodules/SSignalKit/SSignalKit/SSignalKit.xcodeproj/xcshareddata/xcschemes/SSignalKit.xcscheme b/submodules/SSignalKit/SSignalKit/SSignalKit.xcodeproj/xcshareddata/xcschemes/SSignalKit.xcscheme new file mode 100644 index 0000000000..c34488f1bb --- /dev/null +++ b/submodules/SSignalKit/SSignalKit/SSignalKit.xcodeproj/xcshareddata/xcschemes/SSignalKit.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SSignalKit/SwiftSignalKit/BUCK b/submodules/SSignalKit/SwiftSignalKit/BUCK new file mode 100644 index 0000000000..6b19fa5041 --- /dev/null +++ b/submodules/SSignalKit/SwiftSignalKit/BUCK @@ -0,0 +1,13 @@ +load("//Config:buck_rule_macros.bzl", "framework") + +framework( + name = "SwiftSignalKit", + srcs = glob([ + "*.swift", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit.xcodeproj/project.pbxproj b/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e00aba358f --- /dev/null +++ b/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit.xcodeproj/project.pbxproj @@ -0,0 +1,871 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FAA9BD8800000000 + + isa + PBXFileReference + name + SwiftSignalKit#shared-Debug.xcconfig + path + ../../../buck-out/gen/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit#shared-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DC5312F200000000 + + isa + PBXFileReference + name + SwiftSignalKit#shared-Profile.xcconfig + path + ../../../buck-out/gen/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit#shared-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294FE9BE5400000000 + + isa + PBXFileReference + name + SwiftSignalKit#shared-Release.xcconfig + path + ../../../buck-out/gen/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit#shared-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FAA9BD8800000000 + 1DD70E29DC5312F200000000 + 1DD70E294FE9BE5400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29AE317AA300000000 + + isa + PBXFileReference + name + Foundation.framework + path + System/Library/Frameworks/Foundation.framework + sourceTree + SDKROOT + explicitFileType + wrapper.framework + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29AE317AA300000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29DE26C8B000000000 + + isa + PBXFileReference + name + Atomic.swift + path + Atomic.swift + sourceTree + SOURCE_ROOT + + 1DD70E2933A3A08D00000000 + + isa + PBXFileReference + name + Bag.swift + path + Bag.swift + sourceTree + SOURCE_ROOT + + 1DD70E29275AC42500000000 + + isa + PBXFileReference + name + Disposable.swift + path + Disposable.swift + sourceTree + SOURCE_ROOT + + 1DD70E296CD3FFB000000000 + + isa + PBXFileReference + name + Lock.swift + path + Lock.swift + sourceTree + SOURCE_ROOT + + 1DD70E290CC9147D00000000 + + isa + PBXFileReference + name + Multicast.swift + path + Multicast.swift + sourceTree + SOURCE_ROOT + + 1DD70E293695936000000000 + + isa + PBXFileReference + name + Promise.swift + path + Promise.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EEB71AD600000000 + + isa + PBXFileReference + name + Queue.swift + path + Queue.swift + sourceTree + SOURCE_ROOT + + 1DD70E29748F84BE00000000 + + isa + PBXFileReference + name + QueueLocalObject.swift + path + QueueLocalObject.swift + sourceTree + SOURCE_ROOT + + 1DD70E2991D84F6D00000000 + + isa + PBXFileReference + name + Signal.swift + path + Signal.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F385560900000000 + + isa + PBXFileReference + name + Signal_Catch.swift + path + Signal_Catch.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B8AFDB4D00000000 + + isa + PBXFileReference + name + Signal_Combine.swift + path + Signal_Combine.swift + sourceTree + SOURCE_ROOT + + 1DD70E298888A21600000000 + + isa + PBXFileReference + name + Signal_Dispatch.swift + path + Signal_Dispatch.swift + sourceTree + SOURCE_ROOT + + 1DD70E2913D2304000000000 + + isa + PBXFileReference + name + Signal_Loop.swift + path + Signal_Loop.swift + sourceTree + SOURCE_ROOT + + 1DD70E292295CF9C00000000 + + isa + PBXFileReference + name + Signal_Mapping.swift + path + Signal_Mapping.swift + sourceTree + SOURCE_ROOT + + 1DD70E29131B4DDB00000000 + + isa + PBXFileReference + name + Signal_Materialize.swift + path + Signal_Materialize.swift + sourceTree + SOURCE_ROOT + + 1DD70E296DE339C600000000 + + isa + PBXFileReference + name + Signal_Merge.swift + path + Signal_Merge.swift + sourceTree + SOURCE_ROOT + + 1DD70E292B57B2E100000000 + + isa + PBXFileReference + name + Signal_Meta.swift + path + Signal_Meta.swift + sourceTree + SOURCE_ROOT + + 1DD70E294C7A23C200000000 + + isa + PBXFileReference + name + Signal_Reduce.swift + path + Signal_Reduce.swift + sourceTree + SOURCE_ROOT + + 1DD70E2997FCB43900000000 + + isa + PBXFileReference + name + Signal_SideEffects.swift + path + Signal_SideEffects.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BDC9812400000000 + + isa + PBXFileReference + name + Signal_Single.swift + path + Signal_Single.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B4F667E300000000 + + isa + PBXFileReference + name + Signal_Take.swift + path + Signal_Take.swift + sourceTree + SOURCE_ROOT + + 1DD70E29334963A600000000 + + isa + PBXFileReference + name + Signal_Timing.swift + path + Signal_Timing.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EA9A4D2D00000000 + + isa + PBXFileReference + name + Subscriber.swift + path + Subscriber.swift + sourceTree + SOURCE_ROOT + + 1DD70E299888E78B00000000 + + isa + PBXFileReference + name + ThreadPool.swift + path + ThreadPool.swift + sourceTree + SOURCE_ROOT + + 1DD70E290DB5920A00000000 + + isa + PBXFileReference + name + Timer.swift + path + Timer.swift + sourceTree + SOURCE_ROOT + + 1DD70E2973D9FE0400000000 + + isa + PBXFileReference + name + ValuePipe.swift + path + ValuePipe.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29DE26C8B000000000 + 1DD70E2933A3A08D00000000 + 1DD70E29275AC42500000000 + 1DD70E296CD3FFB000000000 + 1DD70E290CC9147D00000000 + 1DD70E293695936000000000 + 1DD70E29EEB71AD600000000 + 1DD70E29748F84BE00000000 + 1DD70E2991D84F6D00000000 + 1DD70E29F385560900000000 + 1DD70E29B8AFDB4D00000000 + 1DD70E298888A21600000000 + 1DD70E2913D2304000000000 + 1DD70E292295CF9C00000000 + 1DD70E29131B4DDB00000000 + 1DD70E296DE339C600000000 + 1DD70E292B57B2E100000000 + 1DD70E294C7A23C200000000 + 1DD70E2997FCB43900000000 + 1DD70E29BDC9812400000000 + 1DD70E29B4F667E300000000 + 1DD70E29334963A600000000 + 1DD70E29EA9A4D2D00000000 + 1DD70E299888E78B00000000 + 1DD70E290DB5920A00000000 + 1DD70E2973D9FE0400000000 + + + B401C97989A74F8D00000000 + + isa + PBXGroup + name + SwiftSignalKit#shared + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97989A74F8D00000000 + + + E7A30F04DE26C8B000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DE26C8B000000000 + + E7A30F0433A3A08D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2933A3A08D00000000 + + E7A30F04275AC42500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29275AC42500000000 + + E7A30F046CD3FFB000000000 + + isa + PBXBuildFile + fileRef + 1DD70E296CD3FFB000000000 + + E7A30F040CC9147D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290CC9147D00000000 + + E7A30F043695936000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293695936000000000 + + E7A30F04EEB71AD600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EEB71AD600000000 + + E7A30F04748F84BE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29748F84BE00000000 + + E7A30F0491D84F6D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2991D84F6D00000000 + + E7A30F04F385560900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F385560900000000 + + E7A30F04B8AFDB4D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B8AFDB4D00000000 + + E7A30F048888A21600000000 + + isa + PBXBuildFile + fileRef + 1DD70E298888A21600000000 + + E7A30F0413D2304000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2913D2304000000000 + + E7A30F042295CF9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292295CF9C00000000 + + E7A30F04131B4DDB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29131B4DDB00000000 + + E7A30F046DE339C600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296DE339C600000000 + + E7A30F042B57B2E100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292B57B2E100000000 + + E7A30F044C7A23C200000000 + + isa + PBXBuildFile + fileRef + 1DD70E294C7A23C200000000 + + E7A30F0497FCB43900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997FCB43900000000 + + E7A30F04BDC9812400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BDC9812400000000 + + E7A30F04B4F667E300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4F667E300000000 + + E7A30F04334963A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29334963A600000000 + + E7A30F04EA9A4D2D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9A4D2D00000000 + + E7A30F049888E78B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299888E78B00000000 + + E7A30F040DB5920A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DB5920A00000000 + + E7A30F0473D9FE0400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2973D9FE0400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04DE26C8B000000000 + E7A30F0433A3A08D00000000 + E7A30F04275AC42500000000 + E7A30F046CD3FFB000000000 + E7A30F040CC9147D00000000 + E7A30F043695936000000000 + E7A30F04EEB71AD600000000 + E7A30F04748F84BE00000000 + E7A30F0491D84F6D00000000 + E7A30F04F385560900000000 + E7A30F04B8AFDB4D00000000 + E7A30F048888A21600000000 + E7A30F0413D2304000000000 + E7A30F042295CF9C00000000 + E7A30F04131B4DDB00000000 + E7A30F046DE339C600000000 + E7A30F042B57B2E100000000 + E7A30F044C7A23C200000000 + E7A30F0497FCB43900000000 + E7A30F04BDC9812400000000 + E7A30F04B4F667E300000000 + E7A30F04334963A600000000 + E7A30F04EA9A4D2D00000000 + E7A30F049888E78B00000000 + E7A30F040DB5920A00000000 + E7A30F0473D9FE0400000000 + + + E7A30F04AE317AA300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE317AA300000000 + + 4F426D880000000000000000 + + isa + PBXFrameworksBuildPhase + files + + E7A30F04AE317AA300000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FAA9BD8800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29DC5312F200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294FE9BE5400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E89A74F8D00000000 + + isa + PBXNativeTarget + name + SwiftSignalKit#shared + productName + SwiftSignalKit + productReference + 1DD70E29D65BA68200000000 + productType + com.apple.product-type.library.dynamic + dependencies + + + buildPhases + + 1870857F0000000000000000 + 4F426D880000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793FD7F2A5B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E89A74F8D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793FD7F2A5B00000000 + + \ No newline at end of file diff --git a/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit.xcodeproj/xcshareddata/xcschemes/SwiftSignalKit.xcscheme b/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit.xcodeproj/xcshareddata/xcschemes/SwiftSignalKit.xcscheme new file mode 100644 index 0000000000..c82fe8764f --- /dev/null +++ b/submodules/SSignalKit/SwiftSignalKit/SwiftSignalKit.xcodeproj/xcshareddata/xcschemes/SwiftSignalKit.xcscheme @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/submodules/SaveToCameraRoll/BUCK b/submodules/SaveToCameraRoll/BUCK new file mode 100644 index 0000000000..8ddc060d1c --- /dev/null +++ b/submodules/SaveToCameraRoll/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SaveToCameraRoll", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Display:Display#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/DeviceAccess:DeviceAccess", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/MobileCoreServices.framework", + "$SDKROOT/System/Library/Frameworks/Photos.framework", + ], +) diff --git a/submodules/SaveToCameraRoll/SaveToCameraRoll.xcodeproj/project.pbxproj b/submodules/SaveToCameraRoll/SaveToCameraRoll.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e583afed12 --- /dev/null +++ b/submodules/SaveToCameraRoll/SaveToCameraRoll.xcodeproj/project.pbxproj @@ -0,0 +1,731 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29C4FAC91B00000000 + + isa + PBXFileReference + name + SaveToCameraRoll-Debug.xcconfig + path + ../../buck-out/gen/submodules/SaveToCameraRoll/SaveToCameraRoll-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29568F85C500000000 + + isa + PBXFileReference + name + SaveToCameraRoll-Profile.xcconfig + path + ../../buck-out/gen/submodules/SaveToCameraRoll/SaveToCameraRoll-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CA26312700000000 + + isa + PBXFileReference + name + SaveToCameraRoll-Release.xcconfig + path + ../../buck-out/gen/submodules/SaveToCameraRoll/SaveToCameraRoll-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C4FAC91B00000000 + 1DD70E29568F85C500000000 + 1DD70E29CA26312700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E291D58331200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29FA38EF7F00000000 + + isa + PBXFileReference + name + SaveToCameraRoll.swift + path + Sources/SaveToCameraRoll.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29FA38EF7F00000000 + + + B401C97978B0F05A00000000 + + isa + PBXGroup + name + SaveToCameraRoll + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97978B0F05A00000000 + + + E7A30F04FA38EF7F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FA38EF7F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04FA38EF7F00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C4FAC91B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29568F85C500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CA26312700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E78B0F05A00000000 + + isa + PBXNativeTarget + name + SaveToCameraRoll + productName + SaveToCameraRoll + productReference + 1DD70E291D58331200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479378B0F05A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E78B0F05A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479378B0F05A00000000 + + \ No newline at end of file diff --git a/submodules/SaveToCameraRoll/SaveToCameraRoll.xcodeproj/xcshareddata/xcschemes/SaveToCameraRoll.xcscheme b/submodules/SaveToCameraRoll/SaveToCameraRoll.xcodeproj/xcshareddata/xcschemes/SaveToCameraRoll.xcscheme new file mode 100644 index 0000000000..a3f630e6bb --- /dev/null +++ b/submodules/SaveToCameraRoll/SaveToCameraRoll.xcodeproj/xcshareddata/xcschemes/SaveToCameraRoll.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ScreenCaptureDetection/BUCK b/submodules/ScreenCaptureDetection/BUCK new file mode 100644 index 0000000000..4a993a81a1 --- /dev/null +++ b/submodules/ScreenCaptureDetection/BUCK @@ -0,0 +1,15 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ScreenCaptureDetection", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ScreenCaptureDetection/ScreenCaptureDetection.xcodeproj/project.pbxproj b/submodules/ScreenCaptureDetection/ScreenCaptureDetection.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e18978bf9c --- /dev/null +++ b/submodules/ScreenCaptureDetection/ScreenCaptureDetection.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2994ECA6CA00000000 + + isa + PBXFileReference + name + ScreenCaptureDetection-Debug.xcconfig + path + ../../buck-out/gen/submodules/ScreenCaptureDetection/ScreenCaptureDetection-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F180B3B400000000 + + isa + PBXFileReference + name + ScreenCaptureDetection-Profile.xcconfig + path + ../../buck-out/gen/submodules/ScreenCaptureDetection/ScreenCaptureDetection-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2965175F1600000000 + + isa + PBXFileReference + name + ScreenCaptureDetection-Release.xcconfig + path + ../../buck-out/gen/submodules/ScreenCaptureDetection/ScreenCaptureDetection-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2994ECA6CA00000000 + 1DD70E29F180B3B400000000 + 1DD70E2965175F1600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CF967D4300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29115920F000000000 + + isa + PBXFileReference + name + ScreenCaptureDetection.swift + path + Sources/ScreenCaptureDetection.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29115920F000000000 + + + B401C979326B4A8B00000000 + + isa + PBXGroup + name + ScreenCaptureDetection + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979326B4A8B00000000 + + + E7A30F04115920F000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29115920F000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04115920F000000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2994ECA6CA00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29F180B3B400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2965175F1600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E326B4A8B00000000 + + isa + PBXNativeTarget + name + ScreenCaptureDetection + productName + ScreenCaptureDetection + productReference + 1DD70E29CF967D4300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793326B4A8B00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E326B4A8B00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793326B4A8B00000000 + + \ No newline at end of file diff --git a/submodules/ScreenCaptureDetection/ScreenCaptureDetection.xcodeproj/xcshareddata/xcschemes/ScreenCaptureDetection.xcscheme b/submodules/ScreenCaptureDetection/ScreenCaptureDetection.xcodeproj/xcshareddata/xcschemes/ScreenCaptureDetection.xcscheme new file mode 100644 index 0000000000..6424d9faa4 --- /dev/null +++ b/submodules/ScreenCaptureDetection/ScreenCaptureDetection.xcodeproj/xcshareddata/xcschemes/ScreenCaptureDetection.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SearchBarNode/BUCK b/submodules/SearchBarNode/BUCK new file mode 100644 index 0000000000..b84e9214e4 --- /dev/null +++ b/submodules/SearchBarNode/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SearchBarNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SearchBarNode/SearchBarNode.xcodeproj/project.pbxproj b/submodules/SearchBarNode/SearchBarNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..68305271fa --- /dev/null +++ b/submodules/SearchBarNode/SearchBarNode.xcodeproj/project.pbxproj @@ -0,0 +1,553 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E298150B34800000000 + + isa + PBXFileReference + name + SearchBarNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/SearchBarNode/SearchBarNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29551398B200000000 + + isa + PBXFileReference + name + SearchBarNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/SearchBarNode/SearchBarNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C8AA441400000000 + + isa + PBXFileReference + name + SearchBarNode-Release.xcconfig + path + ../../buck-out/gen/submodules/SearchBarNode/SearchBarNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E298150B34800000000 + 1DD70E29551398B200000000 + 1DD70E29C8AA441400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29BF0846EE00000000 + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29EA9CBB5B00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F6E36EB200000000 + + isa + PBXFileReference + name + SearchBarNode.swift + path + Sources/SearchBarNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29033E088F00000000 + + isa + PBXFileReference + name + SearchBarPlaceholderNode.swift + path + Sources/SearchBarPlaceholderNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F6E36EB200000000 + 1DD70E29033E088F00000000 + + + B401C9796A2B91CD00000000 + + isa + PBXGroup + name + SearchBarNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9796A2B91CD00000000 + + + E7A30F04F6E36EB200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F6E36EB200000000 + + E7A30F04033E088F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29033E088F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F6E36EB200000000 + E7A30F04033E088F00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E298150B34800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29551398B200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29C8AA441400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6A2B91CD00000000 + + isa + PBXNativeTarget + name + SearchBarNode + productName + SearchBarNode + productReference + 1DD70E29EA9CBB5B00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936A2B91CD00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6A2B91CD00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936A2B91CD00000000 + + \ No newline at end of file diff --git a/submodules/SearchBarNode/SearchBarNode.xcodeproj/xcshareddata/xcschemes/SearchBarNode.xcscheme b/submodules/SearchBarNode/SearchBarNode.xcodeproj/xcshareddata/xcschemes/SearchBarNode.xcscheme new file mode 100644 index 0000000000..0c12e12962 --- /dev/null +++ b/submodules/SearchBarNode/SearchBarNode.xcodeproj/xcshareddata/xcschemes/SearchBarNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj b/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj index 7738fbad24..cac7f8d5a1 100644 --- a/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj +++ b/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj @@ -17,7 +17,7 @@ D0C9C2DD2300A3A000FAB518 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2DC2300A3A000FAB518 /* Display.framework */; }; D0C9C2DF2300A3A400FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2DE2300A3A400FAB518 /* TelegramPresentationData.framework */; }; D0C9C2E12300A3A800FAB518 /* ActivityIndicator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C2E02300A3A800FAB518 /* ActivityIndicator.framework */; }; - D0C9C2E52300A44E00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C2E42300A44E00FAB518 /* FrameworkBundle.swift */; }; + D0EFF250231980DD00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF24F231980DD00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -33,7 +33,7 @@ D0C9C2DC2300A3A000FAB518 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C2DE2300A3A400FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C2E02300A3A800FAB518 /* ActivityIndicator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ActivityIndicator.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C2E42300A44E00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF24F231980DD00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -41,6 +41,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF250231980DD00CF5164 /* AppBundle.framework in Frameworks */, D0C9C2E12300A3A800FAB518 /* ActivityIndicator.framework in Frameworks */, D0C9C2DF2300A3A400FAB518 /* TelegramPresentationData.framework in Frameworks */, D0C9C2DD2300A3A000FAB518 /* Display.framework in Frameworks */, @@ -77,7 +78,6 @@ children = ( D0C9C2CB2300A2C900FAB518 /* SearchBarNode.swift */, D0C9C2CC2300A2C900FAB518 /* SearchBarPlaceholderNode.swift */, - D0C9C2E42300A44E00FAB518 /* FrameworkBundle.swift */, D0C9C2C32300A21900FAB518 /* SearchBarNode.h */, ); path = Sources; @@ -86,6 +86,7 @@ D0C9C2D32300A38F00FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF24F231980DD00CF5164 /* AppBundle.framework */, D0C9C2E02300A3A800FAB518 /* ActivityIndicator.framework */, D0C9C2DE2300A3A400FAB518 /* TelegramPresentationData.framework */, D0C9C2DC2300A3A000FAB518 /* Display.framework */, @@ -179,7 +180,6 @@ files = ( D0C9C2CD2300A2C900FAB518 /* SearchBarNode.swift in Sources */, D0C9C2CE2300A2C900FAB518 /* SearchBarPlaceholderNode.swift in Sources */, - D0C9C2E52300A44E00FAB518 /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/SearchBarNode/Sources/FrameworkBundle.swift b/submodules/SearchBarNode/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/SearchBarNode/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/SearchBarNode/Sources/SearchBarNode.swift b/submodules/SearchBarNode/Sources/SearchBarNode.swift index de5796027a..0ce38d027b 100644 --- a/submodules/SearchBarNode/Sources/SearchBarNode.swift +++ b/submodules/SearchBarNode/Sources/SearchBarNode.swift @@ -5,6 +5,7 @@ import AsyncDisplayKit import Display import TelegramPresentationData import ActivityIndicator +import AppBundle private func generateLoupeIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Loupe"), color: color) diff --git a/submodules/SearchBarNode/Sources/SearchBarPlaceholderNode.swift b/submodules/SearchBarNode/Sources/SearchBarPlaceholderNode.swift index d893379964..6a6a57036c 100644 --- a/submodules/SearchBarNode/Sources/SearchBarPlaceholderNode.swift +++ b/submodules/SearchBarNode/Sources/SearchBarPlaceholderNode.swift @@ -3,6 +3,7 @@ import UIKit import SwiftSignalKit import AsyncDisplayKit import Display +import AppBundle private let templateLoupeIcon = UIImage(bundleImageName: "Components/Search Bar/Loupe") diff --git a/submodules/SearchUI/BUCK b/submodules/SearchUI/BUCK new file mode 100644 index 0000000000..ac67194edf --- /dev/null +++ b/submodules/SearchUI/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SearchUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/ChatListSearchItemNode:ChatListSearchItemNode", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SearchUI/SearchUI.xcodeproj/project.pbxproj b/submodules/SearchUI/SearchUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..d740aa2113 --- /dev/null +++ b/submodules/SearchUI/SearchUI.xcodeproj/project.pbxproj @@ -0,0 +1,637 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2932662AD900000000 + + isa + PBXFileReference + name + SearchUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/SearchUI/SearchUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2916A9700300000000 + + isa + PBXFileReference + name + SearchUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/SearchUI/SearchUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E298A401B6500000000 + + isa + PBXFileReference + name + SearchUI-Release.xcconfig + path + ../../buck-out/gen/submodules/SearchUI/SearchUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2932662AD900000000 + 1DD70E2916A9700300000000 + 1DD70E298A401B6500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29BF0846EE00000000 + 1DD70E2907DC840B00000000 + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E291328E99400000000 + + isa + PBXFileReference + name + libSearchUI.a + path + libSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E291328E99400000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29FBCE5A2300000000 + + isa + PBXFileReference + name + FixSearchableListNodeScrolling.swift + path + Sources/FixSearchableListNodeScrolling.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A9AD1B7900000000 + + isa + PBXFileReference + name + NavigationBarSearchContentNode.swift + path + Sources/NavigationBarSearchContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2949AD073B00000000 + + isa + PBXFileReference + name + SearchDisplayController.swift + path + Sources/SearchDisplayController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F7F9260A00000000 + + isa + PBXFileReference + name + SearchDisplayControllerContentNode.swift + path + Sources/SearchDisplayControllerContentNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29FBCE5A2300000000 + 1DD70E29A9AD1B7900000000 + 1DD70E2949AD073B00000000 + 1DD70E29F7F9260A00000000 + + + B401C97938D20A5C00000000 + + isa + PBXGroup + name + SearchUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97938D20A5C00000000 + + + E7A30F04FBCE5A2300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FBCE5A2300000000 + + E7A30F04A9AD1B7900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A9AD1B7900000000 + + E7A30F0449AD073B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2949AD073B00000000 + + E7A30F04F7F9260A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F7F9260A00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04FBCE5A2300000000 + E7A30F04A9AD1B7900000000 + E7A30F0449AD073B00000000 + E7A30F04F7F9260A00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F0407DC840B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC840B00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04BF0846EE00000000 + E7A30F04EA9CBB5B00000000 + E7A30F0407DC840B00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2932662AD900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2916A9700300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E298A401B6500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E38D20A5C00000000 + + isa + PBXNativeTarget + name + SearchUI + productName + SearchUI + productReference + 1DD70E291328E99400000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479338D20A5C00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E38D20A5C00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479338D20A5C00000000 + + \ No newline at end of file diff --git a/submodules/SearchUI/SearchUI.xcodeproj/xcshareddata/xcschemes/SearchUI.xcscheme b/submodules/SearchUI/SearchUI.xcodeproj/xcshareddata/xcschemes/SearchUI.xcscheme new file mode 100644 index 0000000000..3757dd95d2 --- /dev/null +++ b/submodules/SearchUI/SearchUI.xcodeproj/xcshareddata/xcschemes/SearchUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SelectablePeerNode/BUCK b/submodules/SelectablePeerNode/BUCK new file mode 100644 index 0000000000..0226d71817 --- /dev/null +++ b/submodules/SelectablePeerNode/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SelectablePeerNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/PeerOnlineMarkerNode:PeerOnlineMarkerNode", + "//submodules/AvatarNode:AvatarNode", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SelectablePeerNode/SelectablePeerNode.xcodeproj/project.pbxproj b/submodules/SelectablePeerNode/SelectablePeerNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7b4c65c911 --- /dev/null +++ b/submodules/SelectablePeerNode/SelectablePeerNode.xcodeproj/project.pbxproj @@ -0,0 +1,643 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29C1F3B85B00000000 + + isa + PBXFileReference + name + SelectablePeerNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/SelectablePeerNode/SelectablePeerNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F909A50500000000 + + isa + PBXFileReference + name + SelectablePeerNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/SelectablePeerNode/SelectablePeerNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296CA0506700000000 + + isa + PBXFileReference + name + SelectablePeerNode-Release.xcconfig + path + ../../buck-out/gen/submodules/SelectablePeerNode/SelectablePeerNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C1F3B85B00000000 + 1DD70E29F909A50500000000 + 1DD70E296CA0506700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29928D142900000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29097DBE9200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F6D9D83F00000000 + + isa + PBXFileReference + name + SelectablePeerNode.swift + path + Sources/SelectablePeerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F6D9D83F00000000 + + + B401C979175F691A00000000 + + isa + PBXGroup + name + SelectablePeerNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979175F691A00000000 + + + E7A30F04F6D9D83F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F6D9D83F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F6D9D83F00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + E7A30F04928D142900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C1F3B85B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29F909A50500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E296CA0506700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E175F691A00000000 + + isa + PBXNativeTarget + name + SelectablePeerNode + productName + SelectablePeerNode + productReference + 1DD70E29097DBE9200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793175F691A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E175F691A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793175F691A00000000 + + \ No newline at end of file diff --git a/submodules/SelectablePeerNode/SelectablePeerNode.xcodeproj/xcshareddata/xcschemes/SelectablePeerNode.xcscheme b/submodules/SelectablePeerNode/SelectablePeerNode.xcodeproj/xcshareddata/xcschemes/SelectablePeerNode.xcscheme new file mode 100644 index 0000000000..1c6d3733dc --- /dev/null +++ b/submodules/SelectablePeerNode/SelectablePeerNode.xcodeproj/xcshareddata/xcschemes/SelectablePeerNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SettingsUI/BUCK b/submodules/SettingsUI/BUCK new file mode 100644 index 0000000000..385f179e24 --- /dev/null +++ b/submodules/SettingsUI/BUCK @@ -0,0 +1,89 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SettingsUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/AlertUI:AlertUI", + "//submodules/AvatarNode:AvatarNode", + "//submodules/CallListUI:CallListUI", + "//submodules/ChatListSearchItemNode:ChatListSearchItemNode", + "//submodules/ChatListSearchItemHeader:ChatListSearchItemHeader", + "//submodules/ChatListUI:ChatListUI", + "//submodules/ContactsPeerItem:ContactsPeerItem", + "//submodules/CountrySelectionUI:CountrySelectionUI", + "//submodules/DeviceAccess:DeviceAccess", + "//submodules/DeviceLocationManager:DeviceLocationManager", + "//submodules/GalleryUI:GalleryUI", + "//submodules/Geocoding:Geocoding", + "//submodules/ItemListUI:ItemListUI", + "//submodules/ItemListStickerPackItem:ItemListStickerPackItem", + "//submodules/ItemListPeerItem:ItemListPeerItem", + "//submodules/ItemListPeerActionItem:ItemListPeerActionItem", + "//submodules/ItemListAvatarAndNameInfoItem:ItemListAvatarAndNameInfoItem", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/LegacyUI:LegacyUI", + "//submodules/LegacyMediaPickerUI:LegacyMediaPickerUI", + "//submodules/ListSectionHeaderNode:ListSectionHeaderNode", + "//submodules/LocalMediaResources:LocalMediaResources", + "//submodules/LocalizedPeerData:LocalizedPeerData", + "//submodules/LocalAuth:LocalAuth", + "//submodules/MapResourceToAvatarSizes:MapResourceToAvatarSizes", + "//submodules/MediaResources:MediaResources", + "//submodules/MergeLists:MergeLists", + "//submodules/NotificationSoundSelectionUI:NotificationSoundSelectionUI", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/PasswordSetupUI:PasswordSetupUI", + "//submodules/PassportUI:PassportUI", + "//submodules/PasscodeUI:PasscodeUI", + "//submodules/PeerAvatarGalleryUI:PeerAvatarGalleryUI", + "//submodules/PhoneInputNode:PhoneInputNode", + "//submodules/PhotoResources:PhotoResources", + "//submodules/ProgressNavigationButtonNode:ProgressNavigationButtonNode", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/SearchUI:SearchUI", + "//submodules/ShareController:ShareController", + "//submodules/StickerPackPreviewUI:StickerPackPreviewUI", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/TelegramCallsUI:TelegramCallsUI", + "//submodules/TextFormat:TextFormat", + "//submodules/MediaPlayer:UniversalMediaPlayer", + "//submodules/UrlEscaping:UrlEscaping", + "//submodules/WebSearchUI:WebSearchUI", + "//submodules/UrlHandling:UrlHandling", + "//submodules/HexColor:HexColor", + "//submodules/QrCode:QrCode", + "//submodules/WallpaperResources:WallpaperResources", + "//submodules/AuthorizationUI:AuthorizationUI", + "//submodules/InstantPageUI:InstantPageUI", + "//submodules/CheckNode:CheckNode", + "//submodules/CounterContollerTitleView:CounterContollerTitleView", + "//submodules/GridMessageSelectionNode:GridMessageSelectionNode", + "//submodules/InstantPageCache:InstantPageCache", + "//submodules/AppBundle:AppBundle", + "//submodules/ContextUI:ContextUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/MessageUI.framework", + "$SDKROOT/System/Library/Frameworks/LocalAuthentication.framework", + "$SDKROOT/System/Library/Frameworks/Photos.framework", + "$SDKROOT/System/Library/Frameworks/QuickLook.framework", + "$SDKROOT/System/Library/Frameworks/CoreTelephony.framework", + ], +) diff --git a/submodules/SettingsUI/SettingsUI.xcodeproj/project.pbxproj b/submodules/SettingsUI/SettingsUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b31f8575dc --- /dev/null +++ b/submodules/SettingsUI/SettingsUI.xcodeproj/project.pbxproj @@ -0,0 +1,5000 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E295C15C1BE00000000 + + isa + PBXFileReference + name + SettingsUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/SettingsUI/SettingsUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2992CEE1A800000000 + + isa + PBXFileReference + name + SettingsUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/SettingsUI/SettingsUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2906658D0A00000000 + + isa + PBXFileReference + name + SettingsUI-Release.xcconfig + path + ../../buck-out/gen/submodules/SettingsUI/SettingsUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E295C15C1BE00000000 + 1DD70E2992CEE1A800000000 + 1DD70E2906658D0A00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296A100F7B00000000 + + isa + PBXFileReference + name + libAuthorizationUI.a + path + libAuthorizationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2938C0E4C800000000 + + isa + PBXFileReference + name + libCallListUI.a + path + libCallListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC840B00000000 + + isa + PBXFileReference + name + libChatListSearchItemNode.a + path + libChatListSearchItemNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296DFD63C200000000 + + isa + PBXFileReference + name + libChatListUI.a + path + libChatListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B6F47D1F00000000 + + isa + PBXFileReference + name + libChatTitleActivityNode.a + path + libChatTitleActivityNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292F91702000000000 + + isa + PBXFileReference + name + libContactListUI.a + path + libContactListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2931752C6000000000 + + isa + PBXFileReference + name + libContactsPeerItem.a + path + libContactsPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C9831F100000000 + + isa + PBXFileReference + name + libContextUI.a + path + libContextUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2915F6A49D00000000 + + isa + PBXFileReference + name + libCounterContollerTitleView.a + path + libCounterContollerTitleView.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29016F454200000000 + + isa + PBXFileReference + name + libCountrySelectionUI.a + path + libCountrySelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2979E58A0000000000 + + isa + PBXFileReference + name + libDateSelectionUI.a + path + libDateSelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CED1620500000000 + + isa + PBXFileReference + name + libDeleteChatPeerActionSheetItem.a + path + libDeleteChatPeerActionSheetItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D1EB356900000000 + + isa + PBXFileReference + name + libGeocoding.a + path + libGeocoding.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F8FF5A6500000000 + + isa + PBXFileReference + name + libGridMessageSelectionNode.a + path + libGridMessageSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2947B6256000000000 + + isa + PBXFileReference + name + libHexColor.a + path + libHexColor.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299B97462A00000000 + + isa + PBXFileReference + name + libInstantPageCache.a + path + libInstantPageCache.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297394725200000000 + + isa + PBXFileReference + name + libInstantPageUI.a + path + libInstantPageUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F2CA340700000000 + + isa + PBXFileReference + name + libItemListAvatarAndNameInfoItem.a + path + libItemListAvatarAndNameInfoItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2905A95CB400000000 + + isa + PBXFileReference + name + libItemListPeerActionItem.a + path + libItemListPeerActionItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299A24C4DE00000000 + + isa + PBXFileReference + name + libItemListPeerItem.a + path + libItemListPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295C00B78600000000 + + isa + PBXFileReference + name + libItemListStickerPackItem.a + path + libItemListStickerPackItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E220F5E800000000 + + isa + PBXFileReference + name + libLanguageSuggestionUI.a + path + libLanguageSuggestionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C39078B00000000 + + isa + PBXFileReference + name + libLegacyMediaPickerUI.a + path + libLegacyMediaPickerUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292995DF8400000000 + + isa + PBXFileReference + name + libLiveLocationPositionNode.a + path + libLiveLocationPositionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292969635400000000 + + isa + PBXFileReference + name + libLiveLocationTimerNode.a + path + libLiveLocationTimerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A889192100000000 + + isa + PBXFileReference + name + libLocalAuth.a + path + libLocalAuth.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E102CFE100000000 + + isa + PBXFileReference + name + libLocationUI.a + path + libLocationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A3994F2C00000000 + + isa + PBXFileReference + name + libMapResourceToAvatarSizes.a + path + libMapResourceToAvatarSizes.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296BF0672C00000000 + + isa + PBXFileReference + name + libMosaicLayout.a + path + libMosaicLayout.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29866F6A0400000000 + + isa + PBXFileReference + name + libMusicAlbumArtResources.a + path + libMusicAlbumArtResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2937C1167400000000 + + isa + PBXFileReference + name + libNotificationSoundSelectionUI.a + path + libNotificationSoundSelectionUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D0DBC52A00000000 + + isa + PBXFileReference + name + libPasscodeUI.a + path + libPasscodeUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29300245BE00000000 + + isa + PBXFileReference + name + libPassportUI.a + path + libPassportUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E299856EB2400000000 + + isa + PBXFileReference + name + libPasswordSetupUI.a + path + libPasswordSetupUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7165FF900000000 + + isa + PBXFileReference + name + libPeerAvatarGalleryUI.a + path + libPeerAvatarGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B5051C0E00000000 + + isa + PBXFileReference + name + libPersistentStringHash.a + path + libPersistentStringHash.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29005B963600000000 + + isa + PBXFileReference + name + libPhoneInputNode.a + path + libPhoneInputNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AA32BBC600000000 + + isa + PBXFileReference + name + libQrCode.a + path + libQrCode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AD66967300000000 + + isa + PBXFileReference + name + libReactionSelectionNode.a + path + libReactionSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291328E99400000000 + + isa + PBXFileReference + name + libSearchUI.a + path + libSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2907DC815E00000000 + + isa + PBXFileReference + name + libStickerPackPreviewUI.a + path + libStickerPackPreviewUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2943136EC600000000 + + isa + PBXFileReference + name + libTelegramBaseController.a + path + libTelegramBaseController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DA3FBAD600000000 + + isa + PBXFileReference + name + libTelegramCallsUI.a + path + libTelegramCallsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F18DE1D900000000 + + isa + PBXFileReference + name + libTelegramVoip.a + path + libTelegramVoip.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AE67341000000000 + + isa + PBXFileReference + name + libUndoUI.a + path + libUndoUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D81471E200000000 + + isa + PBXFileReference + name + libUrlHandling.a + path + libUrlHandling.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A7E1559B00000000 + + isa + PBXFileReference + name + libWallpaperResources.a + path + libWallpaperResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DF12291E00000000 + + isa + PBXFileReference + name + libWebSearchUI.a + path + libWebSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E296A100F7B00000000 + 1DD70E29A54A195300000000 + 1DD70E2938C0E4C800000000 + 1DD70E29FD72F45600000000 + 1DD70E2907DC840B00000000 + 1DD70E297AB043C800000000 + 1DD70E296DFD63C200000000 + 1DD70E29B6F47D1F00000000 + 1DD70E2997B4D6D800000000 + 1DD70E292F91702000000000 + 1DD70E2931752C6000000000 + 1DD70E296C9831F100000000 + 1DD70E2915F6A49D00000000 + 1DD70E29016F454200000000 + 1DD70E2979E58A0000000000 + 1DD70E29CED1620500000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29F29DEA1400000000 + 1DD70E29D1EB356900000000 + 1DD70E29F8FF5A6500000000 + 1DD70E2947B6256000000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29C6E517A300000000 + 1DD70E29247D9AC100000000 + 1DD70E299B97462A00000000 + 1DD70E297394725200000000 + 1DD70E29F2CA340700000000 + 1DD70E2905A95CB400000000 + 1DD70E299A24C4DE00000000 + 1DD70E295C00B78600000000 + 1DD70E295A26607D00000000 + 1DD70E29E220F5E800000000 + 1DD70E296C39078B00000000 + 1DD70E2952137F3500000000 + 1DD70E29AC43662400000000 + 1DD70E292995DF8400000000 + 1DD70E292969635400000000 + 1DD70E29A889192100000000 + 1DD70E2968BAC05A00000000 + 1DD70E29CE34063500000000 + 1DD70E29E102CFE100000000 + 1DD70E29A3994F2C00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E296BF0672C00000000 + 1DD70E29866F6A0400000000 + 1DD70E2937C1167400000000 + 1DD70E29AF00DC4900000000 + 1DD70E29BBAF750C00000000 + 1DD70E29D0DBC52A00000000 + 1DD70E29300245BE00000000 + 1DD70E299856EB2400000000 + 1DD70E29C7165FF900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E291631B91900000000 + 1DD70E29B5051C0E00000000 + 1DD70E29005B963600000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E29AA32BBC600000000 + 1DD70E293E4DE92B00000000 + 1DD70E29AD66967300000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E291328E99400000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E29524F478E00000000 + 1DD70E2907DC815E00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E2943136EC600000000 + 1DD70E29DA3FBAD600000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E29DF758A8500000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29F18DE1D900000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29F40A586F00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E29AE67341000000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29D81471E200000000 + 1DD70E29A7E1559B00000000 + 1DD70E29DF12291E00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E290456054F00000000 + + isa + PBXFileReference + name + libSettingsUI.a + path + libSettingsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E290456054F00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B34055D000000000 + + isa + PBXFileReference + name + AutodownloadConnectionTypeController.swift + path + Sources/Data and Storage/AutodownloadConnectionTypeController.swift + sourceTree + SOURCE_ROOT + + 1DD70E296643094600000000 + + isa + PBXFileReference + name + AutodownloadDataUsagePickerItem.swift + path + Sources/Data and Storage/AutodownloadDataUsagePickerItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2991129E4C00000000 + + isa + PBXFileReference + name + AutodownloadMediaCategoryController.swift + path + Sources/Data and Storage/AutodownloadMediaCategoryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2979C8627B00000000 + + isa + PBXFileReference + name + AutodownloadSizeLimitItem.swift + path + Sources/Data and Storage/AutodownloadSizeLimitItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D53B9EF800000000 + + isa + PBXFileReference + name + CalculatingCacheSizeItem.swift + path + Sources/Data and Storage/CalculatingCacheSizeItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2984A799B200000000 + + isa + PBXFileReference + name + DataAndStorageSettingsController.swift + path + Sources/Data and Storage/DataAndStorageSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E293EB09D8D00000000 + + isa + PBXFileReference + name + NetworkUsageStatsController.swift + path + Sources/Data and Storage/NetworkUsageStatsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B70ABB000000000 + + isa + PBXFileReference + name + ProxyListSettingsController.swift + path + Sources/Data and Storage/ProxyListSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E2224A3900000000 + + isa + PBXFileReference + name + ProxyServerActionSheetController.swift + path + Sources/Data and Storage/ProxyServerActionSheetController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29595A27D500000000 + + isa + PBXFileReference + name + ProxyServerSettingsController.swift + path + Sources/Data and Storage/ProxyServerSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E1C128FF00000000 + + isa + PBXFileReference + name + ProxySettingsActionItem.swift + path + Sources/Data and Storage/ProxySettingsActionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D147ADCC00000000 + + isa + PBXFileReference + name + ProxySettingsServerItem.swift + path + Sources/Data and Storage/ProxySettingsServerItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2979467C2200000000 + + isa + PBXFileReference + name + SaveIncomingMediaController.swift + path + Sources/Data and Storage/SaveIncomingMediaController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2998DDE2B800000000 + + isa + PBXFileReference + name + ShareProxyServerActionSheetController.swift + path + Sources/Data and Storage/ShareProxyServerActionSheetController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CBD2D56700000000 + + isa + PBXFileReference + name + StorageUsageController.swift + path + Sources/Data and Storage/StorageUsageController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2917489B5500000000 + + isa + PBXFileReference + name + VoiceCallDataSavingController.swift + path + Sources/Data and Storage/VoiceCallDataSavingController.swift + sourceTree + SOURCE_ROOT + + B401C979E13BD9BC00000000 + + isa + PBXGroup + name + Data and Storage + path + Sources/Data and Storage + sourceTree + SOURCE_ROOT + children + + 1DD70E29B34055D000000000 + 1DD70E296643094600000000 + 1DD70E2991129E4C00000000 + 1DD70E2979C8627B00000000 + 1DD70E29D53B9EF800000000 + 1DD70E2984A799B200000000 + 1DD70E293EB09D8D00000000 + 1DD70E298B70ABB000000000 + 1DD70E29E2224A3900000000 + 1DD70E29595A27D500000000 + 1DD70E29E1C128FF00000000 + 1DD70E29D147ADCC00000000 + 1DD70E2979467C2200000000 + 1DD70E2998DDE2B800000000 + 1DD70E29CBD2D56700000000 + 1DD70E2917489B5500000000 + + + 1DD70E2969501A5800000000 + + isa + PBXFileReference + name + LocalizationListController.swift + path + Sources/Language Selection/LocalizationListController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2903F2897A00000000 + + isa + PBXFileReference + name + LocalizationListControllerNode.swift + path + Sources/Language Selection/LocalizationListControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B9DFD9CF00000000 + + isa + PBXFileReference + name + LocalizationListItem.swift + path + Sources/Language Selection/LocalizationListItem.swift + sourceTree + SOURCE_ROOT + + B401C9790AB0B6C400000000 + + isa + PBXGroup + name + Language Selection + path + Sources/Language Selection + sourceTree + SOURCE_ROOT + children + + 1DD70E2969501A5800000000 + 1DD70E2903F2897A00000000 + 1DD70E29B9DFD9CF00000000 + + + 1DD70E296091158700000000 + + isa + PBXFileReference + name + NotificationExceptionControllerNode.swift + path + Sources/Notifications/Exceptions/NotificationExceptionControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B4ED2B2800000000 + + isa + PBXFileReference + name + NotificationExceptionSettingsController.swift + path + Sources/Notifications/Exceptions/NotificationExceptionSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2989377CD400000000 + + isa + PBXFileReference + name + NotificationExceptions.swift + path + Sources/Notifications/Exceptions/NotificationExceptions.swift + sourceTree + SOURCE_ROOT + + B401C979287C162400000000 + + isa + PBXGroup + name + Exceptions + path + Sources/Notifications/Exceptions + sourceTree + SOURCE_ROOT + children + + 1DD70E296091158700000000 + 1DD70E29B4ED2B2800000000 + 1DD70E2989377CD400000000 + + + 1DD70E29A5EEC66B00000000 + + isa + PBXFileReference + name + NotificationSearchItem.swift + path + Sources/Notifications/NotificationSearchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2992180E7800000000 + + isa + PBXFileReference + name + NotificationsAndSounds.swift + path + Sources/Notifications/NotificationsAndSounds.swift + sourceTree + SOURCE_ROOT + + B401C9797B75C4C800000000 + + isa + PBXGroup + name + Notifications + path + Sources/Notifications + sourceTree + SOURCE_ROOT + children + + B401C979287C162400000000 + 1DD70E29A5EEC66B00000000 + 1DD70E2992180E7800000000 + + + 1DD70E29C96DE7E200000000 + + isa + PBXFileReference + name + ItemListRecentSessionItem.swift + path + Sources/Privacy and Security/Recent Sessions/ItemListRecentSessionItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A5A5D00200000000 + + isa + PBXFileReference + name + ItemListWebsiteItem.swift + path + Sources/Privacy and Security/Recent Sessions/ItemListWebsiteItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E297C88F99900000000 + + isa + PBXFileReference + name + RecentSessionsController.swift + path + Sources/Privacy and Security/Recent Sessions/RecentSessionsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FB5A9E3400000000 + + isa + PBXFileReference + name + RecentSessionsEmptyStateItem.swift + path + Sources/Privacy and Security/Recent Sessions/RecentSessionsEmptyStateItem.swift + sourceTree + SOURCE_ROOT + + B401C979B63E7CC200000000 + + isa + PBXGroup + name + Recent Sessions + path + Sources/Privacy and Security/Recent Sessions + sourceTree + SOURCE_ROOT + children + + 1DD70E29C96DE7E200000000 + 1DD70E29A5A5D00200000000 + 1DD70E297C88F99900000000 + 1DD70E29FB5A9E3400000000 + + + 1DD70E292A1CD44600000000 + + isa + PBXFileReference + name + BlockedPeersController.swift + path + Sources/Privacy and Security/BlockedPeersController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2952091EF800000000 + + isa + PBXFileReference + name + ConfirmPhoneNumberController.swift + path + Sources/Privacy and Security/ConfirmPhoneNumberController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BA7CEF3800000000 + + isa + PBXFileReference + name + CreatePasswordController.swift + path + Sources/Privacy and Security/CreatePasswordController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BB138E0200000000 + + isa + PBXFileReference + name + DataPrivacySettingsController.swift + path + Sources/Privacy and Security/DataPrivacySettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EEEAEF8500000000 + + isa + PBXFileReference + name + ForwardPrivacyChatPreviewItem.swift + path + Sources/Privacy and Security/ForwardPrivacyChatPreviewItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E297BE7988100000000 + + isa + PBXFileReference + name + PasscodeOptionsController.swift + path + Sources/Privacy and Security/PasscodeOptionsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B997391000000000 + + isa + PBXFileReference + name + PrivacyAndSecurityController.swift + path + Sources/Privacy and Security/PrivacyAndSecurityController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A54B014500000000 + + isa + PBXFileReference + name + PrivacyIntroController.swift + path + Sources/Privacy and Security/PrivacyIntroController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29691631E700000000 + + isa + PBXFileReference + name + PrivacyIntroControllerNode.swift + path + Sources/Privacy and Security/PrivacyIntroControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2959C0115000000000 + + isa + PBXFileReference + name + SelectivePrivacySettingsController.swift + path + Sources/Privacy and Security/SelectivePrivacySettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E299E87B00300000000 + + isa + PBXFileReference + name + SelectivePrivacySettingsPeersController.swift + path + Sources/Privacy and Security/SelectivePrivacySettingsPeersController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29421B856500000000 + + isa + PBXFileReference + name + TwoStepVerificationPasswordEntryController.swift + path + Sources/Privacy and Security/TwoStepVerificationPasswordEntryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2903BC291D00000000 + + isa + PBXFileReference + name + TwoStepVerificationResetController.swift + path + Sources/Privacy and Security/TwoStepVerificationResetController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2913D735D800000000 + + isa + PBXFileReference + name + TwoStepVerificationUnlockController.swift + path + Sources/Privacy and Security/TwoStepVerificationUnlockController.swift + sourceTree + SOURCE_ROOT + + B401C979A728414100000000 + + isa + PBXGroup + name + Privacy and Security + path + Sources/Privacy and Security + sourceTree + SOURCE_ROOT + children + + B401C979B63E7CC200000000 + 1DD70E292A1CD44600000000 + 1DD70E2952091EF800000000 + 1DD70E29BA7CEF3800000000 + 1DD70E29BB138E0200000000 + 1DD70E29EEEAEF8500000000 + 1DD70E297BE7988100000000 + 1DD70E29B997391000000000 + 1DD70E29A54B014500000000 + 1DD70E29691631E700000000 + 1DD70E2959C0115000000000 + 1DD70E299E87B00300000000 + 1DD70E29421B856500000000 + 1DD70E2903BC291D00000000 + 1DD70E2913D735D800000000 + + + 1DD70E29DE4899A300000000 + + isa + PBXFileReference + name + SettingsSearchItem.swift + path + Sources/Search/SettingsSearchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2938A63A1E00000000 + + isa + PBXFileReference + name + SettingsSearchRecentItem.swift + path + Sources/Search/SettingsSearchRecentItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DF26A52500000000 + + isa + PBXFileReference + name + SettingsSearchRecentQueries.swift + path + Sources/Search/SettingsSearchRecentQueries.swift + sourceTree + SOURCE_ROOT + + 1DD70E292F4FF16000000000 + + isa + PBXFileReference + name + SettingsSearchResultItem.swift + path + Sources/Search/SettingsSearchResultItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E73DF58000000000 + + isa + PBXFileReference + name + SettingsSearchableItems.swift + path + Sources/Search/SettingsSearchableItems.swift + sourceTree + SOURCE_ROOT + + B401C979935F51C800000000 + + isa + PBXGroup + name + Search + path + Sources/Search + sourceTree + SOURCE_ROOT + children + + 1DD70E29DE4899A300000000 + 1DD70E2938A63A1E00000000 + 1DD70E29DF26A52500000000 + 1DD70E292F4FF16000000000 + 1DD70E29E73DF58000000000 + + + 1DD70E29A2D132C000000000 + + isa + PBXFileReference + name + ArchivedStickerPacksController.swift + path + Sources/Stickers/ArchivedStickerPacksController.swift + sourceTree + SOURCE_ROOT + + 1DD70E292988B50C00000000 + + isa + PBXFileReference + name + FeaturedStickerPacksController.swift + path + Sources/Stickers/FeaturedStickerPacksController.swift + sourceTree + SOURCE_ROOT + + 1DD70E297950FA1800000000 + + isa + PBXFileReference + name + InstalledStickerPacksController.swift + path + Sources/Stickers/InstalledStickerPacksController.swift + sourceTree + SOURCE_ROOT + + B401C9795F2682F600000000 + + isa + PBXGroup + name + Stickers + path + Sources/Stickers + sourceTree + SOURCE_ROOT + children + + 1DD70E29A2D132C000000000 + 1DD70E292988B50C00000000 + 1DD70E297950FA1800000000 + + + 1DD70E297D502A9800000000 + + isa + PBXFileReference + name + TermsOfServiceController.swift + path + Sources/Terms of Service/TermsOfServiceController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FCF079BA00000000 + + isa + PBXFileReference + name + TermsOfServiceControllerNode.swift + path + Sources/Terms of Service/TermsOfServiceControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979801D29A500000000 + + isa + PBXGroup + name + Terms of Service + path + Sources/Terms of Service + sourceTree + SOURCE_ROOT + children + + 1DD70E297D502A9800000000 + 1DD70E29FCF079BA00000000 + + + 1DD70E29CA466CC400000000 + + isa + PBXFileReference + name + CustomWallpaperPicker.swift + path + Sources/Themes/CustomWallpaperPicker.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F15EBD2000000000 + + isa + PBXFileReference + name + EditThemeController.swift + path + Sources/Themes/EditThemeController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2942938DA300000000 + + isa + PBXFileReference + name + SettingsThemeWallpaperNode.swift + path + Sources/Themes/SettingsThemeWallpaperNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EF5534B100000000 + + isa + PBXFileReference + name + ThemeAccentColorController.swift + path + Sources/Themes/ThemeAccentColorController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2972C0CF5300000000 + + isa + PBXFileReference + name + ThemeAccentColorControllerNode.swift + path + Sources/Themes/ThemeAccentColorControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A72D9BA400000000 + + isa + PBXFileReference + name + ThemeAutoNightSettingsController.swift + path + Sources/Themes/ThemeAutoNightSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E290AE1C14F00000000 + + isa + PBXFileReference + name + ThemeAutoNightTimeSelectionActionSheet.swift + path + Sources/Themes/ThemeAutoNightTimeSelectionActionSheet.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FBBDB6C000000000 + + isa + PBXFileReference + name + ThemeColorsGridController.swift + path + Sources/Themes/ThemeColorsGridController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2962E5AE3300000000 + + isa + PBXFileReference + name + ThemeColorsGridControllerItem.swift + path + Sources/Themes/ThemeColorsGridControllerItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2933EBB1E200000000 + + isa + PBXFileReference + name + ThemeColorsGridControllerNode.swift + path + Sources/Themes/ThemeColorsGridControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D2CC37F000000000 + + isa + PBXFileReference + name + ThemeGridController.swift + path + Sources/Themes/ThemeGridController.swift + sourceTree + SOURCE_ROOT + + 1DD70E291F70176300000000 + + isa + PBXFileReference + name + ThemeGridControllerItem.swift + path + Sources/Themes/ThemeGridControllerItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F0761B1200000000 + + isa + PBXFileReference + name + ThemeGridControllerNode.swift + path + Sources/Themes/ThemeGridControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B98C823F00000000 + + isa + PBXFileReference + name + ThemeGridSearchColorsItem.swift + path + Sources/Themes/ThemeGridSearchColorsItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E291CBB5A2900000000 + + isa + PBXFileReference + name + ThemeGridSearchContentNode.swift + path + Sources/Themes/ThemeGridSearchContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C1FEE9EF00000000 + + isa + PBXFileReference + name + ThemeGridSearchItem.swift + path + Sources/Themes/ThemeGridSearchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A67F2CCE00000000 + + isa + PBXFileReference + name + ThemeGridSelectionPanelNode.swift + path + Sources/Themes/ThemeGridSelectionPanelNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AC1638C400000000 + + isa + PBXFileReference + name + ThemeNameGenerator.swift + path + Sources/Themes/ThemeNameGenerator.swift + sourceTree + SOURCE_ROOT + + 1DD70E29905A054000000000 + + isa + PBXFileReference + name + ThemePreviewController.swift + path + Sources/Themes/ThemePreviewController.swift + sourceTree + SOURCE_ROOT + + 1DD70E296CBCC06200000000 + + isa + PBXFileReference + name + ThemePreviewControllerNode.swift + path + Sources/Themes/ThemePreviewControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2934FABB8500000000 + + isa + PBXFileReference + name + ThemeSettingsAccentColorItem.swift + path + Sources/Themes/ThemeSettingsAccentColorItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DF8F21C600000000 + + isa + PBXFileReference + name + ThemeSettingsAppIconItem.swift + path + Sources/Themes/ThemeSettingsAppIconItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D1B3D5B500000000 + + isa + PBXFileReference + name + ThemeSettingsBrightnessItem.swift + path + Sources/Themes/ThemeSettingsBrightnessItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E2972B4275C00000000 + + isa + PBXFileReference + name + ThemeSettingsChatPreviewItem.swift + path + Sources/Themes/ThemeSettingsChatPreviewItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DFCA424D00000000 + + isa + PBXFileReference + name + ThemeSettingsController.swift + path + Sources/Themes/ThemeSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D4FFA29400000000 + + isa + PBXFileReference + name + ThemeSettingsFontSizeItem.swift + path + Sources/Themes/ThemeSettingsFontSizeItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E292EE20B9500000000 + + isa + PBXFileReference + name + ThemeSettingsThemeItem.swift + path + Sources/Themes/ThemeSettingsThemeItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E295B47136A00000000 + + isa + PBXFileReference + name + WallpaperColorPanelNode.swift + path + Sources/Themes/WallpaperColorPanelNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DA6D2B1600000000 + + isa + PBXFileReference + name + WallpaperColorPickerNode.swift + path + Sources/Themes/WallpaperColorPickerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E294815785900000000 + + isa + PBXFileReference + name + WallpaperCropNode.swift + path + Sources/Themes/WallpaperCropNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29275D6C7100000000 + + isa + PBXFileReference + name + WallpaperGalleryController.swift + path + Sources/Themes/WallpaperGalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A48E332700000000 + + isa + PBXFileReference + name + WallpaperGalleryDecorationNode.swift + path + Sources/Themes/WallpaperGalleryDecorationNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299876F2A800000000 + + isa + PBXFileReference + name + WallpaperGalleryItem.swift + path + Sources/Themes/WallpaperGalleryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F740BBD200000000 + + isa + PBXFileReference + name + WallpaperGalleryToolbarNode.swift + path + Sources/Themes/WallpaperGalleryToolbarNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2950969F1D00000000 + + isa + PBXFileReference + name + WallpaperPatternPanelNode.swift + path + Sources/Themes/WallpaperPatternPanelNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B8BED86600000000 + + isa + PBXFileReference + name + WallpaperSearchRecentQueries.swift + path + Sources/Themes/WallpaperSearchRecentQueries.swift + sourceTree + SOURCE_ROOT + + B401C97995402FEA00000000 + + isa + PBXGroup + name + Themes + path + Sources/Themes + sourceTree + SOURCE_ROOT + children + + 1DD70E29CA466CC400000000 + 1DD70E29F15EBD2000000000 + 1DD70E2942938DA300000000 + 1DD70E29EF5534B100000000 + 1DD70E2972C0CF5300000000 + 1DD70E29A72D9BA400000000 + 1DD70E290AE1C14F00000000 + 1DD70E29FBBDB6C000000000 + 1DD70E2962E5AE3300000000 + 1DD70E2933EBB1E200000000 + 1DD70E29D2CC37F000000000 + 1DD70E291F70176300000000 + 1DD70E29F0761B1200000000 + 1DD70E29B98C823F00000000 + 1DD70E291CBB5A2900000000 + 1DD70E29C1FEE9EF00000000 + 1DD70E29A67F2CCE00000000 + 1DD70E29AC1638C400000000 + 1DD70E29905A054000000000 + 1DD70E296CBCC06200000000 + 1DD70E2934FABB8500000000 + 1DD70E29DF8F21C600000000 + 1DD70E29D1B3D5B500000000 + 1DD70E2972B4275C00000000 + 1DD70E29DFCA424D00000000 + 1DD70E29D4FFA29400000000 + 1DD70E292EE20B9500000000 + 1DD70E295B47136A00000000 + 1DD70E29DA6D2B1600000000 + 1DD70E294815785900000000 + 1DD70E29275D6C7100000000 + 1DD70E29A48E332700000000 + 1DD70E299876F2A800000000 + 1DD70E29F740BBD200000000 + 1DD70E2950969F1D00000000 + 1DD70E29B8BED86600000000 + + + 1DD70E299BD65F5300000000 + + isa + PBXFileReference + name + WatchSettingsController.swift + path + Sources/Watch/WatchSettingsController.swift + sourceTree + SOURCE_ROOT + + B401C97904F7D4AF00000000 + + isa + PBXGroup + name + Watch + path + Sources/Watch + sourceTree + SOURCE_ROOT + children + + 1DD70E299BD65F5300000000 + + + 1DD70E295C2EDE4900000000 + + isa + PBXFileReference + name + AccountUtils.swift + path + Sources/AccountUtils.swift + sourceTree + SOURCE_ROOT + + 1DD70E296C0A7AD800000000 + + isa + PBXFileReference + name + BlurredImageNode.swift + path + Sources/BlurredImageNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E297EC9B2A100000000 + + isa + PBXFileReference + name + CachedFaqInstantPage.swift + path + Sources/CachedFaqInstantPage.swift + sourceTree + SOURCE_ROOT + + 1DD70E29231E3C5500000000 + + isa + PBXFileReference + name + ChangePhoneNumberCodeController.swift + path + Sources/ChangePhoneNumberCodeController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CE5F5FC800000000 + + isa + PBXFileReference + name + ChangePhoneNumberController.swift + path + Sources/ChangePhoneNumberController.swift + sourceTree + SOURCE_ROOT + + 1DD70E291C0196EA00000000 + + isa + PBXFileReference + name + ChangePhoneNumberControllerNode.swift + path + Sources/ChangePhoneNumberControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B2E4C1A600000000 + + isa + PBXFileReference + name + ChangePhoneNumberIntroController.swift + path + Sources/ChangePhoneNumberIntroController.swift + sourceTree + SOURCE_ROOT + + 1DD70E294031FE9A00000000 + + isa + PBXFileReference + name + DebugAccountsController.swift + path + Sources/DebugAccountsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29593C8D9400000000 + + isa + PBXFileReference + name + DebugController.swift + path + Sources/DebugController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E31D6BCE00000000 + + isa + PBXFileReference + name + EditSettingsController.swift + path + Sources/EditSettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2913DCCEF500000000 + + isa + PBXFileReference + name + LogoutOptionsController.swift + path + Sources/LogoutOptionsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A27BE59200000000 + + isa + PBXFileReference + name + OpenSettings.swift + path + Sources/OpenSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EF15E7A400000000 + + isa + PBXFileReference + name + SettingsController.swift + path + Sources/SettingsController.swift + sourceTree + SOURCE_ROOT + + 1DD70E295D2D8B6400000000 + + isa + PBXFileReference + name + TabBarAccountSwitchController.swift + path + Sources/TabBarAccountSwitchController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FA58948600000000 + + isa + PBXFileReference + name + TabBarAccountSwitchControllerNode.swift + path + Sources/TabBarAccountSwitchControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AA8F868800000000 + + isa + PBXFileReference + name + UsernameSetupController.swift + path + Sources/UsernameSetupController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C979E13BD9BC00000000 + B401C9790AB0B6C400000000 + B401C9797B75C4C800000000 + B401C979A728414100000000 + B401C979935F51C800000000 + B401C9795F2682F600000000 + B401C979801D29A500000000 + B401C97995402FEA00000000 + B401C97904F7D4AF00000000 + 1DD70E295C2EDE4900000000 + 1DD70E296C0A7AD800000000 + 1DD70E297EC9B2A100000000 + 1DD70E29231E3C5500000000 + 1DD70E29CE5F5FC800000000 + 1DD70E291C0196EA00000000 + 1DD70E29B2E4C1A600000000 + 1DD70E294031FE9A00000000 + 1DD70E29593C8D9400000000 + 1DD70E29E31D6BCE00000000 + 1DD70E2913DCCEF500000000 + 1DD70E29A27BE59200000000 + 1DD70E29EF15E7A400000000 + 1DD70E295D2D8B6400000000 + 1DD70E29FA58948600000000 + 1DD70E29AA8F868800000000 + + + B401C9797696261700000000 + + isa + PBXGroup + name + SettingsUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9797696261700000000 + + + E7A30F04B34055D000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B34055D000000000 + + E7A30F046643094600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296643094600000000 + + E7A30F0491129E4C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2991129E4C00000000 + + E7A30F0479C8627B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979C8627B00000000 + + E7A30F04D53B9EF800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D53B9EF800000000 + + E7A30F0484A799B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A799B200000000 + + E7A30F043EB09D8D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293EB09D8D00000000 + + E7A30F048B70ABB000000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B70ABB000000000 + + E7A30F04E2224A3900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E2224A3900000000 + + E7A30F04595A27D500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29595A27D500000000 + + E7A30F04E1C128FF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E1C128FF00000000 + + E7A30F04D147ADCC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D147ADCC00000000 + + E7A30F0479467C2200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979467C2200000000 + + E7A30F0498DDE2B800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2998DDE2B800000000 + + E7A30F04CBD2D56700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBD2D56700000000 + + E7A30F0417489B5500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2917489B5500000000 + + E7A30F0469501A5800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2969501A5800000000 + + E7A30F0403F2897A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2903F2897A00000000 + + E7A30F04B9DFD9CF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B9DFD9CF00000000 + + E7A30F046091158700000000 + + isa + PBXBuildFile + fileRef + 1DD70E296091158700000000 + + E7A30F04B4ED2B2800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4ED2B2800000000 + + E7A30F0489377CD400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2989377CD400000000 + + E7A30F04A5EEC66B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A5EEC66B00000000 + + E7A30F0492180E7800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2992180E7800000000 + + E7A30F04C96DE7E200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C96DE7E200000000 + + E7A30F04A5A5D00200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A5A5D00200000000 + + E7A30F047C88F99900000000 + + isa + PBXBuildFile + fileRef + 1DD70E297C88F99900000000 + + E7A30F04FB5A9E3400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FB5A9E3400000000 + + E7A30F042A1CD44600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292A1CD44600000000 + + E7A30F0452091EF800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952091EF800000000 + + E7A30F04BA7CEF3800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA7CEF3800000000 + + E7A30F04BB138E0200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BB138E0200000000 + + E7A30F04EEEAEF8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EEEAEF8500000000 + + E7A30F047BE7988100000000 + + isa + PBXBuildFile + fileRef + 1DD70E297BE7988100000000 + + E7A30F04B997391000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B997391000000000 + + E7A30F04A54B014500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54B014500000000 + + E7A30F04691631E700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29691631E700000000 + + E7A30F0459C0115000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2959C0115000000000 + + E7A30F049E87B00300000000 + + isa + PBXBuildFile + fileRef + 1DD70E299E87B00300000000 + + E7A30F04421B856500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29421B856500000000 + + E7A30F0403BC291D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2903BC291D00000000 + + E7A30F0413D735D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2913D735D800000000 + + E7A30F04DE4899A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DE4899A300000000 + + E7A30F0438A63A1E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2938A63A1E00000000 + + E7A30F04DF26A52500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF26A52500000000 + + E7A30F042F4FF16000000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F4FF16000000000 + + E7A30F04E73DF58000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E73DF58000000000 + + E7A30F04A2D132C000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A2D132C000000000 + + E7A30F042988B50C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292988B50C00000000 + + E7A30F047950FA1800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297950FA1800000000 + + E7A30F047D502A9800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297D502A9800000000 + + E7A30F04FCF079BA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FCF079BA00000000 + + E7A30F04CA466CC400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CA466CC400000000 + + E7A30F04F15EBD2000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F15EBD2000000000 + + E7A30F0442938DA300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2942938DA300000000 + + E7A30F04EF5534B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EF5534B100000000 + + E7A30F0472C0CF5300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2972C0CF5300000000 + + E7A30F04A72D9BA400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A72D9BA400000000 + + E7A30F040AE1C14F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290AE1C14F00000000 + + E7A30F04FBBDB6C000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FBBDB6C000000000 + + E7A30F0462E5AE3300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2962E5AE3300000000 + + E7A30F0433EBB1E200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2933EBB1E200000000 + + E7A30F04D2CC37F000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D2CC37F000000000 + + E7A30F041F70176300000000 + + isa + PBXBuildFile + fileRef + 1DD70E291F70176300000000 + + E7A30F04F0761B1200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0761B1200000000 + + E7A30F04B98C823F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B98C823F00000000 + + E7A30F041CBB5A2900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291CBB5A2900000000 + + E7A30F04C1FEE9EF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C1FEE9EF00000000 + + E7A30F04A67F2CCE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A67F2CCE00000000 + + E7A30F04AC1638C400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC1638C400000000 + + E7A30F04905A054000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29905A054000000000 + + E7A30F046CBCC06200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296CBCC06200000000 + + E7A30F0434FABB8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2934FABB8500000000 + + E7A30F04DF8F21C600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF8F21C600000000 + + E7A30F04D1B3D5B500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D1B3D5B500000000 + + E7A30F0472B4275C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2972B4275C00000000 + + E7A30F04DFCA424D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DFCA424D00000000 + + E7A30F04D4FFA29400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D4FFA29400000000 + + E7A30F042EE20B9500000000 + + isa + PBXBuildFile + fileRef + 1DD70E292EE20B9500000000 + + E7A30F045B47136A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295B47136A00000000 + + E7A30F04DA6D2B1600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DA6D2B1600000000 + + E7A30F044815785900000000 + + isa + PBXBuildFile + fileRef + 1DD70E294815785900000000 + + E7A30F04275D6C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29275D6C7100000000 + + E7A30F04A48E332700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A48E332700000000 + + E7A30F049876F2A800000000 + + isa + PBXBuildFile + fileRef + 1DD70E299876F2A800000000 + + E7A30F04F740BBD200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F740BBD200000000 + + E7A30F0450969F1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2950969F1D00000000 + + E7A30F04B8BED86600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B8BED86600000000 + + E7A30F049BD65F5300000000 + + isa + PBXBuildFile + fileRef + 1DD70E299BD65F5300000000 + + E7A30F045C2EDE4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E295C2EDE4900000000 + + E7A30F046C0A7AD800000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C0A7AD800000000 + + E7A30F047EC9B2A100000000 + + isa + PBXBuildFile + fileRef + 1DD70E297EC9B2A100000000 + + E7A30F04231E3C5500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29231E3C5500000000 + + E7A30F04CE5F5FC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE5F5FC800000000 + + E7A30F041C0196EA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291C0196EA00000000 + + E7A30F04B2E4C1A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B2E4C1A600000000 + + E7A30F044031FE9A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294031FE9A00000000 + + E7A30F04593C8D9400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29593C8D9400000000 + + E7A30F04E31D6BCE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E31D6BCE00000000 + + E7A30F0413DCCEF500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2913DCCEF500000000 + + E7A30F04A27BE59200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A27BE59200000000 + + E7A30F04EF15E7A400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EF15E7A400000000 + + E7A30F045D2D8B6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E295D2D8B6400000000 + + E7A30F04FA58948600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FA58948600000000 + + E7A30F04AA8F868800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AA8F868800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B34055D000000000 + E7A30F046643094600000000 + E7A30F0491129E4C00000000 + E7A30F0479C8627B00000000 + E7A30F04D53B9EF800000000 + E7A30F0484A799B200000000 + E7A30F043EB09D8D00000000 + E7A30F048B70ABB000000000 + E7A30F04E2224A3900000000 + E7A30F04595A27D500000000 + E7A30F04E1C128FF00000000 + E7A30F04D147ADCC00000000 + E7A30F0479467C2200000000 + E7A30F0498DDE2B800000000 + E7A30F04CBD2D56700000000 + E7A30F0417489B5500000000 + E7A30F0469501A5800000000 + E7A30F0403F2897A00000000 + E7A30F04B9DFD9CF00000000 + E7A30F046091158700000000 + E7A30F04B4ED2B2800000000 + E7A30F0489377CD400000000 + E7A30F04A5EEC66B00000000 + E7A30F0492180E7800000000 + E7A30F04C96DE7E200000000 + E7A30F04A5A5D00200000000 + E7A30F047C88F99900000000 + E7A30F04FB5A9E3400000000 + E7A30F042A1CD44600000000 + E7A30F0452091EF800000000 + E7A30F04BA7CEF3800000000 + E7A30F04BB138E0200000000 + E7A30F04EEEAEF8500000000 + E7A30F047BE7988100000000 + E7A30F04B997391000000000 + E7A30F04A54B014500000000 + E7A30F04691631E700000000 + E7A30F0459C0115000000000 + E7A30F049E87B00300000000 + E7A30F04421B856500000000 + E7A30F0403BC291D00000000 + E7A30F0413D735D800000000 + E7A30F04DE4899A300000000 + E7A30F0438A63A1E00000000 + E7A30F04DF26A52500000000 + E7A30F042F4FF16000000000 + E7A30F04E73DF58000000000 + E7A30F04A2D132C000000000 + E7A30F042988B50C00000000 + E7A30F047950FA1800000000 + E7A30F047D502A9800000000 + E7A30F04FCF079BA00000000 + E7A30F04CA466CC400000000 + E7A30F04F15EBD2000000000 + E7A30F0442938DA300000000 + E7A30F04EF5534B100000000 + E7A30F0472C0CF5300000000 + E7A30F04A72D9BA400000000 + E7A30F040AE1C14F00000000 + E7A30F04FBBDB6C000000000 + E7A30F0462E5AE3300000000 + E7A30F0433EBB1E200000000 + E7A30F04D2CC37F000000000 + E7A30F041F70176300000000 + E7A30F04F0761B1200000000 + E7A30F04B98C823F00000000 + E7A30F041CBB5A2900000000 + E7A30F04C1FEE9EF00000000 + E7A30F04A67F2CCE00000000 + E7A30F04AC1638C400000000 + E7A30F04905A054000000000 + E7A30F046CBCC06200000000 + E7A30F0434FABB8500000000 + E7A30F04DF8F21C600000000 + E7A30F04D1B3D5B500000000 + E7A30F0472B4275C00000000 + E7A30F04DFCA424D00000000 + E7A30F04D4FFA29400000000 + E7A30F042EE20B9500000000 + E7A30F045B47136A00000000 + E7A30F04DA6D2B1600000000 + E7A30F044815785900000000 + E7A30F04275D6C7100000000 + E7A30F04A48E332700000000 + E7A30F049876F2A800000000 + E7A30F04F740BBD200000000 + E7A30F0450969F1D00000000 + E7A30F04B8BED86600000000 + E7A30F049BD65F5300000000 + E7A30F045C2EDE4900000000 + E7A30F046C0A7AD800000000 + E7A30F047EC9B2A100000000 + E7A30F04231E3C5500000000 + E7A30F04CE5F5FC800000000 + E7A30F041C0196EA00000000 + E7A30F04B2E4C1A600000000 + E7A30F044031FE9A00000000 + E7A30F04593C8D9400000000 + E7A30F04E31D6BCE00000000 + E7A30F0413DCCEF500000000 + E7A30F04A27BE59200000000 + E7A30F04EF15E7A400000000 + E7A30F045D2D8B6400000000 + E7A30F04FA58948600000000 + E7A30F04AA8F868800000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F046A100F7B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A100F7B00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + E7A30F0438C0E4C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2938C0E4C800000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04FD72F45600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD72F45600000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + E7A30F0407DC840B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC840B00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04B6F47D1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B6F47D1F00000000 + + E7A30F04AD66967300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AD66967300000000 + + E7A30F04F40A586F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40A586F00000000 + + E7A30F046C9831F100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C9831F100000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F049A24C4DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299A24C4DE00000000 + + E7A30F0431752C6000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2931752C6000000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F041328E99400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291328E99400000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F04DF758A8500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF758A8500000000 + + E7A30F042F91702000000000 + + isa + PBXBuildFile + fileRef + 1DD70E292F91702000000000 + + E7A30F04CED1620500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CED1620500000000 + + E7A30F04E220F5E800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E220F5E800000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F042969635400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292969635400000000 + + E7A30F0443136EC600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943136EC600000000 + + E7A30F04AE67341000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE67341000000000 + + E7A30F046DFD63C200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296DFD63C200000000 + + E7A30F0415F6A49D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2915F6A49D00000000 + + E7A30F04016F454200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29016F454200000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + E7A30F04F29DEA1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F29DEA1400000000 + + E7A30F04D1EB356900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D1EB356900000000 + + E7A30F04F8FF5A6500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F8FF5A6500000000 + + E7A30F0447B6256000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2947B6256000000000 + + E7A30F04B5051C0E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B5051C0E00000000 + + E7A30F049B97462A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299B97462A00000000 + + E7A30F042995DF8400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292995DF8400000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04E102CFE100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E102CFE100000000 + + E7A30F046BF0672C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296BF0672C00000000 + + E7A30F04866F6A0400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29866F6A0400000000 + + E7A30F047394725200000000 + + isa + PBXBuildFile + fileRef + 1DD70E297394725200000000 + + E7A30F04F2CA340700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F2CA340700000000 + + E7A30F0405A95CB400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2905A95CB400000000 + + E7A30F045C00B78600000000 + + isa + PBXBuildFile + fileRef + 1DD70E295C00B78600000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F0468BAC05A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968BAC05A00000000 + + E7A30F046C39078B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C39078B00000000 + + E7A30F04A889192100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A889192100000000 + + E7A30F04A3994F2C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A3994F2C00000000 + + E7A30F0437C1167400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2937C1167400000000 + + E7A30F04D0DBC52A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D0DBC52A00000000 + + E7A30F0479E58A0000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979E58A0000000000 + + E7A30F049856EB2400000000 + + isa + PBXBuildFile + fileRef + 1DD70E299856EB2400000000 + + E7A30F04005B963600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29005B963600000000 + + E7A30F04300245BE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29300245BE00000000 + + E7A30F04C7165FF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7165FF900000000 + + E7A30F04AA32BBC600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AA32BBC600000000 + + E7A30F0407DC815E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907DC815E00000000 + + E7A30F04F18DE1D900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F18DE1D900000000 + + E7A30F04DA3FBAD600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DA3FBAD600000000 + + E7A30F04D81471E200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D81471E200000000 + + E7A30F04A7E1559B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A7E1559B00000000 + + E7A30F04DF12291E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF12291E00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04F523B9DE00000000 + E7A30F046A100F7B00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F042417E0B200000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + E7A30F0438C0E4C800000000 + E7A30F04AC43662400000000 + E7A30F04FD72F45600000000 + E7A30F04EA9CBB5B00000000 + E7A30F0407DC840B00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F047AB043C800000000 + E7A30F04B6F47D1F00000000 + E7A30F04AD66967300000000 + E7A30F04F40A586F00000000 + E7A30F046C9831F100000000 + E7A30F04D233F68C00000000 + E7A30F049A24C4DE00000000 + E7A30F0431752C6000000000 + E7A30F04BBAF750C00000000 + E7A30F041328E99400000000 + E7A30F041E16CC6C00000000 + E7A30F043E4DE92B00000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + E7A30F041631B91900000000 + E7A30F04524F478E00000000 + E7A30F04DF758A8500000000 + E7A30F042F91702000000000 + E7A30F04CED1620500000000 + E7A30F04E220F5E800000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F042969635400000000 + E7A30F0443136EC600000000 + E7A30F04AE67341000000000 + E7A30F046DFD63C200000000 + E7A30F0415F6A49D00000000 + E7A30F04016F454200000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + E7A30F04F29DEA1400000000 + E7A30F04D1EB356900000000 + E7A30F04F8FF5A6500000000 + E7A30F0447B6256000000000 + E7A30F04B5051C0E00000000 + E7A30F049B97462A00000000 + E7A30F042995DF8400000000 + E7A30F0452137F3500000000 + E7A30F04E102CFE100000000 + E7A30F046BF0672C00000000 + E7A30F04866F6A0400000000 + E7A30F047394725200000000 + E7A30F04F2CA340700000000 + E7A30F0405A95CB400000000 + E7A30F045C00B78600000000 + E7A30F04C6E517A300000000 + E7A30F0468BAC05A00000000 + E7A30F046C39078B00000000 + E7A30F04A889192100000000 + E7A30F04A3994F2C00000000 + E7A30F0437C1167400000000 + E7A30F04D0DBC52A00000000 + E7A30F0479E58A0000000000 + E7A30F049856EB2400000000 + E7A30F04005B963600000000 + E7A30F04300245BE00000000 + E7A30F04C7165FF900000000 + E7A30F04AA32BBC600000000 + E7A30F0407DC815E00000000 + E7A30F04F18DE1D900000000 + E7A30F04DA3FBAD600000000 + E7A30F04D81471E200000000 + E7A30F04A7E1559B00000000 + E7A30F04DF12291E00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E295C15C1BE00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2992CEE1A800000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2906658D0A00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E7696261700000000 + + isa + PBXNativeTarget + name + SettingsUI + productName + SettingsUI + productReference + 1DD70E290456054F00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847937696261700000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E7696261700000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847937696261700000000 + + \ No newline at end of file diff --git a/submodules/SettingsUI/SettingsUI.xcodeproj/xcshareddata/xcschemes/SettingsUI.xcscheme b/submodules/SettingsUI/SettingsUI.xcodeproj/xcshareddata/xcschemes/SettingsUI.xcscheme new file mode 100644 index 0000000000..d3a17b5692 --- /dev/null +++ b/submodules/SettingsUI/SettingsUI.xcodeproj/xcshareddata/xcschemes/SettingsUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SettingsUI/SettingsUI_Xcode.xcodeproj/project.pbxproj b/submodules/SettingsUI/SettingsUI_Xcode.xcodeproj/project.pbxproj index e7dbaa3149..408af44cce 100644 --- a/submodules/SettingsUI/SettingsUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/SettingsUI/SettingsUI_Xcode.xcodeproj/project.pbxproj @@ -174,7 +174,6 @@ D03E47B0230763510049C28B /* UniversalMediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E47AF230763510049C28B /* UniversalMediaPlayer.framework */; }; D03E47B2230763570049C28B /* UrlEscaping.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E47B1230763570049C28B /* UrlEscaping.framework */; }; D03E47B42307635C0049C28B /* WebSearchUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E47B32307635C0049C28B /* WebSearchUI.framework */; }; - D03E47B8230766870049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E47B7230766870049C28B /* FrameworkBundle.swift */; }; D03E47D5230767F40049C28B /* UrlHandling.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E47D4230767F40049C28B /* UrlHandling.framework */; }; D03E480C230769A30049C28B /* HexColor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E480B230769A30049C28B /* HexColor.framework */; }; D03E483623076AE90049C28B /* QrCode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E483523076AE90049C28B /* QrCode.framework */; }; @@ -189,6 +188,7 @@ D03E48E22308649C0049C28B /* CounterContollerTitleView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E48E12308649C0049C28B /* CounterContollerTitleView.framework */; }; D03E490E2308661A0049C28B /* GridMessageSelectionNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E490D2308661A0049C28B /* GridMessageSelectionNode.framework */; }; D03E493A2308678D0049C28B /* InstantPageCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E49392308678D0049C28B /* InstantPageCache.framework */; }; + D0EFF26A2319825B00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2692319825B00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -361,7 +361,6 @@ D03E47AF230763510049C28B /* UniversalMediaPlayer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = UniversalMediaPlayer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E47B1230763570049C28B /* UrlEscaping.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = UrlEscaping.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E47B32307635C0049C28B /* WebSearchUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WebSearchUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E47B7230766870049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D03E47D4230767F40049C28B /* UrlHandling.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = UrlHandling.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E480B230769A30049C28B /* HexColor.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = HexColor.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E483523076AE90049C28B /* QrCode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = QrCode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -376,6 +375,7 @@ D03E48E12308649C0049C28B /* CounterContollerTitleView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CounterContollerTitleView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E490D2308661A0049C28B /* GridMessageSelectionNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GridMessageSelectionNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E49392308678D0049C28B /* InstantPageCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = InstantPageCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF2692319825B00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -383,6 +383,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF26A2319825B00CF5164 /* AppBundle.framework in Frameworks */, D03E493A2308678D0049C28B /* InstantPageCache.framework in Frameworks */, D03E490E2308661A0049C28B /* GridMessageSelectionNode.framework in Frameworks */, D03E48E22308649C0049C28B /* CounterContollerTitleView.framework in Frameworks */, @@ -510,7 +511,6 @@ D03E48AD230775800049C28B /* OpenSettings.swift */, D03E48AF230775EF0049C28B /* AccountUtils.swift */, D03E48B12307767A0049C28B /* CachedFaqInstantPage.swift */, - D03E47B7230766870049C28B /* FrameworkBundle.swift */, D03E465023075D930049C28B /* SettingsUI.h */, ); path = Sources; @@ -687,6 +687,7 @@ D03E4732230761E10049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2692319825B00CF5164 /* AppBundle.framework */, D03E49392308678D0049C28B /* InstantPageCache.framework */, D03E490D2308661A0049C28B /* GridMessageSelectionNode.framework */, D03E48E12308649C0049C28B /* CounterContollerTitleView.framework */, @@ -867,7 +868,6 @@ D03E466E23075E660049C28B /* TabBarAccountSwitchController.swift in Sources */, D03E46D223075F810049C28B /* ShareProxyServerActionSheetController.swift in Sources */, D03E468A23075F010049C28B /* SettingsSearchRecentQueries.swift in Sources */, - D03E47B8230766870049C28B /* FrameworkBundle.swift in Sources */, D03E472023075FE40049C28B /* WallpaperGalleryItem.swift in Sources */, D03E471723075FE40049C28B /* WallpaperGalleryDecorationNode.swift in Sources */, D03E46B123075F4E0049C28B /* ItemListWebsiteItem.swift in Sources */, diff --git a/submodules/SettingsUI/Sources/ChangePhoneNumberIntroController.swift b/submodules/SettingsUI/Sources/ChangePhoneNumberIntroController.swift index b375516a91..dac4925bf2 100644 --- a/submodules/SettingsUI/Sources/ChangePhoneNumberIntroController.swift +++ b/submodules/SettingsUI/Sources/ChangePhoneNumberIntroController.swift @@ -7,6 +7,7 @@ import TelegramPresentationData import TextFormat import AccountContext import AlertUI +import AppBundle private final class ChangePhoneNumberIntroControllerNode: ASDisplayNode { var presentationData: PresentationData diff --git a/submodules/SettingsUI/Sources/Data and Storage/ProxyListSettingsController.swift b/submodules/SettingsUI/Sources/Data and Storage/ProxyListSettingsController.swift index fb9794136a..6bfae67839 100644 --- a/submodules/SettingsUI/Sources/Data and Storage/ProxyListSettingsController.swift +++ b/submodules/SettingsUI/Sources/Data and Storage/ProxyListSettingsController.swift @@ -5,7 +5,11 @@ import SwiftSignalKit import Postbox import TelegramCore import TelegramPresentationData +#if BUCK +import MtProtoKit +#else import MtProtoKitDynamic +#endif import ItemListUI import AccountContext import UrlEscaping diff --git a/submodules/SettingsUI/Sources/Data and Storage/ProxySettingsServerItem.swift b/submodules/SettingsUI/Sources/Data and Storage/ProxySettingsServerItem.swift index d2d1f512f9..aeb5d2e585 100644 --- a/submodules/SettingsUI/Sources/Data and Storage/ProxySettingsServerItem.swift +++ b/submodules/SettingsUI/Sources/Data and Storage/ProxySettingsServerItem.swift @@ -242,7 +242,7 @@ class ProxySettingsServerItemNode: ItemListRevealOptionsItemNode { var reorderInset: CGFloat = 0.0 if item.editing.editing { - let sizeAndApply = editableControlLayout(48.0, item.theme, false) + let sizeAndApply = editableControlLayout(64.0, item.theme, false) editableControlSizeAndApply = sizeAndApply editingOffset = sizeAndApply.0.width diff --git a/submodules/SettingsUI/Sources/FrameworkBundle.swift b/submodules/SettingsUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/SettingsUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/SettingsUI/Sources/OpenSettings.swift b/submodules/SettingsUI/Sources/OpenSettings.swift index 833459e1c2..dcb8580e6f 100644 --- a/submodules/SettingsUI/Sources/OpenSettings.swift +++ b/submodules/SettingsUI/Sources/OpenSettings.swift @@ -50,7 +50,7 @@ func openEditSettings(context: AccountContext, accountsAndPeers: Signal<((Accoun } openEditingDisposable.set((signal |> deliverOnMainQueue).start(next: { peer, cachedData, canAddAccounts in - pushController(editSettingsController(context: context, currentName: .personName(firstName: peer.firstName ?? "", lastName: peer.lastName ?? ""), currentBioText: cachedData.about ?? "", accountManager: context.sharedContext.accountManager, canAddAccounts: canAddAccounts, focusOnItemTag: focusOnItemTag)) + pushController(editSettingsController(context: context, currentName: .personName(firstName: peer.firstName ?? "", lastName: peer.lastName ?? " "), currentBioText: cachedData.about ?? "", accountManager: context.sharedContext.accountManager, canAddAccounts: canAddAccounts, focusOnItemTag: focusOnItemTag)) })) return openEditingDisposable } diff --git a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyAndSecurityController.swift b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyAndSecurityController.swift index de63a01d1c..7d5d0daa79 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyAndSecurityController.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyAndSecurityController.swift @@ -11,6 +11,7 @@ import ItemListUI import AccountContext import TelegramNotices import LocalAuth +import AppBundle private final class PrivacyAndSecurityControllerArguments { let account: Account diff --git a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift index 375825a803..32f06761eb 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/PrivacyIntroController.swift @@ -7,6 +7,7 @@ import SwiftSignalKit import TelegramCore import TelegramPresentationData import AccountContext +import AppBundle enum PrivacyIntroControllerMode { case passcode diff --git a/submodules/SettingsUI/Sources/Privacy and Security/Recent Sessions/RecentSessionsEmptyStateItem.swift b/submodules/SettingsUI/Sources/Privacy and Security/Recent Sessions/RecentSessionsEmptyStateItem.swift index 6498ea6b3a..914cabaa17 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/Recent Sessions/RecentSessionsEmptyStateItem.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/Recent Sessions/RecentSessionsEmptyStateItem.swift @@ -4,6 +4,7 @@ import AsyncDisplayKit import Display import TelegramPresentationData import ItemListUI +import AppBundle final class RecentSessionsEmptyStateItem: ItemListControllerEmptyStateItem { let theme: PresentationTheme diff --git a/submodules/SettingsUI/Sources/SettingsController.swift b/submodules/SettingsUI/Sources/SettingsController.swift index 85a706c7a1..e0d3fc0384 100644 --- a/submodules/SettingsUI/Sources/SettingsController.swift +++ b/submodules/SettingsUI/Sources/SettingsController.swift @@ -32,11 +32,34 @@ import ItemListPeerActionItem import WebSearchUI import PeerAvatarGalleryUI import MapResourceToAvatarSizes +import AppBundle +import ContextUI private let maximumNumberOfAccounts = 3 private let avatarFont = UIFont(name: ".SFCompactRounded-Semibold", size: 13.0)! +private final class ContextControllerContentSourceImpl: ContextControllerContentSource { + let controller: ViewController + weak var sourceNode: ASDisplayNode? + + init(controller: ViewController, sourceNode: ASDisplayNode?) { + self.controller = controller + self.sourceNode = sourceNode + } + + func transitionInfo() -> ContextControllerTakeControllerInfo? { + let sourceNode = self.sourceNode + return ContextControllerTakeControllerInfo(contentAreaInScreenSpace: CGRect(origin: CGPoint(), size: CGSize(width: 10.0, height: 10.0)), sourceNode: { [weak sourceNode] in + if let sourceNode = sourceNode { + return (sourceNode, sourceNode.bounds) + } else { + return nil + } + }) + } +} + private enum SettingsEntryTag: Equatable, ItemListItemTag { case account(AccountRecordId) @@ -79,6 +102,7 @@ private struct SettingsItemArguments { let removeAccount: (AccountRecordId) -> Void let keepPhone: () -> Void let openPhoneNumberChange: () -> Void + let accountContextAction: (AccountRecordId, ASDisplayNode, ContextGesture?) -> Void } private enum SettingsSection: Int32 { @@ -408,6 +432,8 @@ private enum SettingsEntry: ItemListNodeEntry { arguments.setAccountIdWithRevealedOptions(lhsAccountId, rhsAccountId) }, removePeer: { _ in arguments.removeAccount(account.id) + }, contextAction: { node, gesture in + arguments.accountContextAction(account.id, node, gesture) }, tag: SettingsEntryTag.account(account.id)) case let .addAccount(theme, text): return ItemListPeerActionItem(theme: theme, icon: PresentationResourcesItemList.plusIconImage(theme), title: text, alwaysPlain: false, sectionId: self.section, height: .generic, editing: false, action: { @@ -626,6 +652,7 @@ public func settingsController(context: AccountContext, accountManager: AccountM var pushControllerImpl: ((ViewController) -> Void)? var presentControllerImpl: ((ViewController, Any?) -> Void)? + var presentInGlobalOverlayImpl: ((ViewController, Any?) -> Void)? var dismissInputImpl: (() -> Void)? var setDisplayNavigationBarImpl: ((Bool) -> Void)? var getNavigationControllerImpl: (() -> NavigationController?)? @@ -694,6 +721,7 @@ public func settingsController(context: AccountContext, accountManager: AccountM return cachedFaqInstantPage(context: context) } + var removeAccountImpl: ((AccountRecordId) -> Void)? var switchToAccountImpl: ((AccountRecordId) -> Void)? let displayPhoneNumberConfirmation = ValuePromise(false) @@ -872,27 +900,7 @@ public func settingsController(context: AccountContext, accountManager: AccountM return state } }, removeAccount: { id in - let _ = (contextValue.get() - |> deliverOnMainQueue - |> take(1)).start(next: { context in - let presentationData = context.sharedContext.currentPresentationData.with { $0 } - let controller = ActionSheetController(presentationTheme: presentationData.theme) - let dismissAction: () -> Void = { [weak controller] in - controller?.dismissAnimated() - } - - var items: [ActionSheetItem] = [] - items.append(ActionSheetTextItem(title: presentationData.strings.Settings_LogoutConfirmationText.trimmingCharacters(in: .whitespacesAndNewlines))) - items.append(ActionSheetButtonItem(title: presentationData.strings.Settings_Logout, color: .destructive, action: { - dismissAction() - let _ = logoutFromAccount(id: id, accountManager: context.sharedContext.accountManager, alreadyLoggedOutRemotely: false).start() - })) - controller.setItemGroups([ - ActionSheetItemGroup(items: items), - ActionSheetItemGroup(items: [ActionSheetButtonItem(title: presentationData.strings.Common_Cancel, action: { dismissAction() })]) - ]) - presentControllerImpl?(controller, ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) - }) + removeAccountImpl?(id) }, keepPhone: { displayPhoneNumberConfirmation.set(false) }, openPhoneNumberChange: { @@ -906,6 +914,37 @@ public func settingsController(context: AccountContext, accountManager: AccountM pushControllerImpl?(ChangePhoneNumberIntroController(context: context, phoneNumber: formatPhoneNumber(phoneNumber))) }) }) + }, accountContextAction: { id, node, gesture in + var selectedAccount: Account? + let _ = (accountsAndPeers.get() + |> take(1) + |> deliverOnMainQueue).start(next: { accountsAndPeers in + for (account, _, _) in accountsAndPeers.1 { + if account.id == id { + selectedAccount = account + break + } + } + }) + var sharedContext: SharedAccountContext? + let _ = (contextValue.get() + |> deliverOnMainQueue + |> take(1)).start(next: { context in + sharedContext = context.sharedContext + }) + if let selectedAccount = selectedAccount, let sharedContext = sharedContext { + let accountContext = sharedContext.makeTempAccountContext(account: selectedAccount) + let chatListController = accountContext.sharedContext.makeChatListController(context: accountContext, groupId: .root, controlsHistoryPreload: false, hideNetworkActivityStatus: true, enableDebugActions: enableDebugActions) + + let presentationData = accountContext.sharedContext.currentPresentationData.with { $0 } + + let contextController = ContextController(account: accountContext.account, theme: presentationData.theme, strings: presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: chatListController, sourceNode: node)), items: accountContextMenuItems(context: accountContext, logout: { + removeAccountImpl?(id) + }), reactionItems: [], gesture: gesture) + presentInGlobalOverlayImpl?(contextController, nil) + } else { + gesture?.cancel() + } }) changeProfilePhotoImpl = { @@ -1268,6 +1307,9 @@ public func settingsController(context: AccountContext, accountManager: AccountM presentControllerImpl = { [weak controller] value, arguments in controller?.present(value, in: .window(.root), with: arguments ?? ViewControllerPresentationArguments(presentationAnimation: .modalSheet), blockInteraction: true) } + presentInGlobalOverlayImpl = { [weak controller] value, arguments in + controller?.presentInGlobalOverlay(value, with: arguments) + } dismissInputImpl = { [weak controller] in controller?.view.window?.endEditing(true) } @@ -1356,6 +1398,29 @@ public func settingsController(context: AccountContext, accountManager: AccountM } }) } + removeAccountImpl = { id in + let _ = (contextValue.get() + |> deliverOnMainQueue + |> take(1)).start(next: { context in + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let controller = ActionSheetController(presentationTheme: presentationData.theme) + let dismissAction: () -> Void = { [weak controller] in + controller?.dismissAnimated() + } + + var items: [ActionSheetItem] = [] + items.append(ActionSheetTextItem(title: presentationData.strings.Settings_LogoutConfirmationText.trimmingCharacters(in: .whitespacesAndNewlines))) + items.append(ActionSheetButtonItem(title: presentationData.strings.Settings_Logout, color: .destructive, action: { + dismissAction() + let _ = logoutFromAccount(id: id, accountManager: context.sharedContext.accountManager, alreadyLoggedOutRemotely: false).start() + })) + controller.setItemGroups([ + ActionSheetItemGroup(items: items), + ActionSheetItemGroup(items: [ActionSheetButtonItem(title: presentationData.strings.Common_Cancel, action: { dismissAction() })]) + ]) + presentControllerImpl?(controller, ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) + }) + } switchToAccountImpl = { id in let _ = (contextValue.get() |> take(1) @@ -1458,3 +1523,28 @@ public func settingsController(context: AccountContext, accountManager: AccountM return controller } +private func accountContextMenuItems(context: AccountContext, logout: @escaping () -> Void) -> Signal<[ContextMenuItem], NoError> { + let strings = context.sharedContext.currentPresentationData.with({ $0 }).strings + return context.account.postbox.transaction { transaction -> [ContextMenuItem] in + var items: [ContextMenuItem] = [] + + if !transaction.getUnreadChatListPeerIds(groupId: .root).isEmpty { + items.append(.action(ContextMenuActionItem(text: strings.ChatList_Context_MarkAllAsRead, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/MarkAsRead"), color: theme.contextMenu.primaryColor) }, action: { _, f in + let _ = (context.account.postbox.transaction { transaction in + markAllChatsAsReadInteractively(transaction: transaction, viewTracker: context.account.viewTracker, groupId: .root) + } + |> deliverOnMainQueue).start(completed: { + f(.default) + }) + }))) + } + + items.append(.action(ContextMenuActionItem(text: strings.Settings_Context_Logout, textColor: .destructive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Logout"), color: theme.contextMenu.destructiveColor) }, action: { _, f in + logout() + f(.default) + }))) + + return items + } +} + diff --git a/submodules/SettingsUI/Sources/Themes/EditThemeController.swift b/submodules/SettingsUI/Sources/Themes/EditThemeController.swift index 0509cbf624..6de4440cb1 100644 --- a/submodules/SettingsUI/Sources/Themes/EditThemeController.swift +++ b/submodules/SettingsUI/Sources/Themes/EditThemeController.swift @@ -379,7 +379,7 @@ public func editThemeController(context: AccountContext, mode: EditThemeControll let _ = enqueueMessages(account: context.account, peerId: context.account.peerId, messages: [message]).start() if let navigateToChat = navigateToChat { - presentControllerImpl?(textAlertController(context: context, title: nil, text: presentationData.strings.EditTheme_ThemeTemplateAlert, actions: [TextAlertAction(type: .genericAction, title: presentationData.strings.Settings_SavedMessages, action: { + presentControllerImpl?(textAlertController(context: context, title: presentationData.strings.EditTheme_ThemeTemplateAlertTitle, text: presentationData.strings.EditTheme_ThemeTemplateAlertText, actions: [TextAlertAction(type: .genericAction, title: presentationData.strings.Settings_SavedMessages, action: { completion() navigateToChat(context.account.peerId) }), TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: { @@ -524,8 +524,18 @@ public func editThemeController(context: AccountContext, mode: EditThemeControll return state } - if case .slugOccupied = error { - presentControllerImpl?(textAlertController(context: context, title: nil, text: presentationData.strings.EditTheme_ErrorLinkTaken, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: {})]), nil) + var errorText: String? + switch error { + case .slugOccupied: + errorText = presentationData.strings.EditTheme_ErrorLinkTaken + case .slugInvalid: + errorText = presentationData.strings.EditTheme_ErrorInvalidCharacters + default: + break + } + + if let errorText = errorText { + presentControllerImpl?(textAlertController(context: context, title: nil, text: errorText, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: {})]), nil) } }) } diff --git a/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift b/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift index e2b5fa9c65..a19644b692 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift @@ -219,7 +219,9 @@ final class ThemeAccentColorControllerNode: ASDisplayNode, UIScrollViewDelegate private func updateChatsLayout(layout: ContainerViewLayout, topInset: CGFloat, transition: ContainedViewLayoutTransition) { var items: [ChatListItem] = [] - let interaction = ChatListNodeInteraction(activateSearch: {}, peerSelected: { _ in }, togglePeerSelected: { _ in }, messageSelected: { _, _, _ in}, groupSelected: { _ in }, addContact: { _ in }, setPeerIdWithRevealedOptions: { _, _ in }, setItemPinned: { _, _ in }, setPeerMuted: { _, _ in }, deletePeer: { _ in }, updatePeerGrouping: { _, _ in }, togglePeerMarkedUnread: { _, _ in}, toggleArchivedFolderHiddenByDefault: {}) + let interaction = ChatListNodeInteraction(activateSearch: {}, peerSelected: { _ in }, togglePeerSelected: { _ in }, messageSelected: { _, _, _ in}, groupSelected: { _ in }, addContact: { _ in }, setPeerIdWithRevealedOptions: { _, _ in }, setItemPinned: { _, _ in }, setPeerMuted: { _, _ in }, deletePeer: { _ in }, updatePeerGrouping: { _, _ in }, togglePeerMarkedUnread: { _, _ in}, toggleArchivedFolderHiddenByDefault: {}, activateChatPreview: { _, _, gesture in + gesture?.cancel() + }) let chatListPresentationData = ChatListPresentationData(theme: self.theme, strings: self.presentationData.strings, dateTimeFormat: self.presentationData.dateTimeFormat, nameSortOrder: self.presentationData.nameSortOrder, nameDisplayOrder: self.presentationData.nameDisplayOrder, disableAnimations: true) let peers = SimpleDictionary() diff --git a/submodules/SettingsUI/Sources/Themes/ThemeAutoNightSettingsController.swift b/submodules/SettingsUI/Sources/Themes/ThemeAutoNightSettingsController.swift index dc23c933cc..0d7d0f18df 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeAutoNightSettingsController.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeAutoNightSettingsController.swift @@ -11,6 +11,7 @@ import TelegramStringFormatting import AccountContext import DeviceLocationManager import Geocoding +import WallpaperResources private enum TriggerMode { case none @@ -24,14 +25,16 @@ private enum TimeBasedManualField { } private final class ThemeAutoNightSettingsControllerArguments { + let context: AccountContext let updateMode: (TriggerMode) -> Void let updateTimeBasedAutomatic: (Bool) -> Void let openTimeBasedManual: (TimeBasedManualField) -> Void let updateTimeBasedAutomaticLocation: () -> Void let updateAutomaticBrightness: (Double) -> Void - let updateTheme: (PresentationBuiltinThemeReference) -> Void + let updateTheme: (PresentationThemeReference) -> Void - init(updateMode: @escaping (TriggerMode) -> Void, updateTimeBasedAutomatic: @escaping (Bool) -> Void, openTimeBasedManual: @escaping (TimeBasedManualField) -> Void, updateTimeBasedAutomaticLocation: @escaping () -> Void, updateAutomaticBrightness: @escaping (Double) -> Void, updateTheme: @escaping (PresentationBuiltinThemeReference) -> Void) { + init(context: AccountContext, updateMode: @escaping (TriggerMode) -> Void, updateTimeBasedAutomatic: @escaping (Bool) -> Void, openTimeBasedManual: @escaping (TimeBasedManualField) -> Void, updateTimeBasedAutomaticLocation: @escaping () -> Void, updateAutomaticBrightness: @escaping (Double) -> Void, updateTheme: @escaping (PresentationThemeReference) -> Void) { + self.context = context self.updateMode = updateMode self.updateTimeBasedAutomatic = updateTimeBasedAutomatic self.openTimeBasedManual = openTimeBasedManual @@ -61,8 +64,7 @@ private enum ThemeAutoNightSettingsControllerEntry: ItemListNodeEntry { case settingInfo(PresentationTheme, String) case themeHeader(PresentationTheme, String) - case themeNightBlue(PresentationTheme, String, Bool) - case themeNight(PresentationTheme, String, Bool) + case themeItem(PresentationTheme, PresentationStrings, [PresentationThemeReference], PresentationThemeReference, [Int64: PresentationThemeAccentColor]) var section: ItemListSectionId { switch self { @@ -70,7 +72,7 @@ private enum ThemeAutoNightSettingsControllerEntry: ItemListNodeEntry { return ThemeAutoNightSettingsControllerSection.mode.rawValue case .settingsHeader, .timeBasedAutomaticLocation, .timeBasedAutomaticLocationValue, .timeBasedManualFrom, .timeBasedManualTo, .brightnessValue, .settingInfo: return ThemeAutoNightSettingsControllerSection.settings.rawValue - case .themeHeader, .themeNightBlue, .themeNight: + case .themeHeader, .themeItem: return ThemeAutoNightSettingsControllerSection.theme.rawValue } } @@ -99,10 +101,8 @@ private enum ThemeAutoNightSettingsControllerEntry: ItemListNodeEntry { return 9 case .themeHeader: return 10 - case .themeNightBlue: + case .themeItem: return 11 - case .themeNight: - return 12 } } @@ -174,14 +174,8 @@ private enum ThemeAutoNightSettingsControllerEntry: ItemListNodeEntry { } else { return false } - case let .themeNightBlue(lhsTheme, lhsTitle, lhsValue): - if case let .themeNightBlue(rhsTheme, rhsTitle, rhsValue) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle, lhsValue == rhsValue { - return true - } else { - return false - } - case let .themeNight(lhsTheme, lhsTitle, lhsValue): - if case let .themeNight(rhsTheme, rhsTitle, rhsValue) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle, lhsValue == rhsValue { + case let .themeItem(lhsTheme, lhsStrings, lhsThemes, lhsCurrentTheme, lhsThemeAccentColors): + if case let .themeItem(rhsTheme, rhsStrings, rhsThemes, rhsCurrentTheme, rhsThemeAccentColors) = rhs, lhsTheme === rhsTheme, lhsStrings === rhsStrings, lhsThemes == rhsThemes, lhsCurrentTheme == rhsCurrentTheme, lhsThemeAccentColors == rhsThemeAccentColors { return true } else { return false @@ -233,19 +227,16 @@ private enum ThemeAutoNightSettingsControllerEntry: ItemListNodeEntry { return ItemListTextItem(theme: theme, text: .plain(text), sectionId: self.section) case let .themeHeader(theme, title): return ItemListSectionHeaderItem(theme: theme, text: title, sectionId: self.section) - case let .themeNightBlue(theme, title, value): - return ItemListCheckboxItem(theme: theme, title: title, style: .left, checked: value, zeroSeparatorInsets: false, sectionId: self.section, action: { - arguments.updateTheme(.nightAccent) - }) - case let .themeNight(theme, title, value): - return ItemListCheckboxItem(theme: theme, title: title, style: .left, checked: value, zeroSeparatorInsets: false, sectionId: self.section, action: { - arguments.updateTheme(.night) - }) + case let .themeItem(theme, strings, themes, currentTheme, themeSpecificAccentColors): + return ThemeSettingsThemeItem(context: arguments.context, theme: theme, strings: strings, sectionId: self.section, themes: themes, themeSpecificAccentColors: themeSpecificAccentColors, currentTheme: currentTheme, updatedTheme: { theme in + arguments.updateTheme(theme) + }, longTapped: { _ in + }, contextAction: nil) } } } -private func themeAutoNightSettingsControllerEntries(theme: PresentationTheme, strings: PresentationStrings, switchSetting: AutomaticThemeSwitchSetting, dateTimeFormat: PresentationDateTimeFormat) -> [ThemeAutoNightSettingsControllerEntry] { +private func themeAutoNightSettingsControllerEntries(theme: PresentationTheme, strings: PresentationStrings, settings: PresentationThemeSettings, switchSetting: AutomaticThemeSwitchSetting, availableThemes: [PresentationThemeReference], dateTimeFormat: PresentationDateTimeFormat) -> [ThemeAutoNightSettingsControllerEntry] { var entries: [ThemeAutoNightSettingsControllerEntry] = [] let activeTriggerMode: TriggerMode @@ -297,8 +288,7 @@ private func themeAutoNightSettingsControllerEntries(theme: PresentationTheme, s break case .timeBased, .brightness: entries.append(.themeHeader(theme, strings.AutoNightTheme_PreferredTheme)) - entries.append(.themeNightBlue(theme, strings.Appearance_ThemeCarouselTintedNight, switchSetting.theme == .nightAccent)) - entries.append(.themeNight(theme, strings.Appearance_ThemeCarouselNewNight, switchSetting.theme == .night)) + entries.append(.themeItem(theme, strings, availableThemes, switchSetting.theme, settings.themeSpecificAccentColors)) } return entries @@ -389,7 +379,7 @@ public func themeAutoNightSettingsController(context: AccountContext) -> ViewCon updateLocationDisposable.set(disposable) } - let arguments = ThemeAutoNightSettingsControllerArguments(updateMode: { mode in + let arguments = ThemeAutoNightSettingsControllerArguments(context: context, updateMode: { mode in var updateLocation = false updateSettings { settings in var settings = settings @@ -508,19 +498,51 @@ public func themeAutoNightSettingsController(context: AccountContext) -> ViewCon } })) }, updateTheme: { theme in - updateSettings { settings in - var settings = settings - settings.theme = theme - return settings + let presentationTheme = makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: theme, accentColor: nil, serviceBackgroundColor: .black, baseColor: nil) + + let resolvedWallpaper: Signal + if case let .file(file) = presentationTheme.chat.defaultWallpaper, file.id == 0 { + resolvedWallpaper = cachedWallpaper(account: context.account, slug: file.slug, settings: file.settings) + |> map { wallpaper -> TelegramWallpaper? in + return wallpaper?.wallpaper + } + } else { + resolvedWallpaper = .single(nil) } + + let _ = (resolvedWallpaper + |> mapToSignal { resolvedWallpaper -> Signal in + var updatedTheme = theme + if case let .cloud(info) = theme { + updatedTheme = .cloud(PresentationCloudTheme(theme: info.theme, resolvedWallpaper: resolvedWallpaper)) + } + + updateSettings { settings in + var settings = settings + settings.theme = updatedTheme + return settings + } + + return .complete() + }).start() }) - let signal = combineLatest(context.sharedContext.presentationData |> deliverOnMainQueue, sharedData |> deliverOnMainQueue, stagingSettingsPromise.get() |> deliverOnMainQueue) - |> map { presentationData, sharedData, stagingSettings -> (ItemListControllerState, (ItemListNodeState, ThemeAutoNightSettingsControllerEntry.ItemGenerationArguments)) in + let cloudThemes = Promise<[TelegramTheme]>() + let updatedCloudThemes = telegramThemes(postbox: context.account.postbox, network: context.account.network, accountManager: context.sharedContext.accountManager) + cloudThemes.set(updatedCloudThemes) + + let signal = combineLatest(context.sharedContext.presentationData |> deliverOnMainQueue, sharedData |> deliverOnMainQueue, cloudThemes.get() |> deliverOnMainQueue, stagingSettingsPromise.get() |> deliverOnMainQueue) + |> map { presentationData, sharedData, cloudThemes, stagingSettings -> (ItemListControllerState, (ItemListNodeState, ThemeAutoNightSettingsControllerEntry.ItemGenerationArguments)) in let settings = (sharedData.entries[ApplicationSpecificSharedDataKeys.presentationThemeSettings] as? PresentationThemeSettings) ?? PresentationThemeSettings.defaultSettings + let defaultThemes: [PresentationThemeReference] = [.builtin(.night), .builtin(.nightAccent)] + let cloudThemes: [PresentationThemeReference] = cloudThemes.map { .cloud(PresentationCloudTheme(theme: $0, resolvedWallpaper: nil)) } + + var availableThemes = defaultThemes + availableThemes.append(contentsOf: cloudThemes) + let controllerState = ItemListControllerState(theme: presentationData.theme, title: .text(presentationData.strings.AutoNightTheme_Title), leftNavigationButton: nil, rightNavigationButton: nil, backNavigationButton: ItemListBackButton(title: presentationData.strings.Common_Back)) - let listState = ItemListNodeState(entries: themeAutoNightSettingsControllerEntries(theme: presentationData.theme, strings: presentationData.strings, switchSetting: stagingSettings ?? settings.automaticThemeSwitchSetting, dateTimeFormat: presentationData.dateTimeFormat), style: .blocks, animateChanges: false) + let listState = ItemListNodeState(entries: themeAutoNightSettingsControllerEntries(theme: presentationData.theme, strings: presentationData.strings, settings: settings, switchSetting: stagingSettings ?? settings.automaticThemeSwitchSetting, availableThemes: availableThemes, dateTimeFormat: presentationData.dateTimeFormat), style: .blocks, animateChanges: false) return (controllerState, (listState, arguments)) } diff --git a/submodules/SettingsUI/Sources/Themes/ThemeAutoNightTimeSelectionActionSheet.swift b/submodules/SettingsUI/Sources/Themes/ThemeAutoNightTimeSelectionActionSheet.swift index 28d287d72f..099743aaa1 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeAutoNightTimeSelectionActionSheet.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeAutoNightTimeSelectionActionSheet.swift @@ -101,7 +101,7 @@ private final class ThemeAutoNightTimeSelectionActionSheetItemNode: ActionSheetI self.pickerView.datePickerMode = .time self.pickerView.timeZone = TimeZone(secondsFromGMT: 0) self.pickerView.date = Date(timeIntervalSince1970: Double(currentValue)) - self.pickerView.locale = localeWithStrings(strings) + self.pickerView.locale = Locale.current self.pickerView.setValue(theme.primaryTextColor, forKey: "textColor") diff --git a/submodules/SettingsUI/Sources/Themes/ThemeGridSelectionPanelNode.swift b/submodules/SettingsUI/Sources/Themes/ThemeGridSelectionPanelNode.swift index 84fec14728..b0a69c51b3 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeGridSelectionPanelNode.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeGridSelectionPanelNode.swift @@ -6,6 +6,7 @@ import Postbox import TelegramCore import SwiftSignalKit import TelegramPresentationData +import AppBundle final class ThemeGridSelectionPanelNode: ASDisplayNode { private let deleteButton: UIButton diff --git a/submodules/SettingsUI/Sources/Themes/ThemeNameGenerator.swift b/submodules/SettingsUI/Sources/Themes/ThemeNameGenerator.swift index 940a8bf0a9..694c1757ef 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeNameGenerator.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeNameGenerator.swift @@ -98,11 +98,11 @@ private let colors: [UInt32: String] = [ 0x80b3c4: "Glacier", 0xfebaad: "Melon", 0xc54b8c: "Mulberry", - 0xa9c6c2: "Opal" + 0xa9c6c2: "Opal", + 0x54a5f8: "Blue" ] private let adjectives = [ - "Always", "Ancient", "Antique", "Autumn", @@ -148,7 +148,6 @@ private let adjectives = [ "Frosty", "Frozen", "Gentle", - "Golden", "Heavenly", "Hyper", "Icy", @@ -202,7 +201,6 @@ private let adjectives = [ "Twinkling", "Ultimate", "Ultra", - "Uptown", "Velvety", "Vibrant", "Vintage", @@ -322,7 +320,6 @@ private extension UIColor { } } - func generateThemeName(accentColor: UIColor) -> String { var nearest: (color: UInt32, distance: Int32)? for (color, _) in colors { @@ -340,11 +337,7 @@ func generateThemeName(accentColor: UIColor) -> String { if arc4random() % 2 == 0 { return "\(adjectives[Int(arc4random()) % adjectives.count].capitalized) \(colorName)" } else { - if false, arc4random() % 3 == 0 { - return "\(adjectives[Int(arc4random()) % adjectives.count].capitalized) \(colorName) \(subjectives[Int(arc4random()) % subjectives.count].capitalized)" - } else { - return "\(colorName) \(subjectives[Int(arc4random()) % subjectives.count].capitalized)" - } + return "\(colorName) \(subjectives[Int(arc4random()) % subjectives.count].capitalized)" } } else { return "" diff --git a/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift b/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift index cb04b42476..ab05d1de77 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemePreviewController.swift @@ -12,8 +12,10 @@ import ShareController import CounterContollerTitleView import WallpaperResources import OverlayStatusController +import AppBundle public enum ThemePreviewSource { + case settings(PresentationThemeReference) case theme(TelegramTheme) case slug(String, TelegramMediaFile) case media(AnyMediaReference) @@ -24,13 +26,12 @@ public final class ThemePreviewController: ViewController { private let previewTheme: PresentationTheme private let source: ThemePreviewSource private let theme = Promise() + private let presentationTheme = Promise() private var controllerNode: ThemePreviewControllerNode { return self.displayNode as! ThemePreviewControllerNode } - - private let titleView: CounterContollerTitleView - + private var didPlayPresentationAnimation = false private var presentationData: PresentationData @@ -45,8 +46,7 @@ public final class ThemePreviewController: ViewController { self.source = source self.presentationData = context.sharedContext.currentPresentationData.with { $0 } - - self.titleView = CounterContollerTitleView(theme: self.previewTheme) + self.presentationTheme.set(.single(previewTheme)) super.init(navigationBarPresentationData: NavigationBarPresentationData(presentationTheme: self.previewTheme, presentationStrings: self.presentationData.strings)) @@ -61,24 +61,52 @@ public final class ThemePreviewController: ViewController { return .single(nil) }) themeName = previewTheme.name.string + + self.presentationTheme.set(.single(self.previewTheme) + |> then( + self.theme.get() + |> mapToSignal { theme in + if let file = theme?.file { + return telegramThemeData(account: context.account, accountManager: context.sharedContext.accountManager, resource: file.resource) + |> mapToSignal { data -> Signal in + guard let data = data, let presentationTheme = makePresentationTheme(data: data) else { + return .complete() + } + return .single(presentationTheme) + } + } else { + return .complete() + } + } + )) } else { self.theme.set(.single(nil)) themeName = previewTheme.name.string } - self.titleView.title = CounterContollerTitle(title: themeName, counter: " ") + var isPreview = false + if case .settings = source { + isPreview = true + } + + let titleView = CounterContollerTitleView(theme: self.previewTheme) + titleView.title = CounterContollerTitle(title: themeName, counter: isPreview ? "" : " ") self.navigationItem.titleView = titleView - self.statusBar.statusBarStyle = self.previewTheme.rootController.statusBarStyle.style self.supportedOrientations = ViewControllerSupportedOrientations(regularSize: .all, compactSize: .portrait) - self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionAction"), color: self.previewTheme.rootController.navigationBar.accentTextColor), style: .plain, target: self, action: #selector(self.actionPressed)) + if !isPreview { + self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Accessory Panels/MessageSelectionAction"), color: self.previewTheme.rootController.navigationBar.accentTextColor), style: .plain, target: self, action: #selector(self.actionPressed)) + } - self.disposable = (self.theme.get() - |> deliverOnMainQueue).start(next: { [weak self] theme in + self.disposable = (combineLatest(self.theme.get(), self.presentationTheme.get()) + |> deliverOnMainQueue).start(next: { [weak self] theme, presentationTheme in if let strongSelf = self, let theme = theme { - strongSelf.titleView.title = CounterContollerTitle(title: themeName, counter: strongSelf.presentationData.strings.Theme_UsersCount(max(1, theme.installCount))) + let titleView = CounterContollerTitleView(theme: strongSelf.previewTheme) + titleView.title = CounterContollerTitle(title: themeName, counter: strongSelf.presentationData.strings.Theme_UsersCount(max(1, theme.installCount))) + strongSelf.navigationItem.titleView = titleView + strongSelf.navigationBar?.updatePresentationData(NavigationBarPresentationData(presentationTheme: presentationTheme, presentationStrings: strongSelf.presentationData.strings)) } }) @@ -114,6 +142,10 @@ public final class ThemePreviewController: ViewController { override public func loadDisplayNode() { super.loadDisplayNode() + var isPreview = false + if case .settings = self.source { + isPreview = true + } self.displayNode = ThemePreviewControllerNode(context: self.context, previewTheme: self.previewTheme, dismiss: { [weak self] in if let strongSelf = self { strongSelf.dismiss() @@ -122,7 +154,7 @@ public final class ThemePreviewController: ViewController { if let strongSelf = self { strongSelf.apply() } - }) + }, isPreview: isPreview) self.displayNodeDidLoad() let previewTheme = self.previewTheme @@ -146,6 +178,8 @@ public final class ThemePreviewController: ViewController { let disposable = self.applyDisposable switch self.source { + case let .settings(reference): + theme = .single(reference) case .theme, .slug: theme = combineLatest(self.theme.get() |> take(1), wallpaperPromise.get() |> take(1)) |> mapToSignal { theme, wallpaper -> Signal in @@ -314,6 +348,8 @@ public final class ThemePreviewController: ViewController { let subject: ShareControllerSubject let preferredAction: ShareControllerPreferredAction switch self.source { + case let .settings(reference): + return case let .theme(theme): subject = .url("https://t.me/addtheme/\(theme.slug)") preferredAction = .default diff --git a/submodules/SettingsUI/Sources/Themes/ThemePreviewControllerNode.swift b/submodules/SettingsUI/Sources/Themes/ThemePreviewControllerNode.swift index 7c29d9a472..0c0e1ea5c1 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemePreviewControllerNode.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemePreviewControllerNode.swift @@ -29,8 +29,9 @@ private func generateMaskImage(color: UIColor) -> UIImage? { final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { private let context: AccountContext - private let previewTheme: PresentationTheme + private var previewTheme: PresentationTheme private var presentationData: PresentationData + private let isPreview: Bool public let wallpaperPromise = Promise() @@ -59,9 +60,10 @@ final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { private var statusDisposable: Disposable? private var fetchDisposable = MetaDisposable() - init(context: AccountContext, previewTheme: PresentationTheme, dismiss: @escaping () -> Void, apply: @escaping () -> Void) { + init(context: AccountContext, previewTheme: PresentationTheme, dismiss: @escaping () -> Void, apply: @escaping () -> Void, isPreview: Bool) { self.context = context self.previewTheme = previewTheme + self.isPreview = isPreview self.presentationData = context.sharedContext.currentPresentationData.with { $0 } @@ -87,12 +89,15 @@ final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { self.instantChatBackgroundNode.displaysAsynchronously = false self.instantChatBackgroundNode.image = chatControllerBackgroundImage(theme: previewTheme, wallpaper: previewTheme.chat.defaultWallpaper, mediaBox: context.sharedContext.accountManager.mediaBox, knockoutMode: context.sharedContext.immediateExperimentalUISettings.knockoutWallpaper) self.instantChatBackgroundNode.motionEnabled = previewTheme.chat.defaultWallpaper.settings?.motion ?? false + self.instantChatBackgroundNode.view.contentMode = .scaleAspectFill self.remoteChatBackgroundNode = TransformImageNode() self.remoteChatBackgroundNode.backgroundColor = previewTheme.chatList.backgroundColor + self.remoteChatBackgroundNode.view.contentMode = .scaleAspectFill self.blurredNode = BlurredImageNode() self.blurredNode.clipsToBounds = true + self.blurredNode.blurView.contentMode = .scaleAspectFill self.toolbarNode = WallpaperGalleryToolbarNode(theme: self.previewTheme, strings: self.presentationData.strings) @@ -128,9 +133,11 @@ final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { self.addSubnode(self.scrollNode) self.chatListBackgroundNode.addSubnode(self.maskNode) - self.addSubnode(self.pageControlBackgroundNode) - self.addSubnode(self.pageControlNode) - self.addSubnode(self.toolbarNode) + if !isPreview { + self.addSubnode(self.pageControlBackgroundNode) + self.addSubnode(self.pageControlNode) + self.addSubnode(self.toolbarNode) + } self.scrollNode.addSubnode(self.chatListBackgroundNode) self.scrollNode.addSubnode(self.chatContainerNode) @@ -263,6 +270,27 @@ final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { self.pageControlNode.setPage(0.0) } + func updateTheme(_ theme: PresentationTheme) { + self.previewTheme = theme + + self.backgroundColor = self.previewTheme.list.plainBackgroundColor + + self.pageControlNode.dotColor = self.previewTheme.chatList.unreadBadgeActiveBackgroundColor + self.pageControlNode.inactiveDotColor = self.previewTheme.list.pageIndicatorInactiveColor + + self.chatListBackgroundNode.backgroundColor = self.previewTheme.chatList.backgroundColor + self.maskNode.image = generateMaskImage(color: self.previewTheme.chatList.backgroundColor) + if case let .color(value) = self.previewTheme.chat.defaultWallpaper { + self.instantChatBackgroundNode.backgroundColor = UIColor(rgb: UInt32(bitPattern: value)) + } + + self.toolbarNode.updateThemeAndStrings(theme: self.previewTheme, strings: self.presentationData.strings) + + if let (layout, navigationBarHeight) = self.validLayout { + self.containerLayoutUpdated(layout, navigationBarHeight: navigationBarHeight, transition: .immediate) + } + } + func scrollViewDidScroll(_ scrollView: UIScrollView) { let bounds = scrollView.bounds if !bounds.width.isZero { @@ -283,7 +311,9 @@ final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { private func updateChatsLayout(layout: ContainerViewLayout, topInset: CGFloat, transition: ContainedViewLayoutTransition) { var items: [ChatListItem] = [] - let interaction = ChatListNodeInteraction(activateSearch: {}, peerSelected: { _ in }, togglePeerSelected: { _ in }, messageSelected: { _, _, _ in}, groupSelected: { _ in }, addContact: { _ in }, setPeerIdWithRevealedOptions: { _, _ in }, setItemPinned: { _, _ in }, setPeerMuted: { _, _ in }, deletePeer: { _ in }, updatePeerGrouping: { _, _ in }, togglePeerMarkedUnread: { _, _ in}, toggleArchivedFolderHiddenByDefault: {}) + let interaction = ChatListNodeInteraction(activateSearch: {}, peerSelected: { _ in }, togglePeerSelected: { _ in }, messageSelected: { _, _, _ in}, groupSelected: { _ in }, addContact: { _ in }, setPeerIdWithRevealedOptions: { _, _ in }, setItemPinned: { _, _ in }, setPeerMuted: { _, _ in }, deletePeer: { _ in }, updatePeerGrouping: { _, _ in }, togglePeerMarkedUnread: { _, _ in}, toggleArchivedFolderHiddenByDefault: {}, activateChatPreview: { _, _, gesture in + gesture?.cancel() + }) let chatListPresentationData = ChatListPresentationData(theme: self.previewTheme, strings: self.presentationData.strings, dateTimeFormat: self.presentationData.dateTimeFormat, nameSortOrder: self.presentationData.nameSortOrder, nameDisplayOrder: self.presentationData.nameDisplayOrder, disableAnimations: true) let peers = SimpleDictionary() @@ -449,7 +479,7 @@ final class ThemePreviewControllerNode: ASDisplayNode, UIScrollViewDelegate { self.toolbarNode.updateLayout(size: CGSize(width: layout.size.width, height: 49.0), layout: layout, transition: transition) self.updateChatsLayout(layout: layout, topInset: navigationBarHeight, transition: transition) - self.updateMessagesLayout(layout: layout, bottomInset: toolbarHeight + 66.0, transition: transition) + self.updateMessagesLayout(layout: layout, bottomInset: self.isPreview ? 0.0 : (toolbarHeight + 66.0), transition: transition) let pageControlSize = self.pageControlNode.measure(CGSize(width: bounds.width, height: 100.0)) let pageControlFrame = CGRect(origin: CGPoint(x: floor((bounds.width - pageControlSize.width) / 2.0), y: layout.size.height - toolbarHeight - 42.0), size: pageControlSize) diff --git a/submodules/SettingsUI/Sources/Themes/ThemeSettingsAppIconItem.swift b/submodules/SettingsUI/Sources/Themes/ThemeSettingsAppIconItem.swift index 142baa02f8..1215142c04 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeSettingsAppIconItem.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeSettingsAppIconItem.swift @@ -6,6 +6,7 @@ import SwiftSignalKit import TelegramCore import TelegramPresentationData import ItemListUI +import AppBundle private func generateBorderImage(theme: PresentationTheme, bordered: Bool, selected: Bool) -> UIImage? { return generateImage(CGSize(width: 30.0, height: 30.0), rotatedContext: { size, context in @@ -274,7 +275,7 @@ class ThemeSettingsAppIconItemNode: ListViewItemNode, ItemListItemNode { updated = true } - if let image = UIImage(named: icon.imageName, in: Bundle.main, compatibleWith: nil) { + if let image = UIImage(named: icon.imageName, in: getAppBundle(), compatibleWith: nil) { let selected = icon.name == item.currentIconName if selected { selectedNode = imageNode diff --git a/submodules/SettingsUI/Sources/Themes/ThemeSettingsBrightnessItem.swift b/submodules/SettingsUI/Sources/Themes/ThemeSettingsBrightnessItem.swift index 185e9551e8..eca45addbf 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeSettingsBrightnessItem.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeSettingsBrightnessItem.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import LegacyComponents import ItemListUI +import AppBundle class ThemeSettingsBrightnessItem: ListViewItem, ItemListItem { let theme: PresentationTheme diff --git a/submodules/SettingsUI/Sources/Themes/ThemeSettingsController.swift b/submodules/SettingsUI/Sources/Themes/ThemeSettingsController.swift index 16e93cbdcf..2a64b7db9a 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeSettingsController.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeSettingsController.swift @@ -11,6 +11,28 @@ import AlertUI import WallpaperResources import ShareController import AccountContext +import ContextUI + +private final class ContextControllerContentSourceImpl: ContextControllerContentSource { + let controller: ViewController + weak var sourceNode: ASDisplayNode? + + init(controller: ViewController, sourceNode: ASDisplayNode?) { + self.controller = controller + self.sourceNode = sourceNode + } + + func transitionInfo() -> ContextControllerTakeControllerInfo? { + let sourceNode = self.sourceNode + return ContextControllerTakeControllerInfo(contentAreaInScreenSpace: CGRect(origin: CGPoint(), size: CGSize(width: 10.0, height: 10.0)), sourceNode: { [weak sourceNode] in + if let sourceNode = sourceNode { + return (sourceNode, sourceNode.bounds) + } else { + return nil + } + }) + } +} func themeDisplayName(strings: PresentationStrings, reference: PresentationThemeReference) -> String { let name: String @@ -36,7 +58,7 @@ func themeDisplayName(strings: PresentationStrings, reference: PresentationTheme private final class ThemeSettingsControllerArguments { let context: AccountContext - let selectTheme: (PresentationThemeReference) -> Void + let updateTheme: (PresentationThemeReference) -> Void let selectFontSize: (PresentationFontSize) -> Void let openWallpaperSettings: () -> Void let selectAccentColor: (PresentationThemeAccentColor) -> Void @@ -47,10 +69,11 @@ private final class ThemeSettingsControllerArguments { let selectAppIcon: (String) -> Void let presentThemeMenu: (PresentationThemeReference, Bool) -> Void let editTheme: (PresentationCloudTheme) -> Void + let contextAction: (Bool, PresentationThemeReference, ASDisplayNode, ContextGesture?) -> Void - init(context: AccountContext, selectTheme: @escaping (PresentationThemeReference) -> Void, selectFontSize: @escaping (PresentationFontSize) -> Void, openWallpaperSettings: @escaping () -> Void, selectAccentColor: @escaping (PresentationThemeAccentColor) -> Void, openAccentColorPicker: @escaping (PresentationThemeReference, PresentationThemeAccentColor?) -> Void, openAutoNightTheme: @escaping () -> Void, toggleLargeEmoji: @escaping (Bool) -> Void, disableAnimations: @escaping (Bool) -> Void, selectAppIcon: @escaping (String) -> Void, presentThemeMenu: @escaping (PresentationThemeReference, Bool) -> Void, editTheme: @escaping (PresentationCloudTheme) -> Void) { + init(context: AccountContext, updateTheme: @escaping (PresentationThemeReference) -> Void, selectFontSize: @escaping (PresentationFontSize) -> Void, openWallpaperSettings: @escaping () -> Void, selectAccentColor: @escaping (PresentationThemeAccentColor) -> Void, openAccentColorPicker: @escaping (PresentationThemeReference, PresentationThemeAccentColor?) -> Void, openAutoNightTheme: @escaping () -> Void, toggleLargeEmoji: @escaping (Bool) -> Void, disableAnimations: @escaping (Bool) -> Void, selectAppIcon: @escaping (String) -> Void, presentThemeMenu: @escaping (PresentationThemeReference, Bool) -> Void, editTheme: @escaping (PresentationCloudTheme) -> Void, contextAction: @escaping (Bool, PresentationThemeReference, ASDisplayNode, ContextGesture?) -> Void) { self.context = context - self.selectTheme = selectTheme + self.updateTheme = updateTheme self.selectFontSize = selectFontSize self.openWallpaperSettings = openWallpaperSettings self.selectAccentColor = selectAccentColor @@ -61,6 +84,7 @@ private final class ThemeSettingsControllerArguments { self.selectAppIcon = selectAppIcon self.presentThemeMenu = presentThemeMenu self.editTheme = editTheme + self.contextAction = contextAction } } @@ -290,17 +314,19 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { }) case let .themeListHeader(theme, text): return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) - case let .themeItem(theme, strings, themes, currentTheme, themeSpecificAccentColors, currentColor): + case let .themeItem(theme, strings, themes, currentTheme, themeSpecificAccentColors, _): return ThemeSettingsThemeItem(context: arguments.context, theme: theme, strings: strings, sectionId: self.section, themes: themes, themeSpecificAccentColors: themeSpecificAccentColors, currentTheme: currentTheme, updatedTheme: { theme in if case let .cloud(theme) = theme, theme.theme.file == nil { if theme.theme.isCreator { arguments.editTheme(theme) } } else { - arguments.selectTheme(theme) + arguments.updateTheme(theme) } }, longTapped: { theme in - arguments.presentThemeMenu(theme, theme.index == currentTheme.index) + //arguments.presentThemeMenu(theme, theme.index == currentTheme.index) + }, contextAction: { theme, node, gesture in + arguments.contextAction(theme.index == currentTheme.index, theme, node, gesture) }) case let .iconHeader(theme, text): return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) @@ -324,11 +350,6 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { } } -private struct ThemeSettingsState: Equatable { - init() { - } -} - private func themeSettingsControllerEntries(presentationData: PresentationData, theme: PresentationTheme, themeReference: PresentationThemeReference, themeSpecificAccentColors: [Int64: PresentationThemeAccentColor], availableThemes: [PresentationThemeReference], autoNightSettings: AutomaticThemeSwitchSetting, strings: PresentationStrings, wallpaper: TelegramWallpaper, fontSize: PresentationFontSize, dateTimeFormat: PresentationDateTimeFormat, largeEmoji: Bool, disableAnimations: Bool, availableAppIcons: [PresentationAppIcon], currentAppIconName: String?) -> [ThemeSettingsControllerEntry] { var entries: [ThemeSettingsControllerEntry] = [] @@ -342,19 +363,17 @@ private func themeSettingsControllerEntries(presentationData: PresentationData, } entries.append(.wallpaper(presentationData.theme, strings.Settings_ChatBackground)) - - if theme.name == .builtin(.day) || theme.name == .builtin(.dayClassic) { - let title: String - switch autoNightSettings.trigger { - case .none: - title = strings.AutoNightTheme_Disabled - case .timeBased: - title = strings.AutoNightTheme_Scheduled - case .brightness: - title = strings.AutoNightTheme_Automatic - } - entries.append(.autoNightTheme(presentationData.theme, strings.Appearance_AutoNightTheme, title)) + + let title: String + switch autoNightSettings.trigger { + case .none: + title = strings.AutoNightTheme_Disabled + case .timeBased: + title = strings.AutoNightTheme_Scheduled + case .brightness: + title = strings.AutoNightTheme_Automatic } + entries.append(.autoNightTheme(presentationData.theme, strings.Appearance_AutoNightTheme, title)) entries.append(.fontSizeHeader(presentationData.theme, strings.Appearance_TextSize.uppercased())) entries.append(.fontSize(presentationData.theme, fontSize)) @@ -373,18 +392,12 @@ private func themeSettingsControllerEntries(presentationData: PresentationData, } public func themeSettingsController(context: AccountContext, focusOnItemTag: ThemeSettingsEntryTag? = nil) -> ViewController { - let initialState = ThemeSettingsState() - let statePromise = ValuePromise(initialState, ignoreRepeated: true) - let stateValue = Atomic(value: initialState) - let updateState: ((ThemeSettingsState) -> ThemeSettingsState) -> Void = { f in - statePromise.set(stateValue.modify { f($0) }) - } - var pushControllerImpl: ((ViewController) -> Void)? var presentControllerImpl: ((ViewController, Any?) -> Void)? + var presentInGlobalOverlayImpl: ((ViewController, Any?) -> Void)? var getNavigationControllerImpl: (() -> NavigationController?)? - var selectThemeImpl: ((PresentationThemeReference) -> Void)? + var updateThemeImpl: ((PresentationThemeReference) -> Void)? var moreImpl: (() -> Void)? let _ = telegramWallpapers(postbox: context.account.postbox, network: context.account.network).start() @@ -405,8 +418,8 @@ public func themeSettingsController(context: AccountContext, focusOnItemTag: The let updatedCloudThemes = telegramThemes(postbox: context.account.postbox, network: context.account.network, accountManager: context.sharedContext.accountManager) cloudThemes.set(updatedCloudThemes) - let arguments = ThemeSettingsControllerArguments(context: context, selectTheme: { theme in - selectThemeImpl?(theme) + let arguments = ThemeSettingsControllerArguments(context: context, updateTheme: { theme in + updateThemeImpl?(theme) }, selectFontSize: { size in let _ = updatePresentationThemeSettingsInteractively(accountManager: context.sharedContext.accountManager, { current in return PresentationThemeSettings(chatWallpaper: current.chatWallpaper, theme: current.theme, themeSpecificAccentColors: current.themeSpecificAccentColors, themeSpecificChatWallpapers: current.themeSpecificChatWallpapers, fontSize: size, automaticThemeSwitchSetting: current.automaticThemeSwitchSetting, largeEmoji: current.largeEmoji, disableAnimations: current.disableAnimations) @@ -488,7 +501,7 @@ public func themeSettingsController(context: AccountContext, focusOnItemTag: The } else { newTheme = .builtin(.nightAccent) } - selectThemeImpl?(newTheme) + updateThemeImpl?(newTheme) } let _ = deleteThemeInteractively(account: context.account, accountManager: context.sharedContext.accountManager, theme: theme.theme).start() @@ -514,10 +527,81 @@ public func themeSettingsController(context: AccountContext, focusOnItemTag: The } }) presentControllerImpl?(controller, ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) + }, contextAction: { isCurrent, reference, node, gesture in + let _ = (context.account.postbox.transaction { transaction in + return makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: reference, accentColor: nil, serviceBackgroundColor: defaultServiceBackgroundColor, baseColor: .blue) + } + |> deliverOnMainQueue).start(next: { theme in + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let strings = presentationData.strings + let themeController = ThemePreviewController(context: context, previewTheme: theme, source: .settings(reference)) + var items: [ContextMenuItem] = [] + + items.append(.action(ContextMenuActionItem(text: strings.Theme_Context_Apply, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/ApplyTheme"), color: theme.contextMenu.primaryColor) }, action: { c, f in + c.dismiss(completion: { + updateThemeImpl?(reference) + }) + }))) + + if case let .cloud(theme) = reference { + if theme.theme.isCreator { + items.append(.action(ContextMenuActionItem(text: presentationData.strings.Appearance_EditTheme, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Edit"), color: theme.contextMenu.primaryColor) }, action: { c, f in + let controller = editThemeController(context: context, mode: .edit(theme), navigateToChat: { peerId in + if let navigationController = getNavigationControllerImpl?() { + context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: context, chatLocation: .peer(peerId))) + } + }) + + c.dismiss(completion: { + presentControllerImpl?(controller, ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) + }) + }))) + } + items.append(.action(ContextMenuActionItem(text: presentationData.strings.Appearance_ShareTheme, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Share"), color: theme.contextMenu.primaryColor) }, action: { c, f in + c.dismiss(completion: { + let controller = ShareController(context: context, subject: .url("https://t.me/addtheme/\(theme.theme.slug)"), preferredAction: .default) + presentControllerImpl?(controller, nil) + }) + }))) + items.append(.action(ContextMenuActionItem(text: presentationData.strings.Appearance_RemoveTheme, textColor: .destructive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Delete"), color: theme.contextMenu.destructiveColor) }, action: { c, f in + c.dismiss(completion: { + let actionSheet = ActionSheetController(presentationTheme: presentationData.theme) + var items: [ActionSheetItem] = [] + items.append(ActionSheetButtonItem(title: presentationData.strings.Appearance_RemoveThemeConfirmation, color: .destructive, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + let _ = (cloudThemes.get() |> delay(0.5, queue: Queue.mainQueue()) + |> take(1) + |> deliverOnMainQueue).start(next: { themes in + if isCurrent, let themeIndex = themes.firstIndex(where: { $0.id == theme.theme.id }) { + let newTheme: PresentationThemeReference + if themeIndex > 0 { + newTheme = .cloud(PresentationCloudTheme(theme: themes[themeIndex - 1], resolvedWallpaper: nil)) + } else { + newTheme = .builtin(.nightAccent) + } + updateThemeImpl?(newTheme) + } + + let _ = deleteThemeInteractively(account: context.account, accountManager: context.sharedContext.accountManager, theme: theme.theme).start() + }) + })) + actionSheet.setItemGroups([ActionSheetItemGroup(items: items), ActionSheetItemGroup(items: [ + ActionSheetButtonItem(title: presentationData.strings.Common_Cancel, color: .accent, action: { [weak actionSheet] in + actionSheet?.dismissAnimated() + }) + ])]) + presentControllerImpl?(actionSheet, nil) + }) + }))) + } + + let contextController = ContextController(account: context.account, theme: presentationData.theme, strings: presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: themeController, sourceNode: node)), items: .single(items), reactionItems: [], gesture: gesture) + presentInGlobalOverlayImpl?(contextController, nil) + }) }) - let signal = combineLatest(queue: .mainQueue(), context.sharedContext.presentationData, context.sharedContext.accountManager.sharedData(keys: [ApplicationSpecificSharedDataKeys.presentationThemeSettings]), cloudThemes.get(), availableAppIcons, currentAppIconName.get(), statePromise.get()) - |> map { presentationData, sharedData, cloudThemes, availableAppIcons, currentAppIconName, state -> (ItemListControllerState, (ItemListNodeState, ThemeSettingsControllerEntry.ItemGenerationArguments)) in + let signal = combineLatest(queue: .mainQueue(), context.sharedContext.presentationData, context.sharedContext.accountManager.sharedData(keys: [ApplicationSpecificSharedDataKeys.presentationThemeSettings]), cloudThemes.get(), availableAppIcons, currentAppIconName.get()) + |> map { presentationData, sharedData, cloudThemes, availableAppIcons, currentAppIconName -> (ItemListControllerState, (ItemListNodeState, ThemeSettingsControllerEntry.ItemGenerationArguments)) in let settings = (sharedData.entries[ApplicationSpecificSharedDataKeys.presentationThemeSettings] as? PresentationThemeSettings) ?? PresentationThemeSettings.defaultSettings let fontSize = settings.fontSize @@ -562,10 +646,13 @@ public func themeSettingsController(context: AccountContext, focusOnItemTag: The presentControllerImpl = { [weak controller] c, a in controller?.present(c, in: .window(.root), with: a, blockInteraction: true) } + presentInGlobalOverlayImpl = { [weak controller] c, a in + controller?.presentInGlobalOverlay(c, with: a) + } getNavigationControllerImpl = { [weak controller] in return controller?.navigationController as? NavigationController } - selectThemeImpl = { theme in + updateThemeImpl = { theme in let presentationTheme = makePresentationTheme(mediaBox: context.sharedContext.accountManager.mediaBox, themeReference: theme, accentColor: nil, serviceBackgroundColor: .black, baseColor: nil) let resolvedWallpaper: Signal @@ -590,7 +677,6 @@ public func themeSettingsController(context: AccountContext, focusOnItemTag: The if case let .cloud(info) = theme { updatedTheme = .cloud(PresentationCloudTheme(theme: info.theme, resolvedWallpaper: resolvedWallpaper)) } - return (context.sharedContext.accountManager.transaction { transaction -> Void in transaction.updateSharedData(ApplicationSpecificSharedDataKeys.presentationThemeSettings, { entry in let current: PresentationThemeSettings diff --git a/submodules/SettingsUI/Sources/Themes/ThemeSettingsFontSizeItem.swift b/submodules/SettingsUI/Sources/Themes/ThemeSettingsFontSizeItem.swift index ae4ed1c593..4114eedb9d 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeSettingsFontSizeItem.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeSettingsFontSizeItem.swift @@ -8,6 +8,7 @@ import TelegramPresentationData import TelegramUIPreferences import LegacyComponents import ItemListUI +import AppBundle class ThemeSettingsFontSizeItem: ListViewItem, ItemListItem { let theme: PresentationTheme diff --git a/submodules/SettingsUI/Sources/Themes/ThemeSettingsThemeItem.swift b/submodules/SettingsUI/Sources/Themes/ThemeSettingsThemeItem.swift index 57b381b796..098a9c21e6 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeSettingsThemeItem.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeSettingsThemeItem.swift @@ -10,6 +10,8 @@ import TelegramUIPreferences import ItemListUI import WallpaperResources import AccountContext +import AppBundle +import ContextUI private var borderImages: [String: UIImage] = [:] @@ -87,9 +89,10 @@ class ThemeSettingsThemeItem: ListViewItem, ItemListItem { let currentTheme: PresentationThemeReference let updatedTheme: (PresentationThemeReference) -> Void let longTapped: (PresentationThemeReference) -> Void + let contextAction: ((PresentationThemeReference, ASDisplayNode, ContextGesture?) -> Void)? let tag: ItemListItemTag? - init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, sectionId: ItemListSectionId, themes: [PresentationThemeReference], themeSpecificAccentColors: [Int64: PresentationThemeAccentColor], currentTheme: PresentationThemeReference, updatedTheme: @escaping (PresentationThemeReference) -> Void, longTapped: @escaping (PresentationThemeReference) -> Void, tag: ItemListItemTag? = nil) { + init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, sectionId: ItemListSectionId, themes: [PresentationThemeReference], themeSpecificAccentColors: [Int64: PresentationThemeAccentColor], currentTheme: PresentationThemeReference, updatedTheme: @escaping (PresentationThemeReference) -> Void, longTapped: @escaping (PresentationThemeReference) -> Void, contextAction: ((PresentationThemeReference, ASDisplayNode, ContextGesture?) -> Void)?, tag: ItemListItemTag? = nil) { self.context = context self.theme = theme self.strings = strings @@ -98,6 +101,7 @@ class ThemeSettingsThemeItem: ListViewItem, ItemListItem { self.currentTheme = currentTheme self.updatedTheme = updatedTheme self.longTapped = longTapped + self.contextAction = contextAction self.tag = tag self.sectionId = sectionId } @@ -137,11 +141,13 @@ class ThemeSettingsThemeItem: ListViewItem, ItemListItem { } private final class ThemeSettingsThemeItemIconNode : ASDisplayNode { + private let containerNode: ContextControllerSourceNode private let imageNode: TransformImageNode private let overlayNode: ASImageNode private let textNode: ASTextNode private var action: (() -> Void)? private var longTapAction: (() -> Void)? + private var contextAction: ((ASDisplayNode, ContextGesture?) -> Void)? private var theme: PresentationThemeReference? private var currentTheme: PresentationTheme? @@ -150,6 +156,8 @@ private final class ThemeSettingsThemeItemIconNode : ASDisplayNode { private var selected: Bool? override init() { + self.containerNode = ContextControllerSourceNode() + self.imageNode = TransformImageNode() self.imageNode.frame = CGRect(origin: CGPoint(), size: CGSize(width: 98.0, height: 62.0)) self.imageNode.isLayerBacked = true @@ -164,12 +172,21 @@ private final class ThemeSettingsThemeItemIconNode : ASDisplayNode { super.init() - self.addSubnode(self.imageNode) - self.addSubnode(self.overlayNode) - self.addSubnode(self.textNode) + self.addSubnode(self.containerNode) + self.containerNode.addSubnode(self.imageNode) + self.containerNode.addSubnode(self.overlayNode) + self.containerNode.addSubnode(self.textNode) + + self.containerNode.activated = { [weak self] gesture in + guard let strongSelf = self else { + gesture.cancel() + return + } + strongSelf.contextAction?(strongSelf.containerNode, gesture) + } } - func setup(context: AccountContext, theme: PresentationThemeReference, accentColor: UIColor?, currentTheme: PresentationTheme, title: NSAttributedString, bordered: Bool, selected: Bool, action: @escaping () -> Void, longTapAction: @escaping () -> Void) { + func setup(context: AccountContext, theme: PresentationThemeReference, accentColor: UIColor?, currentTheme: PresentationTheme, title: NSAttributedString, bordered: Bool, selected: Bool, action: @escaping () -> Void, longTapAction: @escaping () -> Void, contextAction: ((ASDisplayNode, ContextGesture?) -> Void)?) { let updatedTheme = self.currentTheme == nil || currentTheme !== self.currentTheme! if case let .cloud(theme) = theme, theme.theme.file == nil { if updatedTheme || accentColor != self.accentColor { @@ -197,6 +214,8 @@ private final class ThemeSettingsThemeItemIconNode : ASDisplayNode { self.longTapAction = { longTapAction() } + self.contextAction = contextAction + self.containerNode.isGestureEnabled = !selected } override func didLoad() { @@ -233,6 +252,8 @@ private final class ThemeSettingsThemeItemIconNode : ASDisplayNode { let bounds = self.bounds + self.containerNode.frame = CGRect(origin: CGPoint(), size: bounds.size) + let imageSize = CGSize(width: 98.0, height: 62.0) self.imageNode.frame = CGRect(origin: CGPoint(x: 10.0, y: 14.0), size: imageSize) let makeLayout = self.imageNode.asyncLayout() @@ -380,6 +401,11 @@ class ThemeSettingsThemeItemNode: ListViewItemNode, ItemListItemNode { } }, longTapAction: { item.longTapped(theme) + }, contextAction: item.contextAction.flatMap { + contextAction in + return { node, gesture in + contextAction(theme, node, gesture) + } }) imageNode.frame = CGRect(origin: CGPoint(x: nodeOffset, y: 0.0), size: nodeSize) diff --git a/submodules/SettingsUI/Sources/Themes/WallpaperColorPanelNode.swift b/submodules/SettingsUI/Sources/Themes/WallpaperColorPanelNode.swift index bf7eaa0834..3e0a1dc81a 100644 --- a/submodules/SettingsUI/Sources/Themes/WallpaperColorPanelNode.swift +++ b/submodules/SettingsUI/Sources/Themes/WallpaperColorPanelNode.swift @@ -160,19 +160,12 @@ final class WallpaperColorPanelNode: ASDisplayNode, UITextFieldDelegate { } @objc internal func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { - if string.count > 1 { - if string.count <= 6 { - var updated = textField.text ?? "" - updated.replaceSubrange(updated.index(updated.startIndex, offsetBy: range.lowerBound) ..< updated.index(updated.startIndex, offsetBy: range.upperBound), with: string) - if updated.count <= 6 && updated.rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789abcdefABCDEF").inverted) == nil { - textField.text = updated.uppercased() - } - } - return false - } else if string.count == 1 { - return (textField.text ?? "").count < 6 && string.rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789abcdefABCDEF").inverted) == nil + var updated = textField.text ?? "" + updated.replaceSubrange(updated.index(updated.startIndex, offsetBy: range.lowerBound) ..< updated.index(updated.startIndex, offsetBy: range.upperBound), with: string) + if updated.count <= 6 && updated.rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789abcdefABCDEF").inverted) == nil { + textField.text = updated.uppercased() } - return true + return false } @objc func textFieldTextChanged(_ sender: UITextField) { diff --git a/submodules/SettingsUI/Sources/Themes/WallpaperGalleryItem.swift b/submodules/SettingsUI/Sources/Themes/WallpaperGalleryItem.swift index ff9ce3907d..f59516abd3 100644 --- a/submodules/SettingsUI/Sources/Themes/WallpaperGalleryItem.swift +++ b/submodules/SettingsUI/Sources/Themes/WallpaperGalleryItem.swift @@ -16,6 +16,7 @@ import PhotoResources import GalleryUI import LocalMediaResources import WallpaperResources +import AppBundle struct WallpaperGalleryItemArguments { let colorPreview: Bool diff --git a/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift b/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift index f9a37b2e1b..1207761b79 100644 --- a/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift +++ b/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift @@ -66,8 +66,8 @@ final class WallpaperGalleryToolbarNode: ASDisplayNode { self.separatorNode.backgroundColor = theme.rootController.tabBar.separatorColor self.topSeparatorNode.backgroundColor = theme.rootController.tabBar.separatorColor - self.cancelButton.setTitle(strings.Common_Cancel, with: Font.regular(17.0), with: theme.rootController.navigationBar.primaryTextColor, for: []) - self.doneButton.setTitle(strings.Wallpaper_Set, with: Font.regular(17.0), with: theme.rootController.navigationBar.primaryTextColor, for: []) + self.cancelButton.setTitle(strings.Common_Cancel, with: Font.regular(17.0), with: theme.list.itemPrimaryTextColor, for: []) + self.doneButton.setTitle(strings.Wallpaper_Set, with: Font.regular(17.0), with: theme.list.itemPrimaryTextColor, for: []) } func updateLayout(size: CGSize, layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) { diff --git a/submodules/ShareController/BUCK b/submodules/ShareController/BUCK new file mode 100644 index 0000000000..b1d58a8684 --- /dev/null +++ b/submodules/ShareController/BUCK @@ -0,0 +1,29 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ShareController", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/SaveToCameraRoll:SaveToCameraRoll", + "//submodules/StickerResources:StickerResources", + "//submodules/UrlEscaping:UrlEscaping", + "//submodules/LocalizedPeerData:LocalizedPeerData", + "//submodules/ActionSheetPeerItem:ActionSheetPeerItem", + "//submodules/ChatListSearchRecentPeersNode:ChatListSearchRecentPeersNode", + "//submodules/PeerPresenceStatusManager:PeerPresenceStatusManager", + "//submodules/SelectablePeerNode:SelectablePeerNode", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ShareController/ShareController.xcodeproj/project.pbxproj b/submodules/ShareController/ShareController.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c0609aeeef --- /dev/null +++ b/submodules/ShareController/ShareController.xcodeproj/project.pbxproj @@ -0,0 +1,1305 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29DCC60E9A00000000 + + isa + PBXFileReference + name + ShareController-Debug.xcconfig + path + ../../buck-out/gen/submodules/ShareController/ShareController-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A89F678400000000 + + isa + PBXFileReference + name + ShareController-Profile.xcconfig + path + ../../buck-out/gen/submodules/ShareController/ShareController-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291C3612E600000000 + + isa + PBXFileReference + name + ShareController-Release.xcconfig + path + ../../buck-out/gen/submodules/ShareController/ShareController-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29DCC60E9A00000000 + 1DD70E29A89F678400000000 + 1DD70E291C3612E600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29097DBE9200000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2981AE180900000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299AA2B4EE00000000 + + isa + PBXFileReference + name + ShareActionButtonNode.swift + path + Sources/ShareActionButtonNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A5E42C6E00000000 + + isa + PBXFileReference + name + ShareContentContainerNode.swift + path + Sources/ShareContentContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E291064AF2000000000 + + isa + PBXFileReference + name + ShareController.swift + path + Sources/ShareController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29319F7A4200000000 + + isa + PBXFileReference + name + ShareControllerNode.swift + path + Sources/ShareControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C3EFDD7B00000000 + + isa + PBXFileReference + name + ShareControllerPeerGridItem.swift + path + Sources/ShareControllerPeerGridItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E1A98A3900000000 + + isa + PBXFileReference + name + ShareControllerRecentPeersGridItem.swift + path + Sources/ShareControllerRecentPeersGridItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F0B8ACF600000000 + + isa + PBXFileReference + name + ShareInputFieldNode.swift + path + Sources/ShareInputFieldNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299E394ACB00000000 + + isa + PBXFileReference + name + ShareLoadingContainerNode.swift + path + Sources/ShareLoadingContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299F27025600000000 + + isa + PBXFileReference + name + SharePeersContainerNode.swift + path + Sources/SharePeersContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C72DA09300000000 + + isa + PBXFileReference + name + ShareSearchBarNode.swift + path + Sources/ShareSearchBarNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B726E0C100000000 + + isa + PBXFileReference + name + ShareSearchContainerNode.swift + path + Sources/ShareSearchContainerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299AA2B4EE00000000 + 1DD70E29A5E42C6E00000000 + 1DD70E291064AF2000000000 + 1DD70E29319F7A4200000000 + 1DD70E29C3EFDD7B00000000 + 1DD70E29E1A98A3900000000 + 1DD70E29F0B8ACF600000000 + 1DD70E299E394ACB00000000 + 1DD70E299F27025600000000 + 1DD70E29C72DA09300000000 + 1DD70E29B726E0C100000000 + + + B401C9790C093CBB00000000 + + isa + PBXGroup + name + ShareController + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9790C093CBB00000000 + + + E7A30F049AA2B4EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299AA2B4EE00000000 + + E7A30F04A5E42C6E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A5E42C6E00000000 + + E7A30F041064AF2000000000 + + isa + PBXBuildFile + fileRef + 1DD70E291064AF2000000000 + + E7A30F04319F7A4200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29319F7A4200000000 + + E7A30F04C3EFDD7B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C3EFDD7B00000000 + + E7A30F04E1A98A3900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E1A98A3900000000 + + E7A30F04F0B8ACF600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0B8ACF600000000 + + E7A30F049E394ACB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299E394ACB00000000 + + E7A30F049F27025600000000 + + isa + PBXBuildFile + fileRef + 1DD70E299F27025600000000 + + E7A30F04C72DA09300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C72DA09300000000 + + E7A30F04B726E0C100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B726E0C100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049AA2B4EE00000000 + E7A30F04A5E42C6E00000000 + E7A30F041064AF2000000000 + E7A30F04319F7A4200000000 + E7A30F04C3EFDD7B00000000 + E7A30F04E1A98A3900000000 + E7A30F04F0B8ACF600000000 + E7A30F049E394ACB00000000 + E7A30F049F27025600000000 + E7A30F04C72DA09300000000 + E7A30F04B726E0C100000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F04D6F14E1000000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0484A59C1D00000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29DCC60E9A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A89F678400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291C3612E600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0C093CBB00000000 + + isa + PBXNativeTarget + name + ShareController + productName + ShareController + productReference + 1DD70E2981AE180900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930C093CBB00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0C093CBB00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930C093CBB00000000 + + \ No newline at end of file diff --git a/submodules/ShareController/ShareController.xcodeproj/xcshareddata/xcschemes/ShareController.xcscheme b/submodules/ShareController/ShareController.xcodeproj/xcshareddata/xcschemes/ShareController.xcscheme new file mode 100644 index 0000000000..d7d0458aba --- /dev/null +++ b/submodules/ShareController/ShareController.xcodeproj/xcshareddata/xcschemes/ShareController.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ShareController/ShareController_Xcode.xcodeproj/project.pbxproj b/submodules/ShareController/ShareController_Xcode.xcodeproj/project.pbxproj index 5b756903dd..427812cd56 100644 --- a/submodules/ShareController/ShareController_Xcode.xcodeproj/project.pbxproj +++ b/submodules/ShareController/ShareController_Xcode.xcodeproj/project.pbxproj @@ -27,7 +27,6 @@ D0879BC522F857E600C4D6B3 /* ShareSearchContainerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0879BC022F857E600C4D6B3 /* ShareSearchContainerNode.swift */; }; D0879BC622F857E600C4D6B3 /* ShareSearchBarNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0879BC122F857E600C4D6B3 /* ShareSearchBarNode.swift */; }; D0879BEC22F85F8500C4D6B3 /* RadialStatusNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879BEB22F85F8500C4D6B3 /* RadialStatusNode.framework */; }; - D0879C0722F8636500C4D6B3 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0879C0622F8636500C4D6B3 /* FrameworkBundle.swift */; }; D0879C3722F8733500C4D6B3 /* SelectablePeerNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879C3622F8733500C4D6B3 /* SelectablePeerNode.framework */; }; D0879C9422F875B900C4D6B3 /* PeerPresenceStatusManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879C9322F875B900C4D6B3 /* PeerPresenceStatusManager.framework */; }; D0879CCA22F876D700C4D6B3 /* ChatListSearchRecentPeersNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879CC922F876D700C4D6B3 /* ChatListSearchRecentPeersNode.framework */; }; @@ -35,6 +34,7 @@ D0879D9D22F87E7F00C4D6B3 /* LocalizedPeerData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879D9C22F87E7F00C4D6B3 /* LocalizedPeerData.framework */; }; D0879DBB22F87F2700C4D6B3 /* UrlEscaping.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879DBA22F87F2700C4D6B3 /* UrlEscaping.framework */; }; D0879DE822F8819E00C4D6B3 /* StickerResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0879DE722F8819E00C4D6B3 /* StickerResources.framework */; }; + D0EFF252231980F100CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF251231980F100CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -61,7 +61,6 @@ D0879BC022F857E600C4D6B3 /* ShareSearchContainerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShareSearchContainerNode.swift; sourceTree = ""; }; D0879BC122F857E600C4D6B3 /* ShareSearchBarNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShareSearchBarNode.swift; sourceTree = ""; }; D0879BEB22F85F8500C4D6B3 /* RadialStatusNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = RadialStatusNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0879C0622F8636500C4D6B3 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0879C3622F8733500C4D6B3 /* SelectablePeerNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SelectablePeerNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0879C9322F875B900C4D6B3 /* PeerPresenceStatusManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeerPresenceStatusManager.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0879CC922F876D700C4D6B3 /* ChatListSearchRecentPeersNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ChatListSearchRecentPeersNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -69,6 +68,7 @@ D0879D9C22F87E7F00C4D6B3 /* LocalizedPeerData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocalizedPeerData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0879DBA22F87F2700C4D6B3 /* UrlEscaping.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = UrlEscaping.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0879DE722F8819E00C4D6B3 /* StickerResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StickerResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF251231980F100CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -76,6 +76,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF252231980F100CF5164 /* AppBundle.framework in Frameworks */, D038AC4F22F8883700320981 /* SaveToCameraRoll.framework in Frameworks */, D0879DE822F8819E00C4D6B3 /* StickerResources.framework in Frameworks */, D0879DBB22F87F2700C4D6B3 /* UrlEscaping.framework in Frameworks */, @@ -129,7 +130,6 @@ D0879BA222F854C600C4D6B3 /* ShareControllerNode.swift */, D0879BA722F854C700C4D6B3 /* ShareControllerPeerGridItem.swift */, D0879BA622F854C700C4D6B3 /* ShareControllerRecentPeersGridItem.swift */, - D0879C0622F8636500C4D6B3 /* FrameworkBundle.swift */, D0879B9622F8537800C4D6B3 /* ShareController.h */, ); path = Sources; @@ -138,6 +138,7 @@ D0879BAE22F854D200C4D6B3 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF251231980F100CF5164 /* AppBundle.framework */, D038AC5022F889E600320981 /* libc++.tbd */, D038AC4E22F8883700320981 /* SaveToCameraRoll.framework */, D0879DE722F8819E00C4D6B3 /* StickerResources.framework */, @@ -246,7 +247,6 @@ D0879BC522F857E600C4D6B3 /* ShareSearchContainerNode.swift in Sources */, D0879BC622F857E600C4D6B3 /* ShareSearchBarNode.swift in Sources */, D0879BC322F857E600C4D6B3 /* ShareLoadingContainerNode.swift in Sources */, - D0879C0722F8636500C4D6B3 /* FrameworkBundle.swift in Sources */, D0879BA922F854C700C4D6B3 /* ShareController.swift in Sources */, D0879BAD22F854C700C4D6B3 /* ShareControllerPeerGridItem.swift in Sources */, D0879BAA22F854C700C4D6B3 /* ShareContentContainerNode.swift in Sources */, diff --git a/submodules/ShareController/Sources/FrameworkBundle.swift b/submodules/ShareController/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/ShareController/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/ShareController/Sources/ShareInputFieldNode.swift b/submodules/ShareController/Sources/ShareInputFieldNode.swift index a365ae28cf..5a89d225c8 100644 --- a/submodules/ShareController/Sources/ShareInputFieldNode.swift +++ b/submodules/ShareController/Sources/ShareInputFieldNode.swift @@ -3,6 +3,7 @@ import UIKit import AsyncDisplayKit import Display import TelegramPresentationData +import AppBundle private func generateClearIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Clear"), color: color) diff --git a/submodules/ShareController/Sources/SharePeersContainerNode.swift b/submodules/ShareController/Sources/SharePeersContainerNode.swift index 5b933e3116..217b8469a7 100644 --- a/submodules/ShareController/Sources/SharePeersContainerNode.swift +++ b/submodules/ShareController/Sources/SharePeersContainerNode.swift @@ -10,6 +10,7 @@ import MergeLists import AvatarNode import AccountContext import PeerPresenceStatusManager +import AppBundle private let subtitleFont = Font.regular(12.0) diff --git a/submodules/ShareController/Sources/ShareSearchBarNode.swift b/submodules/ShareController/Sources/ShareSearchBarNode.swift index e623431ffc..af15892746 100644 --- a/submodules/ShareController/Sources/ShareSearchBarNode.swift +++ b/submodules/ShareController/Sources/ShareSearchBarNode.swift @@ -3,6 +3,7 @@ import UIKit import AsyncDisplayKit import Display import TelegramPresentationData +import AppBundle private func generateClearIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Clear"), color: color) diff --git a/submodules/ShareItems/BUCK b/submodules/ShareItems/BUCK new file mode 100644 index 0000000000..de8969d544 --- /dev/null +++ b/submodules/ShareItems/BUCK @@ -0,0 +1,31 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "ShareItems", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/ShareItems.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/ShareItems.h"]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/Display:Display#shared", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/LocalMediaResources:LocalMediaResources", + "//submodules/Pdf:Pdf", + "//submodules/AccountContext:AccountContext", + "//submodules/MimeTypes:MimeTypes", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/ShareItems/ShareItems.xcodeproj/project.pbxproj b/submodules/ShareItems/ShareItems.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..970377327a --- /dev/null +++ b/submodules/ShareItems/ShareItems.xcodeproj/project.pbxproj @@ -0,0 +1,883 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E295820975400000000 + + isa + PBXFileReference + name + ShareItems-Debug.xcconfig + path + ../../buck-out/gen/submodules/ShareItems/ShareItems-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B77AA9BE00000000 + + isa + PBXFileReference + name + ShareItems-Profile.xcconfig + path + ../../buck-out/gen/submodules/ShareItems/ShareItems-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292B11552000000000 + + isa + PBXFileReference + name + ShareItems-Release.xcconfig + path + ../../buck-out/gen/submodules/ShareItems/ShareItems-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E295820975400000000 + 1DD70E29B77AA9BE00000000 + 1DD70E292B11552000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29313E7AE000000000 + + isa + PBXFileReference + name + libPdf.a + path + libPdf.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29C6E517A300000000 + 1DD70E2968BAC05A00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29313E7AE000000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E2949B1D3F900000000 + + isa + PBXFileReference + name + libShareItems.a + path + libShareItems.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2949B1D3F900000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2970BC8D2600000000 + + isa + PBXFileReference + name + ShareItems.swift + path + Sources/ShareItems.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E2367BF600000000 + + isa + PBXFileReference + name + TGContactModel.h + path + Sources/TGContactModel.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E2367BFB00000000 + + isa + PBXFileReference + name + TGContactModel.m + path + Sources/TGContactModel.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29D88B678E00000000 + + isa + PBXFileReference + name + TGItemProviderSignals.h + path + Sources/TGItemProviderSignals.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D88B679300000000 + + isa + PBXFileReference + name + TGItemProviderSignals.m + path + Sources/TGItemProviderSignals.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2976741A0400000000 + + isa + PBXFileReference + name + TGShareLocationSignals.h + path + Sources/TGShareLocationSignals.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2976741A0900000000 + + isa + PBXFileReference + name + TGShareLocationSignals.m + path + Sources/TGShareLocationSignals.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2970BC8D2600000000 + 1DD70E29E2367BF600000000 + 1DD70E29E2367BFB00000000 + 1DD70E29D88B678E00000000 + 1DD70E29D88B679300000000 + 1DD70E2976741A0400000000 + 1DD70E2976741A0900000000 + + + B401C9790B09974100000000 + + isa + PBXGroup + name + ShareItems + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9790B09974100000000 + + + E7A30F0470BC8D2600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2970BC8D2600000000 + + E7A30F04E2367BFB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E2367BFB00000000 + + E7A30F04D88B679300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D88B679300000000 + + E7A30F0476741A0900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2976741A0900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0470BC8D2600000000 + E7A30F04E2367BFB00000000 + E7A30F04D88B679300000000 + E7A30F0476741A0900000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F0468BAC05A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968BAC05A00000000 + + E7A30F04313E7AE000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29313E7AE000000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04C6E517A300000000 + E7A30F0468BAC05A00000000 + E7A30F04313E7AE000000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E295820975400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29B77AA9BE00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E292B11552000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E0B09974100000000 + + isa + PBXNativeTarget + name + ShareItems + productName + ShareItems + productReference + 1DD70E2949B1D3F900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847930B09974100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E0B09974100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847930B09974100000000 + + \ No newline at end of file diff --git a/submodules/ShareItems/ShareItems.xcodeproj/xcshareddata/xcschemes/ShareItems.xcscheme b/submodules/ShareItems/ShareItems.xcodeproj/xcshareddata/xcschemes/ShareItems.xcscheme new file mode 100644 index 0000000000..38f8203646 --- /dev/null +++ b/submodules/ShareItems/ShareItems.xcodeproj/xcshareddata/xcschemes/ShareItems.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/ShareItems/Sources/TGItemProviderSignals.h b/submodules/ShareItems/Sources/TGItemProviderSignals.h index 1427dc9119..0206e6cb76 100644 --- a/submodules/ShareItems/Sources/TGItemProviderSignals.h +++ b/submodules/ShareItems/Sources/TGItemProviderSignals.h @@ -1,8 +1,6 @@ -#ifdef BUCK -#import -#else -#import -#endif +#import + +@class MTSignal; @interface TGItemProviderSignals : NSObject diff --git a/submodules/ShareItems/Sources/TGItemProviderSignals.m b/submodules/ShareItems/Sources/TGItemProviderSignals.m index 32e9e543a3..cc4280fed6 100644 --- a/submodules/ShareItems/Sources/TGItemProviderSignals.m +++ b/submodules/ShareItems/Sources/TGItemProviderSignals.m @@ -1,5 +1,11 @@ #import "TGItemProviderSignals.h" +#ifdef BUCK +#import +#else +#import +#endif + #import #import #import diff --git a/submodules/ShareItems/Sources/TGShareLocationSignals.h b/submodules/ShareItems/Sources/TGShareLocationSignals.h index 77c9997dda..ba59c41955 100644 --- a/submodules/ShareItems/Sources/TGShareLocationSignals.h +++ b/submodules/ShareItems/Sources/TGShareLocationSignals.h @@ -1,8 +1,6 @@ -#ifdef BUCK -#import -#else -#import -#endif +#import + +@class MTSignal; @interface TGShareLocationResult : NSObject diff --git a/submodules/ShareItems/Sources/TGShareLocationSignals.m b/submodules/ShareItems/Sources/TGShareLocationSignals.m index 0dbe232c86..423536ab91 100644 --- a/submodules/ShareItems/Sources/TGShareLocationSignals.m +++ b/submodules/ShareItems/Sources/TGShareLocationSignals.m @@ -1,5 +1,11 @@ #import "TGShareLocationSignals.h" +#ifdef BUCK +#import +#else +#import +#endif + NSString *const TGShareAppleMapsHost = @"maps.apple.com"; NSString *const TGShareAppleMapsPath = @"/maps"; NSString *const TGShareAppleMapsLatLonKey = @"ll"; diff --git a/submodules/SinglePhoneInputNode/BUCK b/submodules/SinglePhoneInputNode/BUCK new file mode 100644 index 0000000000..3476160e86 --- /dev/null +++ b/submodules/SinglePhoneInputNode/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SinglePhoneInputNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SinglePhoneInputNode/SinglePhoneInputNode.xcodeproj/project.pbxproj b/submodules/SinglePhoneInputNode/SinglePhoneInputNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..70fb8034d9 --- /dev/null +++ b/submodules/SinglePhoneInputNode/SinglePhoneInputNode.xcodeproj/project.pbxproj @@ -0,0 +1,599 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29452B6E4F00000000 + + isa + PBXFileReference + name + SinglePhoneInputNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/SinglePhoneInputNode/SinglePhoneInputNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E298D2BADF900000000 + + isa + PBXFileReference + name + SinglePhoneInputNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/SinglePhoneInputNode/SinglePhoneInputNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2900C2595B00000000 + + isa + PBXFileReference + name + SinglePhoneInputNode-Release.xcconfig + path + ../../buck-out/gen/submodules/SinglePhoneInputNode/SinglePhoneInputNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29452B6E4F00000000 + 1DD70E298D2BADF900000000 + 1DD70E2900C2595B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + + + 1DD70E29135DFEDE00000000 + + isa + PBXFileReference + name + libSinglePhoneInputNode.a + path + libSinglePhoneInputNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29135DFEDE00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E290123DFCB00000000 + + isa + PBXFileReference + name + SinglePhoneInputNode.swift + path + Sources/SinglePhoneInputNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E290123DFCB00000000 + + + B401C979057909A600000000 + + isa + PBXGroup + name + SinglePhoneInputNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979057909A600000000 + + + E7A30F040123DFCB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290123DFCB00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F040123DFCB00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04119CDA0700000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29452B6E4F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E298D2BADF900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2900C2595B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E057909A600000000 + + isa + PBXNativeTarget + name + SinglePhoneInputNode + productName + SinglePhoneInputNode + productReference + 1DD70E29135DFEDE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793057909A600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E057909A600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793057909A600000000 + + \ No newline at end of file diff --git a/submodules/SinglePhoneInputNode/SinglePhoneInputNode.xcodeproj/xcshareddata/xcschemes/SinglePhoneInputNode.xcscheme b/submodules/SinglePhoneInputNode/SinglePhoneInputNode.xcodeproj/xcshareddata/xcschemes/SinglePhoneInputNode.xcscheme new file mode 100644 index 0000000000..613689e866 --- /dev/null +++ b/submodules/SinglePhoneInputNode/SinglePhoneInputNode.xcodeproj/xcshareddata/xcschemes/SinglePhoneInputNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SolidRoundedButtonNode/BUCK b/submodules/SolidRoundedButtonNode/BUCK new file mode 100644 index 0000000000..4dc8eed041 --- /dev/null +++ b/submodules/SolidRoundedButtonNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SolidRoundedButtonNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode.xcodeproj/project.pbxproj b/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..868ea5c409 --- /dev/null +++ b/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E296A462E5F00000000 + + isa + PBXFileReference + name + SolidRoundedButtonNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D696AA0900000000 + + isa + PBXFileReference + name + SolidRoundedButtonNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294A2D556B00000000 + + isa + PBXFileReference + name + SolidRoundedButtonNode-Release.xcconfig + path + ../../buck-out/gen/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E296A462E5F00000000 + 1DD70E29D696AA0900000000 + 1DD70E294A2D556B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29524F478E00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299ABDCDBB00000000 + + isa + PBXFileReference + name + SolidRoundedButtonNode.swift + path + Sources/SolidRoundedButtonNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299ABDCDBB00000000 + + + B401C9799CD82B9600000000 + + isa + PBXGroup + name + SolidRoundedButtonNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9799CD82B9600000000 + + + E7A30F049ABDCDBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299ABDCDBB00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049ABDCDBB00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E296A462E5F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D696AA0900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294A2D556B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E9CD82B9600000000 + + isa + PBXNativeTarget + name + SolidRoundedButtonNode + productName + SolidRoundedButtonNode + productReference + 1DD70E29524F478E00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847939CD82B9600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E9CD82B9600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847939CD82B9600000000 + + \ No newline at end of file diff --git a/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode.xcodeproj/xcshareddata/xcschemes/SolidRoundedButtonNode.xcscheme b/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode.xcodeproj/xcshareddata/xcschemes/SolidRoundedButtonNode.xcscheme new file mode 100644 index 0000000000..79593186a5 --- /dev/null +++ b/submodules/SolidRoundedButtonNode/SolidRoundedButtonNode.xcodeproj/xcshareddata/xcschemes/SolidRoundedButtonNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/StickerPackPreviewUI/BUCK b/submodules/StickerPackPreviewUI/BUCK new file mode 100644 index 0000000000..a74f7bdfdb --- /dev/null +++ b/submodules/StickerPackPreviewUI/BUCK @@ -0,0 +1,29 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "StickerPackPreviewUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/ShareController:ShareController", + "//submodules/StickerResources:StickerResources", + "//submodules/AlertUI:AlertUI", + "//submodules/TextFormat:TextFormat", + "//submodules/MergeLists:MergeLists", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/AnimationUI:AnimationUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/StickerPackPreviewUI/StickerPackPreviewUI.xcodeproj/project.pbxproj b/submodules/StickerPackPreviewUI/StickerPackPreviewUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..11ac8c47d4 --- /dev/null +++ b/submodules/StickerPackPreviewUI/StickerPackPreviewUI.xcodeproj/project.pbxproj @@ -0,0 +1,1249 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E299CB4FBCF00000000 + + isa + PBXFileReference + name + StickerPackPreviewUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/StickerPackPreviewUI/StickerPackPreviewUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292887DB7900000000 + + isa + PBXFileReference + name + StickerPackPreviewUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/StickerPackPreviewUI/StickerPackPreviewUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299C1E86DB00000000 + + isa + PBXFileReference + name + StickerPackPreviewUI-Release.xcconfig + path + ../../buck-out/gen/submodules/StickerPackPreviewUI/StickerPackPreviewUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E299CB4FBCF00000000 + 1DD70E292887DB7900000000 + 1DD70E299C1E86DB00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F523B9DE00000000 + + isa + PBXFileReference + name + libAlertUI.a + path + libAlertUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E29F523B9DE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E297AB043C800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29AC43662400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + + + 1DD70E2907DC815E00000000 + + isa + PBXFileReference + name + libStickerPackPreviewUI.a + path + libStickerPackPreviewUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2907DC815E00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E297D8EA77300000000 + + isa + PBXFileReference + name + StickerPackPreviewController.swift + path + Sources/StickerPackPreviewController.swift + sourceTree + SOURCE_ROOT + + 1DD70E298D9F111500000000 + + isa + PBXFileReference + name + StickerPackPreviewControllerNode.swift + path + Sources/StickerPackPreviewControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293931761000000000 + + isa + PBXFileReference + name + StickerPackPreviewGridItem.swift + path + Sources/StickerPackPreviewGridItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D8C3474C00000000 + + isa + PBXFileReference + name + StickerPreviewController.swift + path + Sources/StickerPreviewController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FB5E1C6E00000000 + + isa + PBXFileReference + name + StickerPreviewControllerNode.swift + path + Sources/StickerPreviewControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D2964E1800000000 + + isa + PBXFileReference + name + StickerPreviewPeekContent.swift + path + Sources/StickerPreviewPeekContent.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E297D8EA77300000000 + 1DD70E298D9F111500000000 + 1DD70E293931761000000000 + 1DD70E29D8C3474C00000000 + 1DD70E29FB5E1C6E00000000 + 1DD70E29D2964E1800000000 + + + B401C979D4B62C2600000000 + + isa + PBXGroup + name + StickerPackPreviewUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979D4B62C2600000000 + + + E7A30F047D8EA77300000000 + + isa + PBXBuildFile + fileRef + 1DD70E297D8EA77300000000 + + E7A30F048D9F111500000000 + + isa + PBXBuildFile + fileRef + 1DD70E298D9F111500000000 + + E7A30F043931761000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293931761000000000 + + E7A30F04D8C3474C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D8C3474C00000000 + + E7A30F04FB5E1C6E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FB5E1C6E00000000 + + E7A30F04D2964E1800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D2964E1800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F047D8EA77300000000 + E7A30F048D9F111500000000 + E7A30F043931761000000000 + E7A30F04D8C3474C00000000 + E7A30F04FB5E1C6E00000000 + E7A30F04D2964E1800000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04F523B9DE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F523B9DE00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04BF0846EE00000000 + E7A30F04F523B9DE00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04C37F741500000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04AC43662400000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F04597BAFBB00000000 + E7A30F0481AE180900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E299CB4FBCF00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E292887DB7900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E299C1E86DB00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ED4B62C2600000000 + + isa + PBXNativeTarget + name + StickerPackPreviewUI + productName + StickerPackPreviewUI + productReference + 1DD70E2907DC815E00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793D4B62C2600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ED4B62C2600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793D4B62C2600000000 + + \ No newline at end of file diff --git a/submodules/StickerPackPreviewUI/StickerPackPreviewUI.xcodeproj/xcshareddata/xcschemes/StickerPackPreviewUI.xcscheme b/submodules/StickerPackPreviewUI/StickerPackPreviewUI.xcodeproj/xcshareddata/xcschemes/StickerPackPreviewUI.xcscheme new file mode 100644 index 0000000000..a8d0f8b8c2 --- /dev/null +++ b/submodules/StickerPackPreviewUI/StickerPackPreviewUI.xcodeproj/xcshareddata/xcschemes/StickerPackPreviewUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/StickerResources/BUCK b/submodules/StickerResources/BUCK new file mode 100644 index 0000000000..8ec4b5ce08 --- /dev/null +++ b/submodules/StickerResources/BUCK @@ -0,0 +1,23 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "StickerResources", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + "//submodules/ImageBlur:ImageBlur", + "//submodules/Tuples:Tuples", + "//submodules/MediaResources:MediaResources", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/WebP:WebPImage", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/StickerResources/StickerResources.xcodeproj/project.pbxproj b/submodules/StickerResources/StickerResources.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..9e87b55ae0 --- /dev/null +++ b/submodules/StickerResources/StickerResources.xcodeproj/project.pbxproj @@ -0,0 +1,533 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29DD17CA2D00000000 + + isa + PBXFileReference + name + StickerResources-Debug.xcconfig + path + ../../buck-out/gen/submodules/StickerResources/StickerResources-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DB708A5700000000 + + isa + PBXFileReference + name + StickerResources-Profile.xcconfig + path + ../../buck-out/gen/submodules/StickerResources/StickerResources-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294F0735B900000000 + + isa + PBXFileReference + name + StickerResources-Release.xcconfig + path + ../../buck-out/gen/submodules/StickerResources/StickerResources-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29DD17CA2D00000000 + 1DD70E29DB708A5700000000 + 1DD70E294F0735B900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E292395015100000000 + 1DD70E29CD296A8300000000 + + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E293594DCC000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EB8D122D00000000 + + isa + PBXFileReference + name + StickerResources.swift + path + Sources/StickerResources.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EB8D122D00000000 + + + B401C97979C82D8800000000 + + isa + PBXGroup + name + StickerResources + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97979C82D8800000000 + + + E7A30F04EB8D122D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EB8D122D00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EB8D122D00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D6F14E1000000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F04CD296A8300000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29DD17CA2D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29DB708A5700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294F0735B900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E79C82D8800000000 + + isa + PBXNativeTarget + name + StickerResources + productName + StickerResources + productReference + 1DD70E293594DCC000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479379C82D8800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E79C82D8800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479379C82D8800000000 + + \ No newline at end of file diff --git a/submodules/StickerResources/StickerResources.xcodeproj/xcshareddata/xcschemes/StickerResources.xcscheme b/submodules/StickerResources/StickerResources.xcodeproj/xcshareddata/xcschemes/StickerResources.xcscheme new file mode 100644 index 0000000000..f1af54932a --- /dev/null +++ b/submodules/StickerResources/StickerResources.xcodeproj/xcshareddata/xcschemes/StickerResources.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Stripe/BUCK b/submodules/Stripe/BUCK new file mode 100644 index 0000000000..1d88f6909f --- /dev/null +++ b/submodules/Stripe/BUCK @@ -0,0 +1,41 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Stripe", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/Stripe.h"]), + exported_headers = [ + "Sources/STPAddress.h", + "Sources/STPPaymentCardTextField.h", + "Sources/STPAPIClient.h", + "Sources/STPAPIClient+ApplePay.h", + "Sources/STPAPIResponseDecodable.h", + "Sources/STPPaymentConfiguration.h", + "Sources/STPCard.h", + "Sources/STPCardBrand.h", + "Sources/STPCardParams.h", + "Sources/STPToken.h", + "Sources/STPBankAccount.h", + "Sources/STPBankAccountParams.h", + "Sources/STPBINRange.h", + "Sources/STPCardValidator.h", + "Sources/STPCardValidationState.h", + "Sources/STPCustomer.h", + "Sources/STPFormEncodable.h", + "Sources/STPPaymentMethod.h", + "Sources/STPPhoneNumberValidator.h", + "Sources/STPPostalCodeValidator.h", + "Sources/STPSource.h", + "Sources/STPBlocks.h", + "Sources/StripeError.h", + "Sources/STPBackendAPIAdapter.h", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/Stripe/Stripe.xcodeproj/project.pbxproj b/submodules/Stripe/Stripe.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..10d65d6777 --- /dev/null +++ b/submodules/Stripe/Stripe.xcodeproj/project.pbxproj @@ -0,0 +1,1447 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E292FE164A800000000 + + isa + PBXFileReference + name + Stripe-Debug.xcconfig + path + ../../buck-out/gen/submodules/Stripe/Stripe-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A23D721200000000 + + isa + PBXFileReference + name + Stripe-Profile.xcconfig + path + ../../buck-out/gen/submodules/Stripe/Stripe-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2915D41D7400000000 + + isa + PBXFileReference + name + Stripe-Release.xcconfig + path + ../../buck-out/gen/submodules/Stripe/Stripe-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E292FE164A800000000 + 1DD70E29A23D721200000000 + 1DD70E2915D41D7400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E2933A638A500000000 + + isa + PBXFileReference + name + libStripe.a + path + libStripe.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2933A638A500000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29E49F7E7700000000 + + isa + PBXFileReference + name + NSDictionary+Stripe.h + path + Sources/NSDictionary+Stripe.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E49F7E7C00000000 + + isa + PBXFileReference + name + NSDictionary+Stripe.m + path + Sources/NSDictionary+Stripe.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29290DFEDC00000000 + + isa + PBXFileReference + name + NSString+Stripe.h + path + Sources/NSString+Stripe.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29290DFEE100000000 + + isa + PBXFileReference + name + NSString+Stripe.m + path + Sources/NSString+Stripe.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2926677BD300000000 + + isa + PBXFileReference + name + NSString+Stripe_CardBrands.h + path + Sources/NSString+Stripe_CardBrands.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2926677BD800000000 + + isa + PBXFileReference + name + NSString+Stripe_CardBrands.m + path + Sources/NSString+Stripe_CardBrands.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29F3AB3D2700000000 + + isa + PBXFileReference + name + PKPayment+Stripe.h + path + Sources/PKPayment+Stripe.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29F3AB3D2C00000000 + + isa + PBXFileReference + name + PKPayment+Stripe.m + path + Sources/PKPayment+Stripe.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29D68F4CFD00000000 + + isa + PBXFileReference + name + STPAPIClient+ApplePay.h + path + Sources/STPAPIClient+ApplePay.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D68F4D0200000000 + + isa + PBXFileReference + name + STPAPIClient+ApplePay.m + path + Sources/STPAPIClient+ApplePay.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295F1C048800000000 + + isa + PBXFileReference + name + STPAPIClient+Private.h + path + Sources/STPAPIClient+Private.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298BF229B000000000 + + isa + PBXFileReference + name + STPAPIClient.h + path + Sources/STPAPIClient.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298BF229B500000000 + + isa + PBXFileReference + name + STPAPIClient.m + path + Sources/STPAPIClient.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2939D5483E00000000 + + isa + PBXFileReference + name + STPAPIPostRequest.h + path + Sources/STPAPIPostRequest.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2939D5484300000000 + + isa + PBXFileReference + name + STPAPIPostRequest.m + path + Sources/STPAPIPostRequest.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2910157A5F00000000 + + isa + PBXFileReference + name + STPAPIResponseDecodable.h + path + Sources/STPAPIResponseDecodable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295C29339F00000000 + + isa + PBXFileReference + name + STPAddress.h + path + Sources/STPAddress.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295C2933A400000000 + + isa + PBXFileReference + name + STPAddress.m + path + Sources/STPAddress.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29E8CF345F00000000 + + isa + PBXFileReference + name + STPBINRange.h + path + Sources/STPBINRange.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E8CF346400000000 + + isa + PBXFileReference + name + STPBINRange.m + path + Sources/STPBINRange.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29F7CEEAB400000000 + + isa + PBXFileReference + name + STPBackendAPIAdapter.h + path + Sources/STPBackendAPIAdapter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BB33143C00000000 + + isa + PBXFileReference + name + STPBankAccount.h + path + Sources/STPBankAccount.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BB33144100000000 + + isa + PBXFileReference + name + STPBankAccount.m + path + Sources/STPBankAccount.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CD38EEE200000000 + + isa + PBXFileReference + name + STPBankAccountParams.h + path + Sources/STPBankAccountParams.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CD38EEE700000000 + + isa + PBXFileReference + name + STPBankAccountParams.m + path + Sources/STPBankAccountParams.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299FDFB12F00000000 + + isa + PBXFileReference + name + STPBlocks.h + path + Sources/STPBlocks.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2927E623F900000000 + + isa + PBXFileReference + name + STPCard.h + path + Sources/STPCard.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2927E623FE00000000 + + isa + PBXFileReference + name + STPCard.m + path + Sources/STPCard.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2972F5ED0200000000 + + isa + PBXFileReference + name + STPCardBrand.h + path + Sources/STPCardBrand.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29331E7CDF00000000 + + isa + PBXFileReference + name + STPCardParams.h + path + Sources/STPCardParams.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29331E7CE400000000 + + isa + PBXFileReference + name + STPCardParams.m + path + Sources/STPCardParams.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E294176F39300000000 + + isa + PBXFileReference + name + STPCardValidationState.h + path + Sources/STPCardValidationState.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2914C05D8D00000000 + + isa + PBXFileReference + name + STPCardValidator.h + path + Sources/STPCardValidator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2914C05D9200000000 + + isa + PBXFileReference + name + STPCardValidator.m + path + Sources/STPCardValidator.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E297AD01DC700000000 + + isa + PBXFileReference + name + STPCustomer.h + path + Sources/STPCustomer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E297AD01DCC00000000 + + isa + PBXFileReference + name + STPCustomer.m + path + Sources/STPCustomer.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2947448D9400000000 + + isa + PBXFileReference + name + STPDelegateProxy.h + path + Sources/STPDelegateProxy.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2947448D9900000000 + + isa + PBXFileReference + name + STPDelegateProxy.m + path + Sources/STPDelegateProxy.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2900351B6C00000000 + + isa + PBXFileReference + name + STPDispatchFunctions.h + path + Sources/STPDispatchFunctions.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2900351B7100000000 + + isa + PBXFileReference + name + STPDispatchFunctions.m + path + Sources/STPDispatchFunctions.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E297E1D445000000000 + + isa + PBXFileReference + name + STPFormEncodable.h + path + Sources/STPFormEncodable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E6E1E300000000 + + isa + PBXFileReference + name + STPFormEncoder.h + path + Sources/STPFormEncoder.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E6E1E800000000 + + isa + PBXFileReference + name + STPFormEncoder.m + path + Sources/STPFormEncoder.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29ACC7D51400000000 + + isa + PBXFileReference + name + STPFormTextField.h + path + Sources/STPFormTextField.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29ACC7D51900000000 + + isa + PBXFileReference + name + STPFormTextField.m + path + Sources/STPFormTextField.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2946902EA100000000 + + isa + PBXFileReference + name + STPImageLibrary+Private.h + path + Sources/STPImageLibrary+Private.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2910BA7CC900000000 + + isa + PBXFileReference + name + STPImageLibrary.h + path + Sources/STPImageLibrary.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2910BA7CCE00000000 + + isa + PBXFileReference + name + STPImageLibrary.m + path + Sources/STPImageLibrary.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2954506B6000000000 + + isa + PBXFileReference + name + STPPaymentCardTextField.h + path + Sources/STPPaymentCardTextField.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2954506B6500000000 + + isa + PBXFileReference + name + STPPaymentCardTextField.m + path + Sources/STPPaymentCardTextField.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29808DD9B800000000 + + isa + PBXFileReference + name + STPPaymentCardTextFieldViewModel.h + path + Sources/STPPaymentCardTextFieldViewModel.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29808DD9BD00000000 + + isa + PBXFileReference + name + STPPaymentCardTextFieldViewModel.m + path + Sources/STPPaymentCardTextFieldViewModel.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29B49DF95100000000 + + isa + PBXFileReference + name + STPPaymentConfiguration+Private.h + path + Sources/STPPaymentConfiguration+Private.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293DD5F77900000000 + + isa + PBXFileReference + name + STPPaymentConfiguration.h + path + Sources/STPPaymentConfiguration.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293DD5F77E00000000 + + isa + PBXFileReference + name + STPPaymentConfiguration.m + path + Sources/STPPaymentConfiguration.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E292B0588B200000000 + + isa + PBXFileReference + name + STPPaymentMethod.h + path + Sources/STPPaymentMethod.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293E04CEE400000000 + + isa + PBXFileReference + name + STPPhoneNumberValidator.h + path + Sources/STPPhoneNumberValidator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293E04CEE900000000 + + isa + PBXFileReference + name + STPPhoneNumberValidator.m + path + Sources/STPPhoneNumberValidator.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295FDFE18500000000 + + isa + PBXFileReference + name + STPPostalCodeValidator.h + path + Sources/STPPostalCodeValidator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295FDFE18A00000000 + + isa + PBXFileReference + name + STPPostalCodeValidator.m + path + Sources/STPPostalCodeValidator.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E292F92FA8400000000 + + isa + PBXFileReference + name + STPSource.h + path + Sources/STPSource.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296FAADCA400000000 + + isa + PBXFileReference + name + STPToken.h + path + Sources/STPToken.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296FAADCA900000000 + + isa + PBXFileReference + name + STPToken.m + path + Sources/STPToken.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29E6887C1F00000000 + + isa + PBXFileReference + name + STPWeakStrongMacros.h + path + Sources/STPWeakStrongMacros.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2935C95CD500000000 + + isa + PBXFileReference + name + StripeError.h + path + Sources/StripeError.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2935C95CDA00000000 + + isa + PBXFileReference + name + StripeError.m + path + Sources/StripeError.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29E49F7E7700000000 + 1DD70E29E49F7E7C00000000 + 1DD70E29290DFEDC00000000 + 1DD70E29290DFEE100000000 + 1DD70E2926677BD300000000 + 1DD70E2926677BD800000000 + 1DD70E29F3AB3D2700000000 + 1DD70E29F3AB3D2C00000000 + 1DD70E29D68F4CFD00000000 + 1DD70E29D68F4D0200000000 + 1DD70E295F1C048800000000 + 1DD70E298BF229B000000000 + 1DD70E298BF229B500000000 + 1DD70E2939D5483E00000000 + 1DD70E2939D5484300000000 + 1DD70E2910157A5F00000000 + 1DD70E295C29339F00000000 + 1DD70E295C2933A400000000 + 1DD70E29E8CF345F00000000 + 1DD70E29E8CF346400000000 + 1DD70E29F7CEEAB400000000 + 1DD70E29BB33143C00000000 + 1DD70E29BB33144100000000 + 1DD70E29CD38EEE200000000 + 1DD70E29CD38EEE700000000 + 1DD70E299FDFB12F00000000 + 1DD70E2927E623F900000000 + 1DD70E2927E623FE00000000 + 1DD70E2972F5ED0200000000 + 1DD70E29331E7CDF00000000 + 1DD70E29331E7CE400000000 + 1DD70E294176F39300000000 + 1DD70E2914C05D8D00000000 + 1DD70E2914C05D9200000000 + 1DD70E297AD01DC700000000 + 1DD70E297AD01DCC00000000 + 1DD70E2947448D9400000000 + 1DD70E2947448D9900000000 + 1DD70E2900351B6C00000000 + 1DD70E2900351B7100000000 + 1DD70E297E1D445000000000 + 1DD70E29E3E6E1E300000000 + 1DD70E29E3E6E1E800000000 + 1DD70E29ACC7D51400000000 + 1DD70E29ACC7D51900000000 + 1DD70E2946902EA100000000 + 1DD70E2910BA7CC900000000 + 1DD70E2910BA7CCE00000000 + 1DD70E2954506B6000000000 + 1DD70E2954506B6500000000 + 1DD70E29808DD9B800000000 + 1DD70E29808DD9BD00000000 + 1DD70E29B49DF95100000000 + 1DD70E293DD5F77900000000 + 1DD70E293DD5F77E00000000 + 1DD70E292B0588B200000000 + 1DD70E293E04CEE400000000 + 1DD70E293E04CEE900000000 + 1DD70E295FDFE18500000000 + 1DD70E295FDFE18A00000000 + 1DD70E292F92FA8400000000 + 1DD70E296FAADCA400000000 + 1DD70E296FAADCA900000000 + 1DD70E29E6887C1F00000000 + 1DD70E2935C95CD500000000 + 1DD70E2935C95CDA00000000 + + + B401C979943A4C6D00000000 + + isa + PBXGroup + name + Stripe + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979943A4C6D00000000 + + + E7A30F04E49F7E7C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E49F7E7C00000000 + + E7A30F04290DFEE100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29290DFEE100000000 + + E7A30F0426677BD800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2926677BD800000000 + + E7A30F04F3AB3D2C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F3AB3D2C00000000 + + E7A30F04D68F4D0200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D68F4D0200000000 + + E7A30F048BF229B500000000 + + isa + PBXBuildFile + fileRef + 1DD70E298BF229B500000000 + + E7A30F0439D5484300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2939D5484300000000 + + E7A30F045C2933A400000000 + + isa + PBXBuildFile + fileRef + 1DD70E295C2933A400000000 + + E7A30F04E8CF346400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E8CF346400000000 + + E7A30F04BB33144100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BB33144100000000 + + E7A30F04CD38EEE700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD38EEE700000000 + + E7A30F0427E623FE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2927E623FE00000000 + + E7A30F04331E7CE400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29331E7CE400000000 + + E7A30F0414C05D9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914C05D9200000000 + + E7A30F047AD01DCC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AD01DCC00000000 + + E7A30F0447448D9900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2947448D9900000000 + + E7A30F0400351B7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2900351B7100000000 + + E7A30F04E3E6E1E800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3E6E1E800000000 + + E7A30F04ACC7D51900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29ACC7D51900000000 + + E7A30F0410BA7CCE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2910BA7CCE00000000 + + E7A30F0454506B6500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2954506B6500000000 + + E7A30F04808DD9BD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29808DD9BD00000000 + + E7A30F043DD5F77E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293DD5F77E00000000 + + E7A30F043E04CEE900000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E04CEE900000000 + + E7A30F045FDFE18A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295FDFE18A00000000 + + E7A30F046FAADCA900000000 + + isa + PBXBuildFile + fileRef + 1DD70E296FAADCA900000000 + + E7A30F0435C95CDA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2935C95CDA00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04E49F7E7C00000000 + E7A30F04290DFEE100000000 + E7A30F0426677BD800000000 + E7A30F04F3AB3D2C00000000 + E7A30F04D68F4D0200000000 + E7A30F048BF229B500000000 + E7A30F0439D5484300000000 + E7A30F045C2933A400000000 + E7A30F04E8CF346400000000 + E7A30F04BB33144100000000 + E7A30F04CD38EEE700000000 + E7A30F0427E623FE00000000 + E7A30F04331E7CE400000000 + E7A30F0414C05D9200000000 + E7A30F047AD01DCC00000000 + E7A30F0447448D9900000000 + E7A30F0400351B7100000000 + E7A30F04E3E6E1E800000000 + E7A30F04ACC7D51900000000 + E7A30F0410BA7CCE00000000 + E7A30F0454506B6500000000 + E7A30F04808DD9BD00000000 + E7A30F043DD5F77E00000000 + E7A30F043E04CEE900000000 + E7A30F045FDFE18A00000000 + E7A30F046FAADCA900000000 + E7A30F0435C95CDA00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E292FE164A800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29A23D721200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2915D41D7400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E943A4C6D00000000 + + isa + PBXNativeTarget + name + Stripe + productName + Stripe + productReference + 1DD70E2933A638A500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793943A4C6D00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E943A4C6D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793943A4C6D00000000 + + \ No newline at end of file diff --git a/submodules/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/Stripe.xcscheme b/submodules/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/Stripe.xcscheme new file mode 100644 index 0000000000..a49615a3c4 --- /dev/null +++ b/submodules/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/Stripe.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SwipeToDismissGesture/BUCK b/submodules/SwipeToDismissGesture/BUCK new file mode 100644 index 0000000000..301beb14e2 --- /dev/null +++ b/submodules/SwipeToDismissGesture/BUCK @@ -0,0 +1,12 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SwipeToDismissGesture", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SwipeToDismissGesture/SwipeToDismissGesture.xcodeproj/project.pbxproj b/submodules/SwipeToDismissGesture/SwipeToDismissGesture.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b2d397501f --- /dev/null +++ b/submodules/SwipeToDismissGesture/SwipeToDismissGesture.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29783C584100000000 + + isa + PBXFileReference + name + SwipeToDismissGesture-Debug.xcconfig + path + ../../buck-out/gen/submodules/SwipeToDismissGesture/SwipeToDismissGesture-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293FA9E36B00000000 + + isa + PBXFileReference + name + SwipeToDismissGesture-Profile.xcconfig + path + ../../buck-out/gen/submodules/SwipeToDismissGesture/SwipeToDismissGesture-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B3408ECD00000000 + + isa + PBXFileReference + name + SwipeToDismissGesture-Release.xcconfig + path + ../../buck-out/gen/submodules/SwipeToDismissGesture/SwipeToDismissGesture-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29783C584100000000 + 1DD70E293FA9E36B00000000 + 1DD70E29B3408ECD00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296A346AC200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29AE3AFF5D00000000 + + isa + PBXFileReference + name + SwipeToDismissGestureRecognizer.swift + path + Sources/SwipeToDismissGestureRecognizer.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29AE3AFF5D00000000 + + + B401C9796C23B9F400000000 + + isa + PBXGroup + name + SwipeToDismissGesture + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C9796C23B9F400000000 + + + E7A30F04AE3AFF5D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE3AFF5D00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04AE3AFF5D00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29783C584100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293FA9E36B00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B3408ECD00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E6C23B9F400000000 + + isa + PBXNativeTarget + name + SwipeToDismissGesture + productName + SwipeToDismissGesture + productReference + 1DD70E296A346AC200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847936C23B9F400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E6C23B9F400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847936C23B9F400000000 + + \ No newline at end of file diff --git a/submodules/SwipeToDismissGesture/SwipeToDismissGesture.xcodeproj/xcshareddata/xcschemes/SwipeToDismissGesture.xcscheme b/submodules/SwipeToDismissGesture/SwipeToDismissGesture.xcodeproj/xcshareddata/xcschemes/SwipeToDismissGesture.xcscheme new file mode 100644 index 0000000000..e9b82cbc69 --- /dev/null +++ b/submodules/SwipeToDismissGesture/SwipeToDismissGesture.xcodeproj/xcshareddata/xcschemes/SwipeToDismissGesture.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/SwitchNode/BUCK b/submodules/SwitchNode/BUCK new file mode 100644 index 0000000000..b23f2eee34 --- /dev/null +++ b/submodules/SwitchNode/BUCK @@ -0,0 +1,24 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "SwitchNode", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/TelegramPresentationData.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/TelegramPresentationData.h"]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/LegacyComponents:LegacyComponents", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/SwitchNode/SwitchNode.xcodeproj/project.pbxproj b/submodules/SwitchNode/SwitchNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..eb3560d0b1 --- /dev/null +++ b/submodules/SwitchNode/SwitchNode.xcodeproj/project.pbxproj @@ -0,0 +1,393 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2968ACA27F00000000 + + isa + PBXFileReference + name + SwitchNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/SwitchNode/SwitchNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D530962900000000 + + isa + PBXFileReference + name + SwitchNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/SwitchNode/SwitchNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2948C7418B00000000 + + isa + PBXFileReference + name + SwitchNode-Release.xcconfig + path + ../../buck-out/gen/submodules/SwitchNode/SwitchNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2968ACA27F00000000 + 1DD70E29D530962900000000 + 1DD70E2948C7418B00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2925BBFEEE00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E290F66943400000000 + + isa + PBXFileReference + name + IconSwitchNode.swift + path + Sources/IconSwitchNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E294B0AFBF000000000 + + isa + PBXFileReference + name + SwitchNode.h + path + Sources/SwitchNode.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E290F66943400000000 + 1DD70E294B0AFBF000000000 + + + B401C979621BFB7600000000 + + isa + PBXGroup + name + SwitchNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979621BFB7600000000 + + + E7A30F040F66943400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F66943400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F040F66943400000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2968ACA27F00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D530962900000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2948C7418B00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E621BFB7600000000 + + isa + PBXNativeTarget + name + SwitchNode + productName + SwitchNode + productReference + 1DD70E2925BBFEEE00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793621BFB7600000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E621BFB7600000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793621BFB7600000000 + + \ No newline at end of file diff --git a/submodules/SwitchNode/SwitchNode.xcodeproj/xcshareddata/xcschemes/SwitchNode.xcscheme b/submodules/SwitchNode/SwitchNode.xcodeproj/xcshareddata/xcschemes/SwitchNode.xcscheme new file mode 100644 index 0000000000..99340a3804 --- /dev/null +++ b/submodules/SwitchNode/SwitchNode.xcodeproj/xcshareddata/xcschemes/SwitchNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramApi/BUCK b/submodules/TelegramApi/BUCK index 8b3f29bce6..443fad348e 100644 --- a/submodules/TelegramApi/BUCK +++ b/submodules/TelegramApi/BUCK @@ -1,20 +1,13 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library") -apple_library( - name = 'TelegramApi', +static_library( + name = "TelegramApi", srcs = glob([ - 'Sources/*.swift', + "Sources/**/*.swift", ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - swift_compiler_flags = [ - '-suppress-warnings', - '-application-extension', - ], - visibility = ['PUBLIC'], deps = [ ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", ], ) diff --git a/submodules/TelegramApi/Sources/Api0.swift b/submodules/TelegramApi/Sources/Api0.swift index 40df63d7b4..58354b3e1e 100644 --- a/submodules/TelegramApi/Sources/Api0.swift +++ b/submodules/TelegramApi/Sources/Api0.swift @@ -5,6 +5,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { dict[570911930] = { return $0.readInt64() } dict[571523412] = { return $0.readDouble() } dict[-1255641564] = { return parseString($0) } + dict[-475111160] = { return Api.MessageReactionsList.parse_messageReactionsList($0) } dict[-1240849242] = { return Api.messages.StickerSet.parse_stickerSet($0) } dict[-457104426] = { return Api.InputGeoPoint.parse_inputGeoPointEmpty($0) } dict[-206066487] = { return Api.InputGeoPoint.parse_inputGeoPoint($0) } @@ -240,6 +241,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { dict[967122427] = { return Api.Update.parse_updateNewScheduledMessage($0) } dict[-1870238482] = { return Api.Update.parse_updateDeleteScheduledMessages($0) } dict[-2112423005] = { return Api.Update.parse_updateTheme($0) } + dict[357013699] = { return Api.Update.parse_updateMessageReactions($0) } dict[1558266229] = { return Api.PopularContact.parse_popularContact($0) } dict[-373643672] = { return Api.FolderPeer.parse_folderPeer($0) } dict[367766557] = { return Api.ChannelParticipant.parse_channelParticipant($0) } @@ -281,6 +283,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { dict[1012306921] = { return Api.InputTheme.parse_inputTheme($0) } dict[-175567375] = { return Api.InputTheme.parse_inputThemeSlug($0) } dict[1158290442] = { return Api.messages.FoundGifs.parse_foundGifs($0) } + dict[-1199954735] = { return Api.MessageReactions.parse_messageReactions($0) } dict[-1132476723] = { return Api.FileLocation.parse_fileLocationToBeDeprecated($0) } dict[-716006138] = { return Api.Poll.parse_poll($0) } dict[423314455] = { return Api.InputNotifyPeer.parse_inputNotifyUsers($0) } @@ -558,7 +561,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { dict[-1820043071] = { return Api.User.parse_user($0) } dict[-2082087340] = { return Api.Message.parse_messageEmpty($0) } dict[-1642487306] = { return Api.Message.parse_messageService($0) } - dict[1160515173] = { return Api.Message.parse_message($0) } + dict[-1752573244] = { return Api.Message.parse_message($0) } dict[186120336] = { return Api.messages.RecentStickers.parse_recentStickersNotModified($0) } dict[586395571] = { return Api.messages.RecentStickers.parse_recentStickers($0) } dict[-182231723] = { return Api.InputFileLocation.parse_inputEncryptedFileLocation($0) } @@ -612,6 +615,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { dict[-1625153079] = { return Api.InputWebFileLocation.parse_inputWebFileGeoPointLocation($0) } dict[-332168592] = { return Api.MessageFwdHeader.parse_messageFwdHeader($0) } dict[398898678] = { return Api.help.Support.parse_support($0) } + dict[1873957073] = { return Api.ReactionCount.parse_reactionCount($0) } dict[1474492012] = { return Api.MessagesFilter.parse_inputMessagesFilterEmpty($0) } dict[-1777752804] = { return Api.MessagesFilter.parse_inputMessagesFilterPhotos($0) } dict[-1614803355] = { return Api.MessagesFilter.parse_inputMessagesFilterVideo($0) } @@ -638,6 +642,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { dict[-290921362] = { return Api.upload.CdnFile.parse_cdnFileReuploadNeeded($0) } dict[-1449145777] = { return Api.upload.CdnFile.parse_cdnFile($0) } dict[415997816] = { return Api.help.InviteText.parse_inviteText($0) } + dict[-764945220] = { return Api.MessageUserReaction.parse_messageUserReaction($0) } dict[-1937807902] = { return Api.BotInlineMessage.parse_botInlineMessageText($0) } dict[982505656] = { return Api.BotInlineMessage.parse_botInlineMessageMediaGeo($0) } dict[1984755728] = { return Api.BotInlineMessage.parse_botInlineMessageMediaAuto($0) } @@ -837,6 +842,8 @@ public struct Api { public static func serializeObject(_ object: Any, buffer: Buffer, boxed: Swift.Bool) { switch object { + case let _1 as Api.MessageReactionsList: + _1.serialize(buffer, boxed) case let _1 as Api.messages.StickerSet: _1.serialize(buffer, boxed) case let _1 as Api.InputGeoPoint: @@ -969,6 +976,8 @@ public struct Api { _1.serialize(buffer, boxed) case let _1 as Api.messages.FoundGifs: _1.serialize(buffer, boxed) + case let _1 as Api.MessageReactions: + _1.serialize(buffer, boxed) case let _1 as Api.FileLocation: _1.serialize(buffer, boxed) case let _1 as Api.Poll: @@ -1257,6 +1266,8 @@ public struct Api { _1.serialize(buffer, boxed) case let _1 as Api.help.Support: _1.serialize(buffer, boxed) + case let _1 as Api.ReactionCount: + _1.serialize(buffer, boxed) case let _1 as Api.MessagesFilter: _1.serialize(buffer, boxed) case let _1 as Api.messages.Dialogs: @@ -1267,6 +1278,8 @@ public struct Api { _1.serialize(buffer, boxed) case let _1 as Api.help.InviteText: _1.serialize(buffer, boxed) + case let _1 as Api.MessageUserReaction: + _1.serialize(buffer, boxed) case let _1 as Api.BotInlineMessage: _1.serialize(buffer, boxed) case let _1 as Api.InputPeerNotifySettings: diff --git a/submodules/TelegramApi/Sources/Api1.swift b/submodules/TelegramApi/Sources/Api1.swift index c564b24423..dea26f3ed2 100644 --- a/submodules/TelegramApi/Sources/Api1.swift +++ b/submodules/TelegramApi/Sources/Api1.swift @@ -1,4 +1,66 @@ public extension Api { + public enum MessageReactionsList: TypeConstructorDescription { + case messageReactionsList(flags: Int32, count: Int32, reactions: [Api.MessageUserReaction], users: [Api.User], nextOffset: String?) + + public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { + switch self { + case .messageReactionsList(let flags, let count, let reactions, let users, let nextOffset): + if boxed { + buffer.appendInt32(-475111160) + } + serializeInt32(flags, buffer: buffer, boxed: false) + serializeInt32(count, buffer: buffer, boxed: false) + buffer.appendInt32(481674261) + buffer.appendInt32(Int32(reactions.count)) + for item in reactions { + item.serialize(buffer, true) + } + buffer.appendInt32(481674261) + buffer.appendInt32(Int32(users.count)) + for item in users { + item.serialize(buffer, true) + } + if Int(flags) & Int(1 << 0) != 0 {serializeString(nextOffset!, buffer: buffer, boxed: false)} + break + } + } + + public func descriptionFields() -> (String, [(String, Any)]) { + switch self { + case .messageReactionsList(let flags, let count, let reactions, let users, let nextOffset): + return ("messageReactionsList", [("flags", flags), ("count", count), ("reactions", reactions), ("users", users), ("nextOffset", nextOffset)]) + } + } + + public static func parse_messageReactionsList(_ reader: BufferReader) -> MessageReactionsList? { + var _1: Int32? + _1 = reader.readInt32() + var _2: Int32? + _2 = reader.readInt32() + var _3: [Api.MessageUserReaction]? + if let _ = reader.readInt32() { + _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.MessageUserReaction.self) + } + var _4: [Api.User]? + if let _ = reader.readInt32() { + _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) + } + var _5: String? + if Int(_1!) & Int(1 << 0) != 0 {_5 = parseString(reader) } + let _c1 = _1 != nil + let _c2 = _2 != nil + let _c3 = _3 != nil + let _c4 = _4 != nil + let _c5 = (Int(_1!) & Int(1 << 0) == 0) || _5 != nil + if _c1 && _c2 && _c3 && _c4 && _c5 { + return Api.MessageReactionsList.messageReactionsList(flags: _1!, count: _2!, reactions: _3!, users: _4!, nextOffset: _5) + } + else { + return nil + } + } + + } public enum InputGeoPoint: TypeConstructorDescription { case inputGeoPointEmpty case inputGeoPoint(lat: Double, long: Double) @@ -4082,6 +4144,7 @@ public extension Api { case updateNewScheduledMessage(message: Api.Message) case updateDeleteScheduledMessages(peer: Api.Peer, messages: [Int32]) case updateTheme(theme: Api.Theme) + case updateMessageReactions(peer: Api.Peer, msgId: Int32, reactions: Api.MessageReactions) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { @@ -4706,6 +4769,14 @@ public extension Api { } theme.serialize(buffer, true) break + case .updateMessageReactions(let peer, let msgId, let reactions): + if boxed { + buffer.appendInt32(357013699) + } + peer.serialize(buffer, true) + serializeInt32(msgId, buffer: buffer, boxed: false) + reactions.serialize(buffer, true) + break } } @@ -4859,6 +4930,8 @@ public extension Api { return ("updateDeleteScheduledMessages", [("peer", peer), ("messages", messages)]) case .updateTheme(let theme): return ("updateTheme", [("theme", theme)]) + case .updateMessageReactions(let peer, let msgId, let reactions): + return ("updateMessageReactions", [("peer", peer), ("msgId", msgId), ("reactions", reactions)]) } } @@ -6117,6 +6190,27 @@ public extension Api { return nil } } + public static func parse_updateMessageReactions(_ reader: BufferReader) -> Update? { + var _1: Api.Peer? + if let signature = reader.readInt32() { + _1 = Api.parse(reader, signature: signature) as? Api.Peer + } + var _2: Int32? + _2 = reader.readInt32() + var _3: Api.MessageReactions? + if let signature = reader.readInt32() { + _3 = Api.parse(reader, signature: signature) as? Api.MessageReactions + } + let _c1 = _1 != nil + let _c2 = _2 != nil + let _c3 = _3 != nil + if _c1 && _c2 && _c3 { + return Api.Update.updateMessageReactions(peer: _1!, msgId: _2!, reactions: _3!) + } + else { + return nil + } + } } public enum PopularContact: TypeConstructorDescription { @@ -7072,6 +7166,50 @@ public extension Api { } } + } + public enum MessageReactions: TypeConstructorDescription { + case messageReactions(flags: Int32, results: [Api.ReactionCount]) + + public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { + switch self { + case .messageReactions(let flags, let results): + if boxed { + buffer.appendInt32(-1199954735) + } + serializeInt32(flags, buffer: buffer, boxed: false) + buffer.appendInt32(481674261) + buffer.appendInt32(Int32(results.count)) + for item in results { + item.serialize(buffer, true) + } + break + } + } + + public func descriptionFields() -> (String, [(String, Any)]) { + switch self { + case .messageReactions(let flags, let results): + return ("messageReactions", [("flags", flags), ("results", results)]) + } + } + + public static func parse_messageReactions(_ reader: BufferReader) -> MessageReactions? { + var _1: Int32? + _1 = reader.readInt32() + var _2: [Api.ReactionCount]? + if let _ = reader.readInt32() { + _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ReactionCount.self) + } + let _c1 = _1 != nil + let _c2 = _2 != nil + if _c1 && _c2 { + return Api.MessageReactions.messageReactions(flags: _1!, results: _2!) + } + else { + return nil + } + } + } public enum FileLocation: TypeConstructorDescription { case fileLocationToBeDeprecated(volumeId: Int64, localId: Int32) @@ -14184,7 +14322,7 @@ public extension Api { public enum Message: TypeConstructorDescription { case messageEmpty(id: Int32) case messageService(flags: Int32, id: Int32, fromId: Int32?, toId: Api.Peer, replyToMsgId: Int32?, date: Int32, action: Api.MessageAction) - case message(flags: Int32, id: Int32, fromId: Int32?, toId: Api.Peer, fwdFrom: Api.MessageFwdHeader?, viaBotId: Int32?, replyToMsgId: Int32?, date: Int32, message: String, media: Api.MessageMedia?, replyMarkup: Api.ReplyMarkup?, entities: [Api.MessageEntity]?, views: Int32?, editDate: Int32?, postAuthor: String?, groupedId: Int64?, restrictionReason: [Api.RestrictionReason]?) + case message(flags: Int32, id: Int32, fromId: Int32?, toId: Api.Peer, fwdFrom: Api.MessageFwdHeader?, viaBotId: Int32?, replyToMsgId: Int32?, date: Int32, message: String, media: Api.MessageMedia?, replyMarkup: Api.ReplyMarkup?, entities: [Api.MessageEntity]?, views: Int32?, editDate: Int32?, postAuthor: String?, groupedId: Int64?, reactions: Api.MessageReactions?, restrictionReason: [Api.RestrictionReason]?) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { @@ -14206,9 +14344,9 @@ public extension Api { serializeInt32(date, buffer: buffer, boxed: false) action.serialize(buffer, true) break - case .message(let flags, let id, let fromId, let toId, let fwdFrom, let viaBotId, let replyToMsgId, let date, let message, let media, let replyMarkup, let entities, let views, let editDate, let postAuthor, let groupedId, let restrictionReason): + case .message(let flags, let id, let fromId, let toId, let fwdFrom, let viaBotId, let replyToMsgId, let date, let message, let media, let replyMarkup, let entities, let views, let editDate, let postAuthor, let groupedId, let reactions, let restrictionReason): if boxed { - buffer.appendInt32(1160515173) + buffer.appendInt32(-1752573244) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(id, buffer: buffer, boxed: false) @@ -14230,6 +14368,7 @@ public extension Api { if Int(flags) & Int(1 << 15) != 0 {serializeInt32(editDate!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 16) != 0 {serializeString(postAuthor!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 17) != 0 {serializeInt64(groupedId!, buffer: buffer, boxed: false)} + if Int(flags) & Int(1 << 20) != 0 {reactions!.serialize(buffer, true)} if Int(flags) & Int(1 << 22) != 0 {buffer.appendInt32(481674261) buffer.appendInt32(Int32(restrictionReason!.count)) for item in restrictionReason! { @@ -14245,8 +14384,8 @@ public extension Api { return ("messageEmpty", [("id", id)]) case .messageService(let flags, let id, let fromId, let toId, let replyToMsgId, let date, let action): return ("messageService", [("flags", flags), ("id", id), ("fromId", fromId), ("toId", toId), ("replyToMsgId", replyToMsgId), ("date", date), ("action", action)]) - case .message(let flags, let id, let fromId, let toId, let fwdFrom, let viaBotId, let replyToMsgId, let date, let message, let media, let replyMarkup, let entities, let views, let editDate, let postAuthor, let groupedId, let restrictionReason): - return ("message", [("flags", flags), ("id", id), ("fromId", fromId), ("toId", toId), ("fwdFrom", fwdFrom), ("viaBotId", viaBotId), ("replyToMsgId", replyToMsgId), ("date", date), ("message", message), ("media", media), ("replyMarkup", replyMarkup), ("entities", entities), ("views", views), ("editDate", editDate), ("postAuthor", postAuthor), ("groupedId", groupedId), ("restrictionReason", restrictionReason)]) + case .message(let flags, let id, let fromId, let toId, let fwdFrom, let viaBotId, let replyToMsgId, let date, let message, let media, let replyMarkup, let entities, let views, let editDate, let postAuthor, let groupedId, let reactions, let restrictionReason): + return ("message", [("flags", flags), ("id", id), ("fromId", fromId), ("toId", toId), ("fwdFrom", fwdFrom), ("viaBotId", viaBotId), ("replyToMsgId", replyToMsgId), ("date", date), ("message", message), ("media", media), ("replyMarkup", replyMarkup), ("entities", entities), ("views", views), ("editDate", editDate), ("postAuthor", postAuthor), ("groupedId", groupedId), ("reactions", reactions), ("restrictionReason", restrictionReason)]) } } @@ -14337,9 +14476,13 @@ public extension Api { if Int(_1!) & Int(1 << 16) != 0 {_15 = parseString(reader) } var _16: Int64? if Int(_1!) & Int(1 << 17) != 0 {_16 = reader.readInt64() } - var _17: [Api.RestrictionReason]? + var _17: Api.MessageReactions? + if Int(_1!) & Int(1 << 20) != 0 {if let signature = reader.readInt32() { + _17 = Api.parse(reader, signature: signature) as? Api.MessageReactions + } } + var _18: [Api.RestrictionReason]? if Int(_1!) & Int(1 << 22) != 0 {if let _ = reader.readInt32() { - _17 = Api.parseVector(reader, elementSignature: 0, elementType: Api.RestrictionReason.self) + _18 = Api.parseVector(reader, elementSignature: 0, elementType: Api.RestrictionReason.self) } } let _c1 = _1 != nil let _c2 = _2 != nil @@ -14357,9 +14500,10 @@ public extension Api { let _c14 = (Int(_1!) & Int(1 << 15) == 0) || _14 != nil let _c15 = (Int(_1!) & Int(1 << 16) == 0) || _15 != nil let _c16 = (Int(_1!) & Int(1 << 17) == 0) || _16 != nil - let _c17 = (Int(_1!) & Int(1 << 22) == 0) || _17 != nil - if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 && _c16 && _c17 { - return Api.Message.message(flags: _1!, id: _2!, fromId: _3, toId: _4!, fwdFrom: _5, viaBotId: _6, replyToMsgId: _7, date: _8!, message: _9!, media: _10, replyMarkup: _11, entities: _12, views: _13, editDate: _14, postAuthor: _15, groupedId: _16, restrictionReason: _17) + let _c17 = (Int(_1!) & Int(1 << 20) == 0) || _17 != nil + let _c18 = (Int(_1!) & Int(1 << 22) == 0) || _18 != nil + if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 && _c16 && _c17 && _c18 { + return Api.Message.message(flags: _1!, id: _2!, fromId: _3, toId: _4!, fwdFrom: _5, viaBotId: _6, replyToMsgId: _7, date: _8!, message: _9!, media: _10, replyMarkup: _11, entities: _12, views: _13, editDate: _14, postAuthor: _15, groupedId: _16, reactions: _17, restrictionReason: _18) } else { return nil @@ -15852,6 +15996,48 @@ public extension Api { } } + } + public enum ReactionCount: TypeConstructorDescription { + case reactionCount(flags: Int32, reaction: String, count: Int32) + + public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { + switch self { + case .reactionCount(let flags, let reaction, let count): + if boxed { + buffer.appendInt32(1873957073) + } + serializeInt32(flags, buffer: buffer, boxed: false) + serializeString(reaction, buffer: buffer, boxed: false) + serializeInt32(count, buffer: buffer, boxed: false) + break + } + } + + public func descriptionFields() -> (String, [(String, Any)]) { + switch self { + case .reactionCount(let flags, let reaction, let count): + return ("reactionCount", [("flags", flags), ("reaction", reaction), ("count", count)]) + } + } + + public static func parse_reactionCount(_ reader: BufferReader) -> ReactionCount? { + var _1: Int32? + _1 = reader.readInt32() + var _2: String? + _2 = parseString(reader) + var _3: Int32? + _3 = reader.readInt32() + let _c1 = _1 != nil + let _c2 = _2 != nil + let _c3 = _3 != nil + if _c1 && _c2 && _c3 { + return Api.ReactionCount.reactionCount(flags: _1!, reaction: _2!, count: _3!) + } + else { + return nil + } + } + } public enum MessagesFilter: TypeConstructorDescription { case inputMessagesFilterEmpty @@ -16164,6 +16350,44 @@ public extension Api { } } + } + public enum MessageUserReaction: TypeConstructorDescription { + case messageUserReaction(userId: Int32, reaction: String) + + public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { + switch self { + case .messageUserReaction(let userId, let reaction): + if boxed { + buffer.appendInt32(-764945220) + } + serializeInt32(userId, buffer: buffer, boxed: false) + serializeString(reaction, buffer: buffer, boxed: false) + break + } + } + + public func descriptionFields() -> (String, [(String, Any)]) { + switch self { + case .messageUserReaction(let userId, let reaction): + return ("messageUserReaction", [("userId", userId), ("reaction", reaction)]) + } + } + + public static func parse_messageUserReaction(_ reader: BufferReader) -> MessageUserReaction? { + var _1: Int32? + _1 = reader.readInt32() + var _2: String? + _2 = parseString(reader) + let _c1 = _1 != nil + let _c2 = _2 != nil + if _c1 && _c2 { + return Api.MessageUserReaction.messageUserReaction(userId: _1!, reaction: _2!) + } + else { + return nil + } + } + } public enum BotInlineMessage: TypeConstructorDescription { case botInlineMessageText(flags: Int32, message: String, entities: [Api.MessageEntity]?, replyMarkup: Api.ReplyMarkup?) diff --git a/submodules/TelegramApi/Sources/Api3.swift b/submodules/TelegramApi/Sources/Api3.swift index f549eb900b..a66c158aa3 100644 --- a/submodules/TelegramApi/Sources/Api3.swift +++ b/submodules/TelegramApi/Sources/Api3.swift @@ -2924,33 +2924,6 @@ public extension Api { }) } - public static func forwardMessages(flags: Int32, fromPeer: Api.InputPeer, id: [Int32], randomId: [Int64], toPeer: Api.InputPeer, scheduleDate: Int32?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { - let buffer = Buffer() - buffer.appendInt32(-637606386) - serializeInt32(flags, buffer: buffer, boxed: false) - fromPeer.serialize(buffer, true) - buffer.appendInt32(481674261) - buffer.appendInt32(Int32(id.count)) - for item in id { - serializeInt32(item, buffer: buffer, boxed: false) - } - buffer.appendInt32(481674261) - buffer.appendInt32(Int32(randomId.count)) - for item in randomId { - serializeInt64(item, buffer: buffer, boxed: false) - } - toPeer.serialize(buffer, true) - if Int(flags) & Int(1 << 10) != 0 {serializeInt32(scheduleDate!, buffer: buffer, boxed: false)} - return (FunctionDescription(name: "messages.forwardMessages", parameters: [("flags", flags), ("fromPeer", fromPeer), ("id", id), ("randomId", randomId), ("toPeer", toPeer), ("scheduleDate", scheduleDate)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in - let reader = BufferReader(buffer) - var result: Api.Updates? - if let signature = reader.readInt32() { - result = Api.parse(reader, signature: signature) as? Api.Updates - } - return result - }) - } - public static func sendInlineBotResult(flags: Int32, peer: Api.InputPeer, replyToMsgId: Int32?, randomId: Int64, queryId: Int64, id: String, scheduleDate: Int32?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { let buffer = Buffer() buffer.appendInt32(570955184) @@ -2971,31 +2944,6 @@ public extension Api { }) } - public static func editMessage(flags: Int32, peer: Api.InputPeer, id: Int32, message: String?, media: Api.InputMedia?, replyMarkup: Api.ReplyMarkup?, entities: [Api.MessageEntity]?, scheduleDate: Int32?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { - let buffer = Buffer() - buffer.appendInt32(1224152952) - serializeInt32(flags, buffer: buffer, boxed: false) - peer.serialize(buffer, true) - serializeInt32(id, buffer: buffer, boxed: false) - if Int(flags) & Int(1 << 11) != 0 {serializeString(message!, buffer: buffer, boxed: false)} - if Int(flags) & Int(1 << 14) != 0 {media!.serialize(buffer, true)} - if Int(flags) & Int(1 << 2) != 0 {replyMarkup!.serialize(buffer, true)} - if Int(flags) & Int(1 << 3) != 0 {buffer.appendInt32(481674261) - buffer.appendInt32(Int32(entities!.count)) - for item in entities! { - item.serialize(buffer, true) - }} - if Int(flags) & Int(1 << 15) != 0 {serializeInt32(scheduleDate!, buffer: buffer, boxed: false)} - return (FunctionDescription(name: "messages.editMessage", parameters: [("flags", flags), ("peer", peer), ("id", id), ("message", message), ("media", media), ("replyMarkup", replyMarkup), ("entities", entities), ("scheduleDate", scheduleDate)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in - let reader = BufferReader(buffer) - var result: Api.Updates? - if let signature = reader.readInt32() { - result = Api.parse(reader, signature: signature) as? Api.Updates - } - return result - }) - } - public static func sendMultiMedia(flags: Int32, peer: Api.InputPeer, replyToMsgId: Int32?, multiMedia: [Api.InputSingleMedia], scheduleDate: Int32?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { let buffer = Buffer() buffer.appendInt32(-872345397) @@ -3018,6 +2966,33 @@ public extension Api { }) } + public static func forwardMessages(flags: Int32, fromPeer: Api.InputPeer, id: [Int32], randomId: [Int64], toPeer: Api.InputPeer, scheduleDate: Int32?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(-637606386) + serializeInt32(flags, buffer: buffer, boxed: false) + fromPeer.serialize(buffer, true) + buffer.appendInt32(481674261) + buffer.appendInt32(Int32(id.count)) + for item in id { + serializeInt32(item, buffer: buffer, boxed: false) + } + buffer.appendInt32(481674261) + buffer.appendInt32(Int32(randomId.count)) + for item in randomId { + serializeInt64(item, buffer: buffer, boxed: false) + } + toPeer.serialize(buffer, true) + if Int(flags) & Int(1 << 10) != 0 {serializeInt32(scheduleDate!, buffer: buffer, boxed: false)} + return (FunctionDescription(name: "messages.forwardMessages", parameters: [("flags", flags), ("fromPeer", fromPeer), ("id", id), ("randomId", randomId), ("toPeer", toPeer), ("scheduleDate", scheduleDate)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in + let reader = BufferReader(buffer) + var result: Api.Updates? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.Updates + } + return result + }) + } + public static func getScheduledHistory(peer: Api.InputPeer, hash: Int32) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { let buffer = Buffer() buffer.appendInt32(-490575781) @@ -3089,6 +3064,86 @@ public extension Api { return result }) } + + public static func editMessage(flags: Int32, peer: Api.InputPeer, id: Int32, message: String?, media: Api.InputMedia?, replyMarkup: Api.ReplyMarkup?, entities: [Api.MessageEntity]?, scheduleDate: Int32?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(1224152952) + serializeInt32(flags, buffer: buffer, boxed: false) + peer.serialize(buffer, true) + serializeInt32(id, buffer: buffer, boxed: false) + if Int(flags) & Int(1 << 11) != 0 {serializeString(message!, buffer: buffer, boxed: false)} + if Int(flags) & Int(1 << 14) != 0 {media!.serialize(buffer, true)} + if Int(flags) & Int(1 << 2) != 0 {replyMarkup!.serialize(buffer, true)} + if Int(flags) & Int(1 << 3) != 0 {buffer.appendInt32(481674261) + buffer.appendInt32(Int32(entities!.count)) + for item in entities! { + item.serialize(buffer, true) + }} + if Int(flags) & Int(1 << 15) != 0 {serializeInt32(scheduleDate!, buffer: buffer, boxed: false)} + return (FunctionDescription(name: "messages.editMessage", parameters: [("flags", flags), ("peer", peer), ("id", id), ("message", message), ("media", media), ("replyMarkup", replyMarkup), ("entities", entities), ("scheduleDate", scheduleDate)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in + let reader = BufferReader(buffer) + var result: Api.Updates? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.Updates + } + return result + }) + } + + public static func sendReaction(flags: Int32, peer: Api.InputPeer, msgId: Int32, reaction: String?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(627641572) + serializeInt32(flags, buffer: buffer, boxed: false) + peer.serialize(buffer, true) + serializeInt32(msgId, buffer: buffer, boxed: false) + if Int(flags) & Int(1 << 0) != 0 {serializeString(reaction!, buffer: buffer, boxed: false)} + return (FunctionDescription(name: "messages.sendReaction", parameters: [("flags", flags), ("peer", peer), ("msgId", msgId), ("reaction", reaction)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in + let reader = BufferReader(buffer) + var result: Api.Updates? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.Updates + } + return result + }) + } + + public static func getMessagesReactions(peer: Api.InputPeer, id: [Int32]) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(-1950707482) + peer.serialize(buffer, true) + buffer.appendInt32(481674261) + buffer.appendInt32(Int32(id.count)) + for item in id { + serializeInt32(item, buffer: buffer, boxed: false) + } + return (FunctionDescription(name: "messages.getMessagesReactions", parameters: [("peer", peer), ("id", id)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in + let reader = BufferReader(buffer) + var result: Api.Updates? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.Updates + } + return result + }) + } + + public static func getMessageReactionsList(flags: Int32, peer: Api.InputPeer, id: Int32, reaction: String?, offset: String?, limit: Int32) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(363935594) + serializeInt32(flags, buffer: buffer, boxed: false) + peer.serialize(buffer, true) + serializeInt32(id, buffer: buffer, boxed: false) + if Int(flags) & Int(1 << 0) != 0 {serializeString(reaction!, buffer: buffer, boxed: false)} + if Int(flags) & Int(1 << 1) != 0 {serializeString(offset!, buffer: buffer, boxed: false)} + serializeInt32(limit, buffer: buffer, boxed: false) + return (FunctionDescription(name: "messages.getMessageReactionsList", parameters: [("flags", flags), ("peer", peer), ("id", id), ("reaction", reaction), ("offset", offset), ("limit", limit)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.MessageReactionsList? in + let reader = BufferReader(buffer) + var result: Api.MessageReactionsList? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.MessageReactionsList + } + return result + }) + } } public struct channels { public static func readHistory(channel: Api.InputChannel, maxId: Int32) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { diff --git a/submodules/TelegramApi/TelegramApi.xcodeproj/project.pbxproj b/submodules/TelegramApi/TelegramApi.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..285a3cb487 --- /dev/null +++ b/submodules/TelegramApi/TelegramApi.xcodeproj/project.pbxproj @@ -0,0 +1,527 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29C8F1EA5C00000000 + + isa + PBXFileReference + name + TelegramApi-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramApi/TelegramApi-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2939435AC600000000 + + isa + PBXFileReference + name + TelegramApi-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramApi/TelegramApi-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29ACDA062800000000 + + isa + PBXFileReference + name + TelegramApi-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramApi/TelegramApi-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29C8F1EA5C00000000 + 1DD70E2939435AC600000000 + 1DD70E29ACDA062800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29ABCC8E8700000000 + + isa + PBXFileReference + name + libTelegramApi.a + path + libTelegramApi.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29ABCC8E8700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C027F79B00000000 + + isa + PBXFileReference + name + Api0.swift + path + Sources/Api0.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F50E32DC00000000 + + isa + PBXFileReference + name + Api1.swift + path + Sources/Api1.swift + sourceTree + SOURCE_ROOT + + 1DD70E2929F46E1D00000000 + + isa + PBXFileReference + name + Api2.swift + path + Sources/Api2.swift + sourceTree + SOURCE_ROOT + + 1DD70E295EDAA95E00000000 + + isa + PBXFileReference + name + Api3.swift + path + Sources/Api3.swift + sourceTree + SOURCE_ROOT + + 1DD70E295041E30500000000 + + isa + PBXFileReference + name + Buffer.swift + path + Sources/Buffer.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C9F1BE5D00000000 + + isa + PBXFileReference + name + DeserializeFunctionResponse.swift + path + Sources/DeserializeFunctionResponse.swift + sourceTree + SOURCE_ROOT + + 1DD70E294A2550B000000000 + + isa + PBXFileReference + name + SecretApiLayer101.swift + path + Sources/SecretApiLayer101.swift + sourceTree + SOURCE_ROOT + + 1DD70E292BCA0AEE00000000 + + isa + PBXFileReference + name + SecretApiLayer46.swift + path + Sources/SecretApiLayer46.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C4BADFC800000000 + + isa + PBXFileReference + name + SecretApiLayer73.swift + path + Sources/SecretApiLayer73.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DBADD8B600000000 + + isa + PBXFileReference + name + SecretApiLayer8.swift + path + Sources/SecretApiLayer8.swift + sourceTree + SOURCE_ROOT + + 1DD70E292046900E00000000 + + isa + PBXFileReference + name + TelegramApiLogger.swift + path + Sources/TelegramApiLogger.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C027F79B00000000 + 1DD70E29F50E32DC00000000 + 1DD70E2929F46E1D00000000 + 1DD70E295EDAA95E00000000 + 1DD70E295041E30500000000 + 1DD70E29C9F1BE5D00000000 + 1DD70E294A2550B000000000 + 1DD70E292BCA0AEE00000000 + 1DD70E29C4BADFC800000000 + 1DD70E29DBADD8B600000000 + 1DD70E292046900E00000000 + + + B401C979D56D953900000000 + + isa + PBXGroup + name + TelegramApi + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979D56D953900000000 + + + E7A30F04C027F79B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C027F79B00000000 + + E7A30F04F50E32DC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F50E32DC00000000 + + E7A30F0429F46E1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2929F46E1D00000000 + + E7A30F045EDAA95E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295EDAA95E00000000 + + E7A30F045041E30500000000 + + isa + PBXBuildFile + fileRef + 1DD70E295041E30500000000 + + E7A30F04C9F1BE5D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C9F1BE5D00000000 + + E7A30F044A2550B000000000 + + isa + PBXBuildFile + fileRef + 1DD70E294A2550B000000000 + + E7A30F042BCA0AEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292BCA0AEE00000000 + + E7A30F04C4BADFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C4BADFC800000000 + + E7A30F04DBADD8B600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DBADD8B600000000 + + E7A30F042046900E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292046900E00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C027F79B00000000 + E7A30F04F50E32DC00000000 + E7A30F0429F46E1D00000000 + E7A30F045EDAA95E00000000 + E7A30F045041E30500000000 + E7A30F04C9F1BE5D00000000 + E7A30F044A2550B000000000 + E7A30F042BCA0AEE00000000 + E7A30F04C4BADFC800000000 + E7A30F04DBADD8B600000000 + E7A30F042046900E00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29C8F1EA5C00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2939435AC600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29ACDA062800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ED56D953900000000 + + isa + PBXNativeTarget + name + TelegramApi + productName + TelegramApi + productReference + 1DD70E29ABCC8E8700000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793D56D953900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ED56D953900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793D56D953900000000 + + \ No newline at end of file diff --git a/submodules/TelegramApi/TelegramApi.xcodeproj/xcshareddata/xcschemes/TelegramApi.xcscheme b/submodules/TelegramApi/TelegramApi.xcodeproj/xcshareddata/xcschemes/TelegramApi.xcscheme new file mode 100644 index 0000000000..26d2784341 --- /dev/null +++ b/submodules/TelegramApi/TelegramApi.xcodeproj/xcshareddata/xcschemes/TelegramApi.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramAudio/BUCK b/submodules/TelegramAudio/BUCK new file mode 100644 index 0000000000..45103e009a --- /dev/null +++ b/submodules/TelegramAudio/BUCK @@ -0,0 +1,14 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramAudio", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TelegramAudio/TelegramAudio.xcodeproj/project.pbxproj b/submodules/TelegramAudio/TelegramAudio.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b333447c13 --- /dev/null +++ b/submodules/TelegramAudio/TelegramAudio.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E297711DCE000000000 + + isa + PBXFileReference + name + TelegramAudio-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramAudio/TelegramAudio-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29DF30BC4A00000000 + + isa + PBXFileReference + name + TelegramAudio-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramAudio/TelegramAudio-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2952C767AC00000000 + + isa + PBXFileReference + name + TelegramAudio-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramAudio/TelegramAudio-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E297711DCE000000000 + 1DD70E29DF30BC4A00000000 + 1DD70E2952C767AC00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F33FDAC300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2979D5066400000000 + + isa + PBXFileReference + name + ManagedAudioSession.swift + path + Sources/ManagedAudioSession.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2979D5066400000000 + + + B401C979305F6B3500000000 + + isa + PBXGroup + name + TelegramAudio + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979305F6B3500000000 + + + E7A30F0479D5066400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2979D5066400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0479D5066400000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E297711DCE000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29DF30BC4A00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2952C767AC00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E305F6B3500000000 + + isa + PBXNativeTarget + name + TelegramAudio + productName + TelegramAudio + productReference + 1DD70E29F33FDAC300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793305F6B3500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E305F6B3500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793305F6B3500000000 + + \ No newline at end of file diff --git a/submodules/TelegramAudio/TelegramAudio.xcodeproj/xcshareddata/xcschemes/TelegramAudio.xcscheme b/submodules/TelegramAudio/TelegramAudio.xcodeproj/xcshareddata/xcschemes/TelegramAudio.xcscheme new file mode 100644 index 0000000000..ae47346042 --- /dev/null +++ b/submodules/TelegramAudio/TelegramAudio.xcodeproj/xcshareddata/xcschemes/TelegramAudio.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramBaseController/BUCK b/submodules/TelegramBaseController/BUCK new file mode 100644 index 0000000000..770a057809 --- /dev/null +++ b/submodules/TelegramBaseController/BUCK @@ -0,0 +1,25 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramBaseController", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/AvatarNode:AvatarNode", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/LiveLocationTimerNode:LiveLocationTimerNode", + "//submodules/AccountContext:AccountContext", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/OverlayStatusController:OverlayStatusController", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TelegramBaseController/Sources/TelegramBaseController.swift b/submodules/TelegramBaseController/Sources/TelegramBaseController.swift index cd66aa00b9..eb7ef9ec7e 100644 --- a/submodules/TelegramBaseController/Sources/TelegramBaseController.swift +++ b/submodules/TelegramBaseController/Sources/TelegramBaseController.swift @@ -455,7 +455,7 @@ open class TelegramBaseController: ViewController, KeyShortcutResponder { if let (item, previousItem, nextItem, order, type, _) = self.playlistStateAndType, !mediaAccessoryPanelHidden { let panelHeight = MediaNavigationAccessoryHeaderNode.minimizedHeight - let panelFrame = CGRect(origin: CGPoint(x: 0.0, y: navigationHeight.isZero ? -panelHeight : (navigationHeight + additionalHeight + UIScreenPixel)), size: CGSize(width: layout.size.width, height: panelHeight)) + let panelFrame = CGRect(origin: CGPoint(x: 0.0, y: navigationHeight.isZero ? -panelHeight : (navigationHeight + additionalHeight)), size: CGSize(width: layout.size.width, height: panelHeight)) if let (mediaAccessoryPanel, mediaType) = self.mediaAccessoryPanel, mediaType == type { transition.updateFrame(layer: mediaAccessoryPanel.layer, frame: panelFrame) mediaAccessoryPanel.updateLayout(size: panelFrame.size, leftInset: layout.safeInsets.left, rightInset: layout.safeInsets.right, transition: transition) @@ -615,7 +615,7 @@ open class TelegramBaseController: ViewController, KeyShortcutResponder { if let dismissingPanel = self.dismissingPanel { self.displayNode.insertSubnode(mediaAccessoryPanel, aboveSubnode: dismissingPanel) } else if let navigationBar = self.navigationBar { - self.displayNode.insertSubnode(mediaAccessoryPanel, aboveSubnode: navigationBar) + self.displayNode.insertSubnode(mediaAccessoryPanel, belowSubnode: navigationBar) } else { self.displayNode.addSubnode(mediaAccessoryPanel) } diff --git a/submodules/TelegramBaseController/TelegramBaseController.xcodeproj/project.pbxproj b/submodules/TelegramBaseController/TelegramBaseController.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..2b946150ce --- /dev/null +++ b/submodules/TelegramBaseController/TelegramBaseController.xcodeproj/project.pbxproj @@ -0,0 +1,983 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E290A3D822700000000 + + isa + PBXFileReference + name + TelegramBaseController-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramBaseController/TelegramBaseController-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2956082BD100000000 + + isa + PBXFileReference + name + TelegramBaseController-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramBaseController/TelegramBaseController-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C99ED73300000000 + + isa + PBXFileReference + name + TelegramBaseController-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramBaseController/TelegramBaseController-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E290A3D822700000000 + 1DD70E2956082BD100000000 + 1DD70E29C99ED73300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292969635400000000 + + isa + PBXFileReference + name + libLiveLocationTimerNode.a + path + libLiveLocationTimerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E292969635400000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29BBAF750C00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E2943136EC600000000 + + isa + PBXFileReference + name + libTelegramBaseController.a + path + libTelegramBaseController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2943136EC600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29AC7A681500000000 + + isa + PBXFileReference + name + LocationBroadcastActionSheetItem.swift + path + Sources/LocationBroadcastActionSheetItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29CF9B32F700000000 + + isa + PBXFileReference + name + LocationBroadcastNavigationAccessoryPanel.swift + path + Sources/LocationBroadcastNavigationAccessoryPanel.swift + sourceTree + SOURCE_ROOT + + 1DD70E296FAA2F4900000000 + + isa + PBXFileReference + name + LocationBroadcastPanelWavesNode.swift + path + Sources/LocationBroadcastPanelWavesNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E293EEF272E00000000 + + isa + PBXFileReference + name + MediaNavigationAccessoryContainerNode.swift + path + Sources/MediaNavigationAccessoryContainerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E299D4716AE00000000 + + isa + PBXFileReference + name + MediaNavigationAccessoryHeaderNode.swift + path + Sources/MediaNavigationAccessoryHeaderNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A6AAC44F00000000 + + isa + PBXFileReference + name + MediaNavigationAccessoryPanel.swift + path + Sources/MediaNavigationAccessoryPanel.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B22B98F300000000 + + isa + PBXFileReference + name + TelegramBaseController.swift + path + Sources/TelegramBaseController.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29AC7A681500000000 + 1DD70E29CF9B32F700000000 + 1DD70E296FAA2F4900000000 + 1DD70E293EEF272E00000000 + 1DD70E299D4716AE00000000 + 1DD70E29A6AAC44F00000000 + 1DD70E29B22B98F300000000 + + + B401C979206CC0CE00000000 + + isa + PBXGroup + name + TelegramBaseController + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979206CC0CE00000000 + + + E7A30F04AC7A681500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC7A681500000000 + + E7A30F04CF9B32F700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF9B32F700000000 + + E7A30F046FAA2F4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E296FAA2F4900000000 + + E7A30F043EEF272E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293EEF272E00000000 + + E7A30F049D4716AE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D4716AE00000000 + + E7A30F04A6AAC44F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6AAC44F00000000 + + E7A30F04B22B98F300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B22B98F300000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04AC7A681500000000 + E7A30F04CF9B32F700000000 + E7A30F046FAA2F4900000000 + E7A30F043EEF272E00000000 + E7A30F049D4716AE00000000 + E7A30F04A6AAC44F00000000 + E7A30F04B22B98F300000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F042969635400000000 + + isa + PBXBuildFile + fileRef + 1DD70E292969635400000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F042969635400000000 + E7A30F04BBAF750C00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E290A3D822700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2956082BD100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29C99ED73300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E206CC0CE00000000 + + isa + PBXNativeTarget + name + TelegramBaseController + productName + TelegramBaseController + productReference + 1DD70E2943136EC600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793206CC0CE00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E206CC0CE00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793206CC0CE00000000 + + \ No newline at end of file diff --git a/submodules/TelegramBaseController/TelegramBaseController.xcodeproj/xcshareddata/xcschemes/TelegramBaseController.xcscheme b/submodules/TelegramBaseController/TelegramBaseController.xcodeproj/xcshareddata/xcschemes/TelegramBaseController.xcscheme new file mode 100644 index 0000000000..2a25df3828 --- /dev/null +++ b/submodules/TelegramBaseController/TelegramBaseController.xcodeproj/xcshareddata/xcschemes/TelegramBaseController.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramCallsUI/BUCK b/submodules/TelegramCallsUI/BUCK new file mode 100644 index 0000000000..1d86a6b8f8 --- /dev/null +++ b/submodules/TelegramCallsUI/BUCK @@ -0,0 +1,34 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramCallsUI", + srcs = glob([ + "Sources/**/*.swift", + "Sources/**/*.m", + ]), + headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/TelegramCallsUI.h"]), + exported_headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/TelegramCallsUI.h"]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/PhotoResources:PhotoResources", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/MediaPlayer:UniversalMediaPlayer", + "//submodules/DeviceAccess:DeviceAccess", + "//submodules/TelegramAudio:TelegramAudio", + "//submodules/TelegramVoip:TelegramVoip", + "//submodules/ItemListUI:ItemListUI", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TelegramCallsUI/Sources/CallController.swift b/submodules/TelegramCallsUI/Sources/CallController.swift index 1d1bcf0cee..4962c6db50 100644 --- a/submodules/TelegramCallsUI/Sources/CallController.swift +++ b/submodules/TelegramCallsUI/Sources/CallController.swift @@ -11,6 +11,7 @@ import TelegramVoip import TelegramAudio import AccountContext import TelegramNotices +import AppBundle public final class CallController: ViewController { private var controllerNode: CallControllerNode { diff --git a/submodules/TelegramCallsUI/Sources/CallControllerButton.swift b/submodules/TelegramCallsUI/Sources/CallControllerButton.swift index 016e6db3e1..47aa462209 100644 --- a/submodules/TelegramCallsUI/Sources/CallControllerButton.swift +++ b/submodules/TelegramCallsUI/Sources/CallControllerButton.swift @@ -3,6 +3,7 @@ import UIKit import Display import AsyncDisplayKit import SwiftSignalKit +import AppBundle enum CallControllerButtonType { case mute diff --git a/submodules/TelegramCallsUI/Sources/CallKitIntegration.swift b/submodules/TelegramCallsUI/Sources/CallKitIntegration.swift index c44866c743..9b700b800d 100644 --- a/submodules/TelegramCallsUI/Sources/CallKitIntegration.swift +++ b/submodules/TelegramCallsUI/Sources/CallKitIntegration.swift @@ -6,6 +6,7 @@ import AVFoundation import Postbox import TelegramCore import SwiftSignalKit +import AppBundle private var sharedProviderDelegate: AnyObject? @@ -134,7 +135,7 @@ class CallKitProviderDelegate: NSObject, CXProviderDelegate { providerConfiguration.maximumCallsPerCallGroup = 1 providerConfiguration.maximumCallGroups = 1 providerConfiguration.supportedHandleTypes = [.phoneNumber, .generic] - if let image = UIImage(named: "Call/CallKitLogo", in: Bundle(for: CallKitIntegration.self), compatibleWith: nil) { + if let image = UIImage(named: "Call/CallKitLogo", in: getAppBundle(), compatibleWith: nil) { providerConfiguration.iconTemplateImageData = image.pngData() } diff --git a/submodules/TelegramCallsUI/Sources/CallRatingController.swift b/submodules/TelegramCallsUI/Sources/CallRatingController.swift index d099fc36d2..10da6c947f 100644 --- a/submodules/TelegramCallsUI/Sources/CallRatingController.swift +++ b/submodules/TelegramCallsUI/Sources/CallRatingController.swift @@ -8,6 +8,7 @@ import TelegramCore import TelegramPresentationData import TelegramVoip import AccountContext +import AppBundle private final class CallRatingAlertContentNode: AlertContentNode { private let strings: PresentationStrings diff --git a/submodules/TelegramCallsUI/Sources/CallSuggestTabController.swift b/submodules/TelegramCallsUI/Sources/CallSuggestTabController.swift index fbfcf10b01..46af7bb168 100644 --- a/submodules/TelegramCallsUI/Sources/CallSuggestTabController.swift +++ b/submodules/TelegramCallsUI/Sources/CallSuggestTabController.swift @@ -8,6 +8,7 @@ import TelegramCore import TelegramPresentationData import TelegramUIPreferences import AccountContext +import AppBundle private func generateIconImage(theme: AlertControllerTheme) -> UIImage? { return UIImage(bundleImageName: "Call List/AlertIcon") diff --git a/submodules/TelegramCallsUI/Sources/FrameworkBundle.swift b/submodules/TelegramCallsUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/TelegramCallsUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/TelegramCallsUI/TelegramCallsUI.xcodeproj/project.pbxproj b/submodules/TelegramCallsUI/TelegramCallsUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..ef51fdf73c --- /dev/null +++ b/submodules/TelegramCallsUI/TelegramCallsUI.xcodeproj/project.pbxproj @@ -0,0 +1,1421 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29F00620ED00000000 + + isa + PBXFileReference + name + TelegramCallsUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramCallsUI/TelegramCallsUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29EC24311700000000 + + isa + PBXFileReference + name + TelegramCallsUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramCallsUI/TelegramCallsUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E295FBADC7900000000 + + isa + PBXFileReference + name + TelegramCallsUI-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramCallsUI/TelegramCallsUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29F00620ED00000000 + 1DD70E29EC24311700000000 + 1DD70E295FBADC7900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BBAF750C00000000 + + isa + PBXFileReference + name + libOverlayStatusController.a + path + libOverlayStatusController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F18DE1D900000000 + + isa + PBXFileReference + name + libTelegramVoip.a + path + libTelegramVoip.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29BBAF750C00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2988BAAFC800000000 + 1DD70E290DD17C7100000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F18DE1D900000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29DA3FBAD600000000 + + isa + PBXFileReference + name + libTelegramCallsUI.a + path + libTelegramCallsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29DA3FBAD600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2919A2DFDF00000000 + + isa + PBXFileReference + name + CallController.swift + path + Sources/CallController.swift + sourceTree + SOURCE_ROOT + + 1DD70E297E9C5A3100000000 + + isa + PBXFileReference + name + CallControllerButton.swift + path + Sources/CallControllerButton.swift + sourceTree + SOURCE_ROOT + + 1DD70E29AE599FEE00000000 + + isa + PBXFileReference + name + CallControllerButtonsNode.swift + path + Sources/CallControllerButtonsNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A29EFC4A00000000 + + isa + PBXFileReference + name + CallControllerKeyPreviewNode.swift + path + Sources/CallControllerKeyPreviewNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E291AC9338100000000 + + isa + PBXFileReference + name + CallControllerNode.swift + path + Sources/CallControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E290AF8ED9300000000 + + isa + PBXFileReference + name + CallControllerStatusNode.swift + path + Sources/CallControllerStatusNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B519F37C00000000 + + isa + PBXFileReference + name + CallDebugNode.swift + path + Sources/CallDebugNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29636DE78400000000 + + isa + PBXFileReference + name + CallFeedbackController.swift + path + Sources/CallFeedbackController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29970550E100000000 + + isa + PBXFileReference + name + CallKitIntegration.swift + path + Sources/CallKitIntegration.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DF500D1C00000000 + + isa + PBXFileReference + name + CallRatingController.swift + path + Sources/CallRatingController.swift + sourceTree + SOURCE_ROOT + + 1DD70E290CA6BF7600000000 + + isa + PBXFileReference + name + CallRouteActionSheetItem.swift + path + Sources/CallRouteActionSheetItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FD7E6DF000000000 + + isa + PBXFileReference + name + CallSuggestTabController.swift + path + Sources/CallSuggestTabController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B683DD4B00000000 + + isa + PBXFileReference + name + CallsEmoji.h + path + Sources/CallsEmoji.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B683DD5000000000 + + isa + PBXFileReference + name + CallsEmoji.m + path + Sources/CallsEmoji.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29F7ECD55D00000000 + + isa + PBXFileReference + name + PresentationCall.swift + path + Sources/PresentationCall.swift + sourceTree + SOURCE_ROOT + + 1DD70E2978658ABA00000000 + + isa + PBXFileReference + name + PresentationCallManager.swift + path + Sources/PresentationCallManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E294CAD10B900000000 + + isa + PBXFileReference + name + PresentationCallToneData.swift + path + Sources/PresentationCallToneData.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2919A2DFDF00000000 + 1DD70E297E9C5A3100000000 + 1DD70E29AE599FEE00000000 + 1DD70E29A29EFC4A00000000 + 1DD70E291AC9338100000000 + 1DD70E290AF8ED9300000000 + 1DD70E29B519F37C00000000 + 1DD70E29636DE78400000000 + 1DD70E29970550E100000000 + 1DD70E29DF500D1C00000000 + 1DD70E290CA6BF7600000000 + 1DD70E29FD7E6DF000000000 + 1DD70E29B683DD4B00000000 + 1DD70E29B683DD5000000000 + 1DD70E29F7ECD55D00000000 + 1DD70E2978658ABA00000000 + 1DD70E294CAD10B900000000 + + + B401C979DE4F2EC800000000 + + isa + PBXGroup + name + TelegramCallsUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979DE4F2EC800000000 + + + E7A30F0419A2DFDF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2919A2DFDF00000000 + + E7A30F047E9C5A3100000000 + + isa + PBXBuildFile + fileRef + 1DD70E297E9C5A3100000000 + + E7A30F04AE599FEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AE599FEE00000000 + + E7A30F04A29EFC4A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A29EFC4A00000000 + + E7A30F041AC9338100000000 + + isa + PBXBuildFile + fileRef + 1DD70E291AC9338100000000 + + E7A30F040AF8ED9300000000 + + isa + PBXBuildFile + fileRef + 1DD70E290AF8ED9300000000 + + E7A30F04B519F37C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B519F37C00000000 + + E7A30F04636DE78400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29636DE78400000000 + + E7A30F04970550E100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29970550E100000000 + + E7A30F04DF500D1C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DF500D1C00000000 + + E7A30F040CA6BF7600000000 + + isa + PBXBuildFile + fileRef + 1DD70E290CA6BF7600000000 + + E7A30F04FD7E6DF000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD7E6DF000000000 + + E7A30F04B683DD5000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B683DD5000000000 + + E7A30F04F7ECD55D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F7ECD55D00000000 + + E7A30F0478658ABA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2978658ABA00000000 + + E7A30F044CAD10B900000000 + + isa + PBXBuildFile + fileRef + 1DD70E294CAD10B900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0419A2DFDF00000000 + E7A30F047E9C5A3100000000 + E7A30F04AE599FEE00000000 + E7A30F04A29EFC4A00000000 + E7A30F041AC9338100000000 + E7A30F040AF8ED9300000000 + E7A30F04B519F37C00000000 + E7A30F04636DE78400000000 + E7A30F04970550E100000000 + E7A30F04DF500D1C00000000 + E7A30F040CA6BF7600000000 + E7A30F04FD7E6DF000000000 + E7A30F04B683DD5000000000 + E7A30F04F7ECD55D00000000 + E7A30F0478658ABA00000000 + E7A30F044CAD10B900000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F04BBAF750C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BBAF750C00000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + E7A30F0488BAAFC800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2988BAAFC800000000 + + E7A30F04F18DE1D900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F18DE1D900000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F04BBAF750C00000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F040DD17C7100000000 + E7A30F0488BAAFC800000000 + E7A30F04F18DE1D900000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29F00620ED00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29EC24311700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E295FBADC7900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EDE4F2EC800000000 + + isa + PBXNativeTarget + name + TelegramCallsUI + productName + TelegramCallsUI + productReference + 1DD70E29DA3FBAD600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793DE4F2EC800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EDE4F2EC800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793DE4F2EC800000000 + + \ No newline at end of file diff --git a/submodules/TelegramCallsUI/TelegramCallsUI.xcodeproj/xcshareddata/xcschemes/TelegramCallsUI.xcscheme b/submodules/TelegramCallsUI/TelegramCallsUI.xcodeproj/xcshareddata/xcschemes/TelegramCallsUI.xcscheme new file mode 100644 index 0000000000..584ae5ba65 --- /dev/null +++ b/submodules/TelegramCallsUI/TelegramCallsUI.xcodeproj/xcshareddata/xcschemes/TelegramCallsUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramCallsUI/TelegramCallsUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramCallsUI/TelegramCallsUI_Xcode.xcodeproj/project.pbxproj index bdd2583767..3e3f55daeb 100644 --- a/submodules/TelegramCallsUI/TelegramCallsUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramCallsUI/TelegramCallsUI_Xcode.xcodeproj/project.pbxproj @@ -29,12 +29,12 @@ D0C9C09122FE3CF300FAB518 /* CallRatingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C08722FE3CF300FAB518 /* CallRatingController.swift */; }; D0C9C09222FE3CF300FAB518 /* CallRouteActionSheetItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C08822FE3CF300FAB518 /* CallRouteActionSheetItem.swift */; }; D0C9C09322FE3CF300FAB518 /* CallControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C08922FE3CF300FAB518 /* CallControllerNode.swift */; }; - D0C9C09522FE3D1700FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C09422FE3D1700FAB518 /* FrameworkBundle.swift */; }; D0C9C0CF22FE3E2400FAB518 /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C0CE22FE3E2400FAB518 /* PhotoResources.framework */; }; D0C9C12522FE41C600FAB518 /* CallsEmoji.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C12422FE41C600FAB518 /* CallsEmoji.m */; }; D0C9C12722FE41DB00FAB518 /* CallsEmoji.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C12622FE41D200FAB518 /* CallsEmoji.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0C9C14B22FE439300FAB518 /* TelegramNotices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C14A22FE439300FAB518 /* TelegramNotices.framework */; }; D0C9C17B22FEF26C00FAB518 /* CallSuggestTabController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C17A22FEF26C00FAB518 /* CallSuggestTabController.swift */; }; + D0EFF25C2319816200CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF25B2319816200CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -62,12 +62,12 @@ D0C9C08722FE3CF300FAB518 /* CallRatingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallRatingController.swift; sourceTree = ""; }; D0C9C08822FE3CF300FAB518 /* CallRouteActionSheetItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallRouteActionSheetItem.swift; sourceTree = ""; }; D0C9C08922FE3CF300FAB518 /* CallControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallControllerNode.swift; sourceTree = ""; }; - D0C9C09422FE3D1700FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C0CE22FE3E2400FAB518 /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C12422FE41C600FAB518 /* CallsEmoji.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CallsEmoji.m; sourceTree = ""; }; D0C9C12622FE41D200FAB518 /* CallsEmoji.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CallsEmoji.h; sourceTree = ""; }; D0C9C14A22FE439300FAB518 /* TelegramNotices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramNotices.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C17A22FEF26C00FAB518 /* CallSuggestTabController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallSuggestTabController.swift; sourceTree = ""; }; + D0EFF25B2319816200CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -75,6 +75,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF25C2319816200CF5164 /* AppBundle.framework in Frameworks */, D021289F230EF3B2006B8456 /* ItemListUI.framework in Frameworks */, D0C9C14B22FE439300FAB518 /* TelegramNotices.framework in Frameworks */, D0C9C0CF22FE3E2400FAB518 /* PhotoResources.framework in Frameworks */, @@ -125,7 +126,6 @@ D0AE310A22B1DD160058D3BC /* PresentationCall.swift */, D0AE310922B1DD160058D3BC /* PresentationCallManager.swift */, D0AE310B22B1DD160058D3BC /* PresentationCallToneData.swift */, - D0C9C09422FE3D1700FAB518 /* FrameworkBundle.swift */, D0C9C17A22FEF26C00FAB518 /* CallSuggestTabController.swift */, D0C9C12622FE41D200FAB518 /* CallsEmoji.h */, D0C9C12422FE41C600FAB518 /* CallsEmoji.m */, @@ -137,6 +137,7 @@ D0AE315522B1DEF10058D3BC /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF25B2319816200CF5164 /* AppBundle.framework */, D021289E230EF3B2006B8456 /* ItemListUI.framework */, D0C9C14A22FE439300FAB518 /* TelegramNotices.framework */, D0C9C0CE22FE3E2400FAB518 /* PhotoResources.framework */, @@ -247,7 +248,6 @@ D0C9C08E22FE3CF300FAB518 /* CallControllerButtonsNode.swift in Sources */, D0C9C08C22FE3CF300FAB518 /* CallControllerButton.swift in Sources */, D0C9C08D22FE3CF300FAB518 /* CallController.swift in Sources */, - D0C9C09522FE3D1700FAB518 /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/TelegramCore/BUCK b/submodules/TelegramCore/BUCK index 082b468dfc..c15f515156 100644 --- a/submodules/TelegramCore/BUCK +++ b/submodules/TelegramCore/BUCK @@ -1,44 +1,31 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "framework") -apple_library( - name = 'TelegramCorePrivateModule', - srcs = glob([ - 'TelegramCore/**/*.m', - 'TelegramCore/**/*.c', - 'third-party/libphonenumber-iOS/*.m', - ]), - headers = glob([ - 'TelegramCore/**/*.h', - 'third-party/libphonenumber-iOS/*.h', - ]), - header_namespace = 'TelegramCorePrivateModule', - exported_headers = glob([ - 'TelegramCore/**/*.h', - 'third-party/libphonenumber-iOS/*.h', - ], exclude = ['TelegramCore/TelegramCore.h']), - modular = True, - visibility = ['//submodules/TelegramCore:TelegramCore'], - deps = [ - '//submodules/MtProtoKit:MtProtoKit', - ], -) - -apple_library( - name = 'TelegramCore', +framework( + name = "TelegramCore", srcs = glob([ - 'TelegramCore/**/*.swift' + "TelegramCore/*.swift", + "TelegramCore/*.m", ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - swift_compiler_flags = [ - '-suppress-warnings', - '-application-extension', + headers = [ + "TelegramCore/FormatPhoneNumber.h", + "TelegramCore/Crypto.h", + "TelegramCore/NetworkLogging.h", + "TelegramCore/Reachability.h", + ], + exported_headers = [ + "TelegramCore/FormatPhoneNumber.h", + "TelegramCore/Crypto.h", + "TelegramCore/NetworkLogging.h", + "TelegramCore/Reachability.h", ], - visibility = ['PUBLIC'], deps = [ - ':TelegramCorePrivateModule', - '//submodules/SSignalKit:SwiftSignalKit', - '//submodules/MtProtoKit:MtProtoKit', - '//submodules/Postbox:Postbox', + "//submodules/libphonenumber:libphonenumber", + "//submodules/TelegramApi:TelegramApi", + "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", ], ) diff --git a/submodules/TelegramCore/TelegramCore/AddressNames.swift b/submodules/TelegramCore/TelegramCore/AddressNames.swift index 62c808f82d..94fbdbcd16 100644 --- a/submodules/TelegramCore/TelegramCore/AddressNames.swift +++ b/submodules/TelegramCore/TelegramCore/AddressNames.swift @@ -32,6 +32,7 @@ public enum AddressNameAvailability: Equatable { public enum AddressNameDomain { case account case peer(PeerId) + case theme(TelegramTheme) } public func checkAddressNameFormat(_ value: String, canEmpty: Bool = false) -> AddressNameFormatError? { @@ -106,6 +107,20 @@ public func addressNameAvailability(account: Account, domain: AddressNameDomain, } else { return .single(.invalid) } + case .theme: + return account.network.request(Api.functions.account.createTheme(slug: name, title: "", document: .inputDocumentEmpty)) + |> map { _ -> AddressNameAvailability in + return .available + } + |> `catch` { error -> Signal in + if error.errorDescription == "THEME_SLUG_OCCUPIED" { + return .single(.taken) + } else if error.errorDescription == "THEME_SLUG_INVALID" { + return .single(.invalid) + } else { + return .single(.available) + } + } } } |> switchToLatest } @@ -154,6 +169,15 @@ public func updateAddressName(account: Account, domain: AddressNameDomain, name: } else { return .fail(.generic) } + case let .theme(theme): + let flags: Int32 = 1 << 0 + return account.network.request(Api.functions.account.updateTheme(flags: flags, format: telegramThemeFormat, theme: .inputTheme(id: theme.id, accessHash: theme.accessHash), slug: nil, title: nil, document: nil)) + |> mapError { _ -> UpdateAddressNameError in + return .generic + } + |> map { _ in + return Void() + } } } |> mapError { _ -> UpdateAddressNameError in return .generic } |> switchToLatest } diff --git a/submodules/TelegramCore/TelegramCore/ApplyUpdateMessage.swift b/submodules/TelegramCore/TelegramCore/ApplyUpdateMessage.swift index 2f691fe3e5..a4f3da726e 100644 --- a/submodules/TelegramCore/TelegramCore/ApplyUpdateMessage.swift +++ b/submodules/TelegramCore/TelegramCore/ApplyUpdateMessage.swift @@ -57,7 +57,7 @@ func applyUpdateMessage(postbox: Postbox, stateManager: AccountStateManager, mes var updatedTimestamp: Int32? if let apiMessage = apiMessage { switch apiMessage { - case let .message(_, _, _, _, _, _, _, date, _, _, _, _, _, _, _, _, _): + case let .message(_, _, _, _, _, _, _, date, _, _, _, _, _, _, _, _, _, _): updatedTimestamp = date case .messageEmpty: break diff --git a/submodules/TelegramCore/TelegramCore/Crypto.h b/submodules/TelegramCore/TelegramCore/Crypto.h index d50d4f1e40..526e6095d9 100644 --- a/submodules/TelegramCore/TelegramCore/Crypto.h +++ b/submodules/TelegramCore/TelegramCore/Crypto.h @@ -3,10 +3,10 @@ #import -NSData * _Nonnull CryptoMD5(const void *bytes, int count); -NSData * _Nonnull CryptoSHA1(const void *bytes, int count); -NSData * _Nonnull CryptoSHA256(const void *bytes, int count); -NSData * _Nonnull CryptoSHA512(const void *bytes, int count); +NSData * _Nonnull CryptoMD5(const void * _Nonnull bytes, int count); +NSData * _Nonnull CryptoSHA1(const void * _Nonnull bytes, int count); +NSData * _Nonnull CryptoSHA256(const void * _Nonnull bytes, int count); +NSData * _Nonnull CryptoSHA512(const void * _Nonnull bytes, int count); @interface IncrementalMD5 : NSObject diff --git a/submodules/TelegramCore/TelegramCore/Crypto.m b/submodules/TelegramCore/TelegramCore/Crypto.m index 1f8529251c..86cf407f0c 100644 --- a/submodules/TelegramCore/TelegramCore/Crypto.m +++ b/submodules/TelegramCore/TelegramCore/Crypto.m @@ -2,25 +2,25 @@ #import -NSData * _Nonnull CryptoMD5(const void *bytes, int count) { +NSData * _Nonnull CryptoMD5(const void * _Nonnull bytes, int count) { NSMutableData *result = [[NSMutableData alloc] initWithLength:(NSUInteger)CC_MD5_DIGEST_LENGTH]; CC_MD5(bytes, (CC_LONG)count, result.mutableBytes); return result; } -NSData * _Nonnull CryptoSHA1(const void *bytes, int count) { +NSData * _Nonnull CryptoSHA1(const void * _Nonnull bytes, int count) { NSMutableData *result = [[NSMutableData alloc] initWithLength:(NSUInteger)CC_SHA1_DIGEST_LENGTH]; CC_SHA1(bytes, (CC_LONG)count, result.mutableBytes); return result; } -NSData * _Nonnull CryptoSHA256(const void *bytes, int count) { +NSData * _Nonnull CryptoSHA256(const void * _Nonnull bytes, int count) { NSMutableData *result = [[NSMutableData alloc] initWithLength:(NSUInteger)CC_SHA256_DIGEST_LENGTH]; CC_SHA256(bytes, (CC_LONG)count, result.mutableBytes); return result; } -NSData * _Nonnull CryptoSHA512(const void *bytes, int count) { +NSData * _Nonnull CryptoSHA512(const void * _Nonnull bytes, int count) { NSMutableData *result = [[NSMutableData alloc] initWithLength:(NSUInteger)CC_SHA512_DIGEST_LENGTH]; CC_SHA512(bytes, (CC_LONG)count, result.mutableBytes); return result; diff --git a/submodules/TelegramCore/TelegramCore/ImageRepresentationsUtils.swift b/submodules/TelegramCore/TelegramCore/ImageRepresentationsUtils.swift index 8dd0e2b071..ad2b3c6b32 100644 --- a/submodules/TelegramCore/TelegramCore/ImageRepresentationsUtils.swift +++ b/submodules/TelegramCore/TelegramCore/ImageRepresentationsUtils.swift @@ -6,8 +6,12 @@ import Postbox import UIKit import TelegramApi +#if BUCK + import MtProtoKit +#else import MtProtoKitDynamic #endif +#endif public func smallestImageRepresentation(_ representations: [TelegramMediaImageRepresentation]) -> TelegramMediaImageRepresentation? { if representations.count == 0 { diff --git a/submodules/TelegramCore/TelegramCore/MacInternalUpdater.swift b/submodules/TelegramCore/TelegramCore/MacInternalUpdater.swift index d4c1493e7c..a6e2931cbc 100644 --- a/submodules/TelegramCore/TelegramCore/MacInternalUpdater.swift +++ b/submodules/TelegramCore/TelegramCore/MacInternalUpdater.swift @@ -1,3 +1,5 @@ +#if os(macOS) + import TelegramApiMac import SwiftSignalKitMac import PostboxMac @@ -164,3 +166,5 @@ public func downloadAppUpdate(account: Account, source: String, fileName: String } } } + +#endif diff --git a/submodules/TelegramCore/TelegramCore/MessageReactionList.swift b/submodules/TelegramCore/TelegramCore/MessageReactionList.swift index 5df92f6549..85a6b34d8b 100644 --- a/submodules/TelegramCore/TelegramCore/MessageReactionList.swift +++ b/submodules/TelegramCore/TelegramCore/MessageReactionList.swift @@ -82,7 +82,7 @@ private final class MessageReactionCategoryContext { self.state.loadingMore = true self.statePromise.set(self.state) - /*var flags: Int32 = 0 + var flags: Int32 = 0 var reaction: String? switch self.category { case .all: @@ -147,7 +147,7 @@ private final class MessageReactionCategoryContext { }) }, error: { _ in - }))*/ + })) } } diff --git a/submodules/TelegramCore/TelegramCore/MessageReactions.swift b/submodules/TelegramCore/TelegramCore/MessageReactions.swift index 1842464c3e..bb804ff08c 100644 --- a/submodules/TelegramCore/TelegramCore/MessageReactions.swift +++ b/submodules/TelegramCore/TelegramCore/MessageReactions.swift @@ -61,8 +61,7 @@ private enum RequestUpdateMessageReactionError { } private func requestUpdateMessageReaction(postbox: Postbox, network: Network, stateManager: AccountStateManager, messageId: MessageId) -> Signal { - return .fail(.generic) - /*return postbox.transaction { transaction -> (Peer, String?)? in + return postbox.transaction { transaction -> (Peer, String?)? in guard let peer = transaction.getPeer(messageId.peerId) else { return nil } @@ -118,7 +117,7 @@ private func requestUpdateMessageReaction(postbox: Postbox, network: Network, st |> introduceError(RequestUpdateMessageReactionError.self) |> ignoreValues } - }*/ + } } private final class ManagedApplyPendingMessageReactionsActionsHelper { diff --git a/submodules/TelegramCore/TelegramCore/ReactionsMessageAttribute.swift b/submodules/TelegramCore/TelegramCore/ReactionsMessageAttribute.swift index ce3ab1104c..92cd9f78cd 100644 --- a/submodules/TelegramCore/TelegramCore/ReactionsMessageAttribute.swift +++ b/submodules/TelegramCore/TelegramCore/ReactionsMessageAttribute.swift @@ -46,7 +46,7 @@ public final class ReactionsMessageAttribute: MessageAttribute { encoder.encodeObjectArray(self.reactions, forKey: "r") } - /*func withUpdatedResults(_ reactions: Api.MessageReactions) -> ReactionsMessageAttribute { + func withUpdatedResults(_ reactions: Api.MessageReactions) -> ReactionsMessageAttribute { switch reactions { case let .messageReactions(flags, results): let min = (flags & (1 << 0)) != 0 @@ -74,7 +74,7 @@ public final class ReactionsMessageAttribute: MessageAttribute { } return ReactionsMessageAttribute(reactions: reactions) } - }*/ + } } public func mergedMessageReactions(attributes: [MessageAttribute]) -> ReactionsMessageAttribute? { @@ -147,7 +147,7 @@ public final class PendingReactionsMessageAttribute: MessageAttribute { } } -/*extension ReactionsMessageAttribute { +extension ReactionsMessageAttribute { convenience init(apiReactions: Api.MessageReactions) { switch apiReactions { case let .messageReactions(_, results): @@ -159,4 +159,4 @@ public final class PendingReactionsMessageAttribute: MessageAttribute { }) } } -}*/ +} diff --git a/submodules/TelegramCore/TelegramCore/Serialization.swift b/submodules/TelegramCore/TelegramCore/Serialization.swift index 06a094ff21..acd34716b8 100644 --- a/submodules/TelegramCore/TelegramCore/Serialization.swift +++ b/submodules/TelegramCore/TelegramCore/Serialization.swift @@ -220,7 +220,7 @@ public class BoxedMessage: NSObject { public class Serialization: NSObject, MTSerialization { public func currentLayer() -> UInt { - return 105 + return 106 } public func parseMessage(_ data: Data!) -> Any! { diff --git a/submodules/TelegramCore/TelegramCore/StoreMessage_Telegram.swift b/submodules/TelegramCore/TelegramCore/StoreMessage_Telegram.swift index 4514141488..ce92e2195e 100644 --- a/submodules/TelegramCore/TelegramCore/StoreMessage_Telegram.swift +++ b/submodules/TelegramCore/TelegramCore/StoreMessage_Telegram.swift @@ -111,7 +111,7 @@ public func tagsForStoreMessage(incoming: Bool, attributes: [MessageAttribute], func apiMessagePeerId(_ messsage: Api.Message) -> PeerId? { switch messsage { - case let .message(flags, _, fromId, toId, _, _, _, _, _, _, _, _, _, _, _, _, _): + case let .message(flags, _, fromId, toId, _, _, _, _, _, _, _, _, _, _, _, _, _, _): switch toId { case let .peerUser(userId): return PeerId(namespace: Namespaces.Peer.CloudUser, id: (flags & Int32(2)) != 0 ? userId : (fromId ?? userId)) @@ -136,7 +136,7 @@ func apiMessagePeerId(_ messsage: Api.Message) -> PeerId? { func apiMessagePeerIds(_ message: Api.Message) -> [PeerId] { switch message { - case let .message(flags, _, fromId, toId, fwdHeader, viaBotId, _, _, _, media, _, entities, _, _, _, _, _): + case let .message(flags, _, fromId, toId, fwdHeader, viaBotId, _, _, _, media, _, entities, _, _, _, _, _, _): let peerId: PeerId switch toId { case let .peerUser(userId): @@ -240,7 +240,7 @@ func apiMessagePeerIds(_ message: Api.Message) -> [PeerId] { func apiMessageAssociatedMessageIds(_ message: Api.Message) -> [MessageId]? { switch message { - case let .message(flags, _, fromId, toId, _, _, replyToMsgId, _, _, _, _, _, _, _, _, _, _): + case let .message(flags, _, fromId, toId, _, _, replyToMsgId, _, _, _, _, _, _, _, _, _, _, _): if let replyToMsgId = replyToMsgId { let peerId: PeerId switch toId { @@ -382,7 +382,7 @@ func messageTextEntitiesFromApiEntities(_ entities: [Api.MessageEntity]) -> [Mes extension StoreMessage { convenience init?(apiMessage: Api.Message, namespace: MessageId.Namespace = Namespaces.Message.Cloud) { switch apiMessage { - case let .message(flags, id, fromId, toId, fwdFrom, viaBotId, replyToMsgId, date, message, media, replyMarkup, entities, views, editDate, postAuthor, groupingId, restrictionReason): + case let .message(flags, id, fromId, toId, fwdFrom, viaBotId, replyToMsgId, date, message, media, replyMarkup, entities, views, editDate, postAuthor, groupingId, reactions, restrictionReason): let peerId: PeerId var authorId: PeerId? switch toId { @@ -537,9 +537,9 @@ extension StoreMessage { attributes.append(ContentRequiresValidationMessageAttribute()) } - /*if let reactions = reactions { + if let reactions = reactions { attributes.append(ReactionsMessageAttribute(apiReactions: reactions)) - }*/ + } if let restrictionReason = restrictionReason { attributes.append(RestrictedContentMessageAttribute(rules: restrictionReason.map(RestrictionRule.init(apiReason:)))) diff --git a/submodules/TelegramCore/TelegramCore/Themes.swift b/submodules/TelegramCore/TelegramCore/Themes.swift index 34a76d6f28..76f6366fe2 100644 --- a/submodules/TelegramCore/TelegramCore/Themes.swift +++ b/submodules/TelegramCore/TelegramCore/Themes.swift @@ -26,16 +26,16 @@ final class CachedThemesConfiguration: PostboxCoding { } #if os(macOS) -private let themeFormat = "macos" -private let themeFileExtension = "palette" +let telegramThemeFormat = "macos" +let telegramThemeFileExtension = "palette" #else -private let themeFormat = "ios" -private let themeFileExtension = "tgios-theme" +let telegramThemeFormat = "ios" +let telegramThemeFileExtension = "tgios-theme" #endif public func telegramThemes(postbox: Postbox, network: Network, accountManager: AccountManager, forceUpdate: Bool = false) -> Signal<[TelegramTheme], NoError> { let fetch: ([TelegramTheme]?, Int32?) -> Signal<[TelegramTheme], NoError> = { current, hash in - network.request(Api.functions.account.getThemes(format: themeFormat, hash: hash ?? 0)) + network.request(Api.functions.account.getThemes(format: telegramThemeFormat, hash: hash ?? 0)) |> retryRequest |> mapToSignal { result -> Signal<([TelegramTheme], Int32), NoError> in switch result { @@ -109,7 +109,7 @@ public enum GetThemeError { } public func getTheme(account: Account, slug: String) -> Signal { - return account.network.request(Api.functions.account.getTheme(format: themeFormat, theme: .inputThemeSlug(slug: slug), documentId: 0)) + return account.network.request(Api.functions.account.getTheme(format: telegramThemeFormat, theme: .inputThemeSlug(slug: slug), documentId: 0)) |> mapError { error -> GetThemeError in if error.errorDescription == "THEME_FORMAT_INVALID" { return .unsupported @@ -137,7 +137,7 @@ private func checkThemeUpdated(network: Network, theme: TelegramTheme) -> Signal guard let file = theme.file, let fileId = file.id?.id else { return .fail(.generic) } - return network.request(Api.functions.account.getTheme(format: themeFormat, theme: .inputTheme(id: theme.id, accessHash: theme.accessHash), documentId: fileId)) + return network.request(Api.functions.account.getTheme(format: telegramThemeFormat, theme: .inputTheme(id: theme.id, accessHash: theme.accessHash), documentId: fileId)) |> mapError { _ -> GetThemeError in return .generic } |> map { theme -> ThemeUpdatedResult in if let theme = TelegramTheme(apiTheme: theme) { @@ -192,7 +192,7 @@ private func installTheme(account: Account, theme: TelegramTheme?, autoNight: Bo inputTheme = nil } - return account.network.request(Api.functions.account.installTheme(flags: flags, format: themeFormat, theme: inputTheme)) + return account.network.request(Api.functions.account.installTheme(flags: flags, format: telegramThemeFormat, theme: inputTheme)) |> `catch` { _ -> Signal in return .complete() } @@ -240,8 +240,8 @@ private func uploadedThemeThumbnail(postbox: Postbox, network: Network, data: Da } private func uploadTheme(account: Account, resource: MediaResource, thumbnailData: Data? = nil) -> Signal { - let fileName = "theme.\(themeFileExtension)" - let mimeType = "application/x-tgtheme-\(themeFormat)" + let fileName = "theme.\(telegramThemeFileExtension)" + let mimeType = "application/x-tgtheme-\(telegramThemeFormat)" let uploadedThumbnail: Signal if let thumbnailData = thumbnailData { @@ -350,12 +350,12 @@ public func updateTheme(account: Account, accountManager: AccountManager, theme: return .complete() } var flags: Int32 = 0 - if let _ = title { - flags |= 1 << 1 - } if let slug = slug, !slug.isEmpty { flags |= 1 << 0 } + if let _ = title { + flags |= 1 << 1 + } if let _ = resource { flags |= 1 << 2 } @@ -387,7 +387,7 @@ public func updateTheme(account: Account, accountManager: AccountManager, theme: inputDocument = nil } - return account.network.request(Api.functions.account.updateTheme(flags: flags, format: themeFormat, theme: .inputTheme(id: theme.id, accessHash: theme.accessHash), slug: slug, title: title, document: inputDocument)) + return account.network.request(Api.functions.account.updateTheme(flags: flags, format: telegramThemeFormat, theme: .inputTheme(id: theme.id, accessHash: theme.accessHash), slug: slug, title: title, document: inputDocument)) |> mapError { error in if error.errorDescription == "THEME_SLUG_INVALID" { return .slugInvalid diff --git a/submodules/TelegramCore/TelegramCore/UpdateMessageService.swift b/submodules/TelegramCore/TelegramCore/UpdateMessageService.swift index 94d242405b..b493d4bc81 100644 --- a/submodules/TelegramCore/TelegramCore/UpdateMessageService.swift +++ b/submodules/TelegramCore/TelegramCore/UpdateMessageService.swift @@ -69,7 +69,7 @@ class UpdateMessageService: NSObject, MTMessageService { self.putNext(groups) } case let .updateShortChatMessage(flags, id, fromId, chatId, message, pts, ptsCount, date, fwdFrom, viaBotId, replyToMsgId, entities): - let generatedMessage = Api.Message.message(flags: flags, id: id, fromId: fromId, toId: Api.Peer.peerChat(chatId: chatId), fwdFrom: fwdFrom, viaBotId: viaBotId, replyToMsgId: replyToMsgId, date: date, message: message, media: Api.MessageMedia.messageMediaEmpty, replyMarkup: nil, entities: entities, views: nil, editDate: nil, postAuthor: nil, groupedId: nil, restrictionReason: nil) + let generatedMessage = Api.Message.message(flags: flags, id: id, fromId: fromId, toId: Api.Peer.peerChat(chatId: chatId), fwdFrom: fwdFrom, viaBotId: viaBotId, replyToMsgId: replyToMsgId, date: date, message: message, media: Api.MessageMedia.messageMediaEmpty, replyMarkup: nil, entities: entities, views: nil, editDate: nil, postAuthor: nil, groupedId: nil, reactions: nil, restrictionReason: nil) let update = Api.Update.updateNewMessage(message: generatedMessage, pts: pts, ptsCount: ptsCount) let groups = groupUpdates([update], users: [], chats: [], date: date, seqRange: nil) if groups.count != 0 { @@ -86,7 +86,7 @@ class UpdateMessageService: NSObject, MTMessageService { generatedToId = Api.Peer.peerUser(userId: self.peerId.id) } - let generatedMessage = Api.Message.message(flags: flags, id: id, fromId: generatedFromId, toId: generatedToId, fwdFrom: fwdFrom, viaBotId: viaBotId, replyToMsgId: replyToMsgId, date: date, message: message, media: Api.MessageMedia.messageMediaEmpty, replyMarkup: nil, entities: entities, views: nil, editDate: nil, postAuthor: nil, groupedId: nil, restrictionReason: nil) + let generatedMessage = Api.Message.message(flags: flags, id: id, fromId: generatedFromId, toId: generatedToId, fwdFrom: fwdFrom, viaBotId: viaBotId, replyToMsgId: replyToMsgId, date: date, message: message, media: Api.MessageMedia.messageMediaEmpty, replyMarkup: nil, entities: entities, views: nil, editDate: nil, postAuthor: nil, groupedId: nil, reactions: nil, restrictionReason: nil) let update = Api.Update.updateNewMessage(message: generatedMessage, pts: pts, ptsCount: ptsCount) let groups = groupUpdates([update], users: [], chats: [], date: date, seqRange: nil) if groups.count != 0 { diff --git a/submodules/TelegramCore/TelegramCore/UpdatesApiUtils.swift b/submodules/TelegramCore/TelegramCore/UpdatesApiUtils.swift index 2439756d55..651711a391 100644 --- a/submodules/TelegramCore/TelegramCore/UpdatesApiUtils.swift +++ b/submodules/TelegramCore/TelegramCore/UpdatesApiUtils.swift @@ -100,7 +100,7 @@ extension Api.MessageMedia { extension Api.Message { var rawId: Int32 { switch self { - case let .message(_, id, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _): + case let .message(_, id, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _): return id case let .messageEmpty(id): return id @@ -111,7 +111,7 @@ extension Api.Message { func id(namespace: MessageId.Namespace = Namespaces.Message.Cloud) -> MessageId? { switch self { - case let .message(flags, id, fromId, toId, _, _, _, _, _, _, _, _, _, _, _, _, _): + case let .message(flags, id, fromId, toId, _, _, _, _, _, _, _, _, _, _, _, _, _, _): let peerId: PeerId switch toId { case let .peerUser(userId): @@ -146,7 +146,7 @@ extension Api.Message { var timestamp: Int32? { switch self { - case let .message(_, _, _, _, _, _, _, date, _, _, _, _, _, _, _, _, _): + case let .message(_, _, _, _, _, _, _, date, _, _, _, _, _, _, _, _, _, _): return date case let .messageService(_, _, _, _, _, date, _): return date @@ -157,7 +157,7 @@ extension Api.Message { var preCachedResources: [(MediaResource, Data)]? { switch self { - case let .message(_, _, _, _, _, _, _, _, _, media, _, _, _, _, _, _, _): + case let .message(_, _, _, _, _, _, _, _, _, media, _, _, _, _, _, _, _, _): return media?.preCachedResources default: return nil diff --git a/submodules/TelegramCore/TelegramCore_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramCore/TelegramCore_Xcode.xcodeproj/project.pbxproj index e6a6a16414..a458679f58 100644 --- a/submodules/TelegramCore/TelegramCore_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramCore/TelegramCore_Xcode.xcodeproj/project.pbxproj @@ -554,7 +554,6 @@ D0AF32311FACEDEC0097362B /* CoreSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AF32301FACEDEC0097362B /* CoreSettings.swift */; }; D0AF32321FACEDEC0097362B /* CoreSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AF32301FACEDEC0097362B /* CoreSettings.swift */; }; D0AF32351FAE8C6B0097362B /* MultipeerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AF32341FAE8C6B0097362B /* MultipeerManager.swift */; }; - D0AF32381FAE8C920097362B /* MultipeerConnectivity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AF32371FAE8C910097362B /* MultipeerConnectivity.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; D0B1671D1F9EA2C300976B40 /* ChatHistoryPreloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B1671C1F9EA2C300976B40 /* ChatHistoryPreloadManager.swift */; }; D0B1671E1F9EA2C300976B40 /* ChatHistoryPreloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B1671C1F9EA2C300976B40 /* ChatHistoryPreloadManager.swift */; }; D0B167231F9F972E00976B40 /* LoggingSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B167221F9F972E00976B40 /* LoggingSettings.swift */; }; @@ -1231,7 +1230,6 @@ files = ( D03E45D42305D44A0049C28B /* libphonenumber.framework in Frameworks */, D035732F22B5C24F00F0920D /* TelegramApi.framework in Frameworks */, - D0AF32381FAE8C920097362B /* MultipeerConnectivity.framework in Frameworks */, D0CAF2EA1D75EC600011F558 /* MtProtoKitDynamic.framework in Frameworks */, D067066C1D512ADB00DED3E3 /* Postbox.framework in Frameworks */, D067066D1D512ADB00DED3E3 /* SwiftSignalKit.framework in Frameworks */, diff --git a/submodules/TelegramNotices/BUCK b/submodules/TelegramNotices/BUCK new file mode 100644 index 0000000000..7341e6b408 --- /dev/null +++ b/submodules/TelegramNotices/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramNotices", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/TelegramPermissions:TelegramPermissions", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TelegramNotices/TelegramNotices.xcodeproj/project.pbxproj b/submodules/TelegramNotices/TelegramNotices.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..d300feebd3 --- /dev/null +++ b/submodules/TelegramNotices/TelegramNotices.xcodeproj/project.pbxproj @@ -0,0 +1,753 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FFA0453B00000000 + + isa + PBXFileReference + name + TelegramNotices-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramNotices/TelegramNotices-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297DC679E500000000 + + isa + PBXFileReference + name + TelegramNotices-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramNotices/TelegramNotices-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F15D254700000000 + + isa + PBXFileReference + name + TelegramNotices-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramNotices/TelegramNotices-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FFA0453B00000000 + 1DD70E297DC679E500000000 + 1DD70E29F15D254700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E290DD17C7100000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E2988BAAFC800000000 + + isa + PBXFileReference + name + libTelegramNotices.a + path + libTelegramNotices.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2988BAAFC800000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2916787EE000000000 + + isa + PBXFileReference + name + Notices.swift + path + Sources/Notices.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2916787EE000000000 + + + B401C9793C86B83A00000000 + + isa + PBXGroup + name + TelegramNotices + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9793C86B83A00000000 + + + E7A30F0416787EE000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2916787EE000000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0416787EE000000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F040DD17C7100000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FFA0453B00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E297DC679E500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29F15D254700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E3C86B83A00000000 + + isa + PBXNativeTarget + name + TelegramNotices + productName + TelegramNotices + productReference + 1DD70E2988BAAFC800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847933C86B83A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E3C86B83A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847933C86B83A00000000 + + \ No newline at end of file diff --git a/submodules/TelegramNotices/TelegramNotices.xcodeproj/xcshareddata/xcschemes/TelegramNotices.xcscheme b/submodules/TelegramNotices/TelegramNotices.xcodeproj/xcshareddata/xcschemes/TelegramNotices.xcscheme new file mode 100644 index 0000000000..97ee34fd9a --- /dev/null +++ b/submodules/TelegramNotices/TelegramNotices.xcodeproj/xcshareddata/xcschemes/TelegramNotices.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramPermissions/BUCK b/submodules/TelegramPermissions/BUCK new file mode 100644 index 0000000000..c0082babff --- /dev/null +++ b/submodules/TelegramPermissions/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramPermissions", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/DeviceAccess:DeviceAccess", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TelegramPermissions/TelegramPermissions.xcodeproj/project.pbxproj b/submodules/TelegramPermissions/TelegramPermissions.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..183d75c915 --- /dev/null +++ b/submodules/TelegramPermissions/TelegramPermissions.xcodeproj/project.pbxproj @@ -0,0 +1,731 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2962947DB200000000 + + isa + PBXFileReference + name + TelegramPermissions-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramPermissions/TelegramPermissions-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29F48E709C00000000 + + isa + PBXFileReference + name + TelegramPermissions-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramPermissions/TelegramPermissions-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2968251BFE00000000 + + isa + PBXFileReference + name + TelegramPermissions-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramPermissions/TelegramPermissions-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2962947DB200000000 + 1DD70E29F48E709C00000000 + 1DD70E2968251BFE00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E290DD17C7100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29C5F75D5400000000 + + isa + PBXFileReference + name + Permission.swift + path + Sources/Permission.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29C5F75D5400000000 + + + B401C97918FD80A300000000 + + isa + PBXGroup + name + TelegramPermissions + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97918FD80A300000000 + + + E7A30F04C5F75D5400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C5F75D5400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04C5F75D5400000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2962947DB200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29F48E709C00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2968251BFE00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E18FD80A300000000 + + isa + PBXNativeTarget + name + TelegramPermissions + productName + TelegramPermissions + productReference + 1DD70E290DD17C7100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479318FD80A300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E18FD80A300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479318FD80A300000000 + + \ No newline at end of file diff --git a/submodules/TelegramPermissions/TelegramPermissions.xcodeproj/xcshareddata/xcschemes/TelegramPermissions.xcscheme b/submodules/TelegramPermissions/TelegramPermissions.xcodeproj/xcshareddata/xcschemes/TelegramPermissions.xcscheme new file mode 100644 index 0000000000..afce0dc691 --- /dev/null +++ b/submodules/TelegramPermissions/TelegramPermissions.xcodeproj/xcshareddata/xcschemes/TelegramPermissions.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramPermissionsUI/BUCK b/submodules/TelegramPermissionsUI/BUCK new file mode 100644 index 0000000000..b7dc3c5751 --- /dev/null +++ b/submodules/TelegramPermissionsUI/BUCK @@ -0,0 +1,27 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramPermissionsUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/TextFormat:TextFormat", + "//submodules/TelegramPermissions:TelegramPermissions", + "//submodules/DeviceAccess:DeviceAccess", + "//submodules/PeersNearbyIconNode:PeersNearbyIconNode", + "//submodules/SolidRoundedButtonNode:SolidRoundedButtonNode", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TelegramPermissionsUI/Sources/FrameworkBundle.swift b/submodules/TelegramPermissionsUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/TelegramPermissionsUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/TelegramPermissionsUI/Sources/PermissionControllerNode.swift b/submodules/TelegramPermissionsUI/Sources/PermissionControllerNode.swift index 453641556e..313306012c 100644 --- a/submodules/TelegramPermissionsUI/Sources/PermissionControllerNode.swift +++ b/submodules/TelegramPermissionsUI/Sources/PermissionControllerNode.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import AccountContext import TelegramPermissions +import AppBundle public struct PermissionControllerCustomIcon: Equatable { let light: UIImage? diff --git a/submodules/TelegramPermissionsUI/TelegramPermissionsUI.xcodeproj/project.pbxproj b/submodules/TelegramPermissionsUI/TelegramPermissionsUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..49497ae64d --- /dev/null +++ b/submodules/TelegramPermissionsUI/TelegramPermissionsUI.xcodeproj/project.pbxproj @@ -0,0 +1,857 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E293BF62D5E00000000 + + isa + PBXFileReference + name + TelegramPermissionsUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramPermissionsUI/TelegramPermissionsUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29FC42E54800000000 + + isa + PBXFileReference + name + TelegramPermissionsUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramPermissionsUI/TelegramPermissionsUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296FD990AA00000000 + + isa + PBXFileReference + name + TelegramPermissionsUI-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramPermissionsUI/TelegramPermissionsUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E293BF62D5E00000000 + 1DD70E29FC42E54800000000 + 1DD70E296FD990AA00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291631B91900000000 + + isa + PBXFileReference + name + libPeersNearbyIconNode.a + path + libPeersNearbyIconNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29524F478E00000000 + + isa + PBXFileReference + name + libSolidRoundedButtonNode.a + path + libSolidRoundedButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E290DD17C7100000000 + + isa + PBXFileReference + name + libTelegramPermissions.a + path + libTelegramPermissions.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E291631B91900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29524F478E00000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E290DD17C7100000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29DF758A8500000000 + + isa + PBXFileReference + name + libTelegramPermissionsUI.a + path + libTelegramPermissionsUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29DF758A8500000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E293756365100000000 + + isa + PBXFileReference + name + PermissionContentNode.swift + path + Sources/PermissionContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2944AF915000000000 + + isa + PBXFileReference + name + PermissionController.swift + path + Sources/PermissionController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A44DC47200000000 + + isa + PBXFileReference + name + PermissionControllerNode.swift + path + Sources/PermissionControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FF6EB28200000000 + + isa + PBXFileReference + name + PermissionSplitTest.swift + path + Sources/PermissionSplitTest.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E293756365100000000 + 1DD70E2944AF915000000000 + 1DD70E29A44DC47200000000 + 1DD70E29FF6EB28200000000 + + + B401C979CF9FEE7700000000 + + isa + PBXGroup + name + TelegramPermissionsUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979CF9FEE7700000000 + + + E7A30F043756365100000000 + + isa + PBXBuildFile + fileRef + 1DD70E293756365100000000 + + E7A30F0444AF915000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2944AF915000000000 + + E7A30F04A44DC47200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A44DC47200000000 + + E7A30F04FF6EB28200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF6EB28200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F043756365100000000 + E7A30F0444AF915000000000 + E7A30F04A44DC47200000000 + E7A30F04FF6EB28200000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041631B91900000000 + + isa + PBXBuildFile + fileRef + 1DD70E291631B91900000000 + + E7A30F04524F478E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29524F478E00000000 + + E7A30F040DD17C7100000000 + + isa + PBXBuildFile + fileRef + 1DD70E290DD17C7100000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F042417E0B200000000 + E7A30F041631B91900000000 + E7A30F04524F478E00000000 + E7A30F040DD17C7100000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E293BF62D5E00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29FC42E54800000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E296FD990AA00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ECF9FEE7700000000 + + isa + PBXNativeTarget + name + TelegramPermissionsUI + productName + TelegramPermissionsUI + productReference + 1DD70E29DF758A8500000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793CF9FEE7700000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ECF9FEE7700000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793CF9FEE7700000000 + + \ No newline at end of file diff --git a/submodules/TelegramPermissionsUI/TelegramPermissionsUI.xcodeproj/xcshareddata/xcschemes/TelegramPermissionsUI.xcscheme b/submodules/TelegramPermissionsUI/TelegramPermissionsUI.xcodeproj/xcshareddata/xcschemes/TelegramPermissionsUI.xcscheme new file mode 100644 index 0000000000..422fe64965 --- /dev/null +++ b/submodules/TelegramPermissionsUI/TelegramPermissionsUI.xcodeproj/xcshareddata/xcschemes/TelegramPermissionsUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramPermissionsUI/TelegramPermissionsUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramPermissionsUI/TelegramPermissionsUI_Xcode.xcodeproj/project.pbxproj index 4daab3fd10..f47b344ba7 100644 --- a/submodules/TelegramPermissionsUI/TelegramPermissionsUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramPermissionsUI/TelegramPermissionsUI_Xcode.xcodeproj/project.pbxproj @@ -24,9 +24,9 @@ D0C9C9872302151500FAB518 /* DeviceAccess.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C9862302151500FAB518 /* DeviceAccess.framework */; }; D0C9C9892302151900FAB518 /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C9882302151900FAB518 /* AccountContext.framework */; }; D0C9C98B2302152800FAB518 /* Postbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C98A2302152800FAB518 /* Postbox.framework */; }; - D0C9C9912302157F00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C9902302157F00FAB518 /* FrameworkBundle.swift */; }; D0C9C9BD2302168C00FAB518 /* PeersNearbyIconNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C9BC2302168C00FAB518 /* PeersNearbyIconNode.framework */; }; D0C9C9DC2302266A00FAB518 /* SolidRoundedButtonNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C9DB2302266A00FAB518 /* SolidRoundedButtonNode.framework */; }; + D0EFF276231982EE00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF275231982EE00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -49,9 +49,9 @@ D0C9C9862302151500FAB518 /* DeviceAccess.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DeviceAccess.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C9882302151900FAB518 /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C98A2302152800FAB518 /* Postbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Postbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C9902302157F00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C9BC2302168C00FAB518 /* PeersNearbyIconNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PeersNearbyIconNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C9DB2302266A00FAB518 /* SolidRoundedButtonNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SolidRoundedButtonNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF275231982EE00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -59,6 +59,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF276231982EE00CF5164 /* AppBundle.framework in Frameworks */, D0C9C9DC2302266A00FAB518 /* SolidRoundedButtonNode.framework in Frameworks */, D0C9C9BD2302168C00FAB518 /* PeersNearbyIconNode.framework in Frameworks */, D0C9C98B2302152800FAB518 /* Postbox.framework in Frameworks */, @@ -104,7 +105,6 @@ D0C9C96B230214D300FAB518 /* PermissionController.swift */, D0C9C96A230214D300FAB518 /* PermissionControllerNode.swift */, D0C9C96C230214D300FAB518 /* PermissionSplitTest.swift */, - D0C9C9902302157F00FAB518 /* FrameworkBundle.swift */, D0C9C95D2302147100FAB518 /* TelegramPermissionsUI.h */, ); path = Sources; @@ -113,6 +113,7 @@ D0C9C973230214E500FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF275231982EE00CF5164 /* AppBundle.framework */, D0C9C9DB2302266A00FAB518 /* SolidRoundedButtonNode.framework */, D0C9C9BC2302168C00FAB518 /* PeersNearbyIconNode.framework */, D0C9C98A2302152800FAB518 /* Postbox.framework */, @@ -213,7 +214,6 @@ files = ( D0C9C96F230214D300FAB518 /* PermissionControllerNode.swift in Sources */, D0C9C971230214D300FAB518 /* PermissionSplitTest.swift in Sources */, - D0C9C9912302157F00FAB518 /* FrameworkBundle.swift in Sources */, D0C9C96E230214D300FAB518 /* PermissionContentNode.swift in Sources */, D0C9C970230214D300FAB518 /* PermissionController.swift in Sources */, ); diff --git a/submodules/TelegramPresentationData/BUCK b/submodules/TelegramPresentationData/BUCK new file mode 100644 index 0000000000..898ef3644e --- /dev/null +++ b/submodules/TelegramPresentationData/BUCK @@ -0,0 +1,28 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramPresentationData", + srcs = glob([ + "Sources/**/*.swift", + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/TelegramPresentationData.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/TelegramPresentationData.h"]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/Display:Display#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/MediaResources:MediaResources", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TelegramPresentationData/Sources/ChatControllerBackgroundNode.swift b/submodules/TelegramPresentationData/Sources/ChatControllerBackgroundNode.swift index eedc9b666a..914406bd5a 100644 --- a/submodules/TelegramPresentationData/Sources/ChatControllerBackgroundNode.swift +++ b/submodules/TelegramPresentationData/Sources/ChatControllerBackgroundNode.swift @@ -6,6 +6,7 @@ import Display import SwiftSignalKit import Postbox import MediaResources +import AppBundle private var backgroundImageForWallpaper: (TelegramWallpaper, Bool, UIImage)? @@ -31,7 +32,7 @@ public func chatControllerBackgroundImage(theme: PresentationTheme, wallpaper in } else { switch wallpaper { case .builtin: - if let filePath = frameworkBundle.path(forResource: "ChatWallpaperBuiltin0", ofType: "jpg") { + if let filePath = getAppBundle().path(forResource: "ChatWallpaperBuiltin0", ofType: "jpg") { backgroundImage = UIImage(contentsOfFile: filePath)?.precomposed() } case let .color(color): diff --git a/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift b/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift index f0e58a29f7..4aae407cd9 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift @@ -100,6 +100,7 @@ private func makeDarkPresentationTheme(accentColor: UIColor, baseColor: Presenta ) let intro = PresentationThemeIntro( + statusBarStyle: .white, startButtonColor: accentColor, dotColor: UIColor(rgb: 0x5e5e5e) ) diff --git a/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift b/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift index dc9ba24d42..42eb388be7 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift @@ -76,6 +76,7 @@ private func makeDarkPresentationTheme(accentColor: UIColor, baseColor: Presenta ) let intro = PresentationThemeIntro( + statusBarStyle: .white, startButtonColor: accentColor, dotColor: mainSecondaryColor ) diff --git a/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift b/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift index 8b7635dfa0..de62fd3dcf 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift @@ -83,6 +83,7 @@ private func makeDefaultDayPresentationTheme(accentColor: UIColor, serviceBackgr ) let intro = PresentationThemeIntro( + statusBarStyle: .black, startButtonColor: UIColor(rgb: 0x2ca5e0), dotColor: UIColor(rgb: 0xd9d9d9) ) @@ -294,8 +295,8 @@ private func makeDefaultDayPresentationTheme(accentColor: UIColor, serviceBackgr ) let historyNavigation = PresentationThemeChatHistoryNavigation( - fillColor: .white, - strokeColor: UIColor(rgb: 0x000000, alpha: 0.15), + fillColor: UIColor(rgb: 0xf7f7f7), + strokeColor: UIColor(rgb: 0xb1b1b1), foregroundColor: UIColor(rgb: 0x88888d), badgeBackgroundColor: accentColor, badgeStrokeColor: accentColor, diff --git a/submodules/TelegramPresentationData/Sources/DefaultPresentationStrings.swift b/submodules/TelegramPresentationData/Sources/DefaultPresentationStrings.swift index 2a2ecabdc8..2503c64bae 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultPresentationStrings.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultPresentationStrings.swift @@ -1,3 +1,4 @@ import Foundation +import AppBundle -public let defaultPresentationStrings = PresentationStrings(primaryComponent: PresentationStringsComponent(languageCode: "en", localizedName: "English", pluralizationRulesCode: nil, dict: NSDictionary(contentsOf: URL(fileURLWithPath: Bundle.main.path(forResource: "Localizable", ofType: "strings", inDirectory: nil, forLocalization: "en")!)) as! [String : String]), secondaryComponent: nil, groupingSeparator: "") +public let defaultPresentationStrings = PresentationStrings(primaryComponent: PresentationStringsComponent(languageCode: "en", localizedName: "English", pluralizationRulesCode: nil, dict: NSDictionary(contentsOf: URL(fileURLWithPath: getAppBundle().path(forResource: "Localizable", ofType: "strings", inDirectory: nil, forLocalization: "en")!)) as! [String : String]), secondaryComponent: nil, groupingSeparator: "") diff --git a/submodules/TelegramPresentationData/Sources/FrameworkSpecific.swift b/submodules/TelegramPresentationData/Sources/FrameworkSpecific.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/TelegramPresentationData/Sources/FrameworkSpecific.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/TelegramPresentationData/Sources/PresentationData.swift b/submodules/TelegramPresentationData/Sources/PresentationData.swift index daf5512ea4..cd28f86b61 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationData.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationData.swift @@ -7,6 +7,7 @@ import Contacts import AddressBook import Display import TelegramUIPreferences +import AppBundle public struct PresentationDateTimeFormat: Equatable { public let timeFormat: PresentationTimeFormat @@ -121,7 +122,7 @@ public func dictFromLocalization(_ value: Localization) -> [String: String] { } private func volumeControlStatusBarIcons() -> PresentationVolumeControlStatusBarIcons { - let bundle = Bundle(for: PresentationTheme.self) + let bundle = getAppBundle() return PresentationVolumeControlStatusBarIcons(offIcon: UIImage(named: "Components/Volume/VolumeOff", in: bundle, compatibleWith: nil)!, halfIcon: UIImage(named: "Components/Volume/VolumeHalf", in: bundle, compatibleWith: nil)!, fullIcon: UIImage(named: "Components/Volume/VolumeFull", in: bundle, compatibleWith: nil)!) } @@ -254,7 +255,7 @@ public func currentPresentationDataAndSettings(accountManager: AccountManager) - let parameters = AutomaticThemeSwitchParameters(settings: themeSettings.automaticThemeSwitchSetting) if automaticThemeShouldSwitchNow(parameters, currentTheme: themeSettings.theme) { - effectiveTheme = .builtin(themeSettings.automaticThemeSwitchSetting.theme) + effectiveTheme = themeSettings.automaticThemeSwitchSetting.theme } else { effectiveTheme = themeSettings.theme } @@ -301,7 +302,7 @@ private enum PreparedAutomaticThemeSwitchTrigger { private struct AutomaticThemeSwitchParameters { let trigger: PreparedAutomaticThemeSwitchTrigger - let theme: PresentationBuiltinThemeReference + let theme: PresentationThemeReference init(settings: AutomaticThemeSwitchSetting) { let trigger: PreparedAutomaticThemeSwitchTrigger @@ -330,17 +331,6 @@ private struct AutomaticThemeSwitchParameters { } private func automaticThemeShouldSwitchNow(_ parameters: AutomaticThemeSwitchParameters, currentTheme: PresentationThemeReference) -> Bool { - switch currentTheme { - case let .builtin(builtin): - switch builtin { - case .nightAccent, .night: - return false - default: - break - } - default: - return false - } switch parameters.trigger { case .none: return false @@ -514,7 +504,7 @@ public func updatedPresentationData(accountManager: AccountManager, applicationI var effectiveChatWallpaper: TelegramWallpaper = currentWallpaper if shouldSwitch { - let automaticTheme: PresentationThemeReference = .builtin(themeSettings.automaticThemeSwitchSetting.theme) + let automaticTheme = themeSettings.automaticThemeSwitchSetting.theme if let themeSpecificWallpaper = themeSettings.themeSpecificChatWallpapers[automaticTheme.index] { effectiveChatWallpaper = themeSpecificWallpaper } diff --git a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift index 49c2564142..001fc076b2 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift @@ -1,7 +1,8 @@ import Foundation +import AppBundle private let fallbackDict: [String: String] = { - guard let mainPath = Bundle.main.path(forResource: "en", ofType: "lproj"), let bundle = Bundle(path: mainPath) else { + guard let mainPath = getAppBundle().path(forResource: "en", ofType: "lproj"), let bundle = Bundle(path: mainPath) else { return [:] } guard let path = bundle.path(forResource: "Localizable", ofType: "strings") else { @@ -139,7 +140,7 @@ private final class DataReader { } private func loadMapping() -> ([Int], [String], [Int], [Int], [String]) { - guard let filePath = Bundle(for: PresentationStrings.self).path(forResource: "PresentationStrings", ofType: "mapping") else { + guard let filePath = getAppBundle().path(forResource: "PresentationStrings", ofType: "mapping") else { fatalError() } guard let data = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else { @@ -214,4525 +215,4554 @@ public final class PresentationStrings { public var FastTwoStepSetup_PasswordHelp: String { return self._s[24]! } public var SettingsSearch_Synonyms_Notifications_Title: String { return self._s[25]! } public var StickerPacksSettings_AnimatedStickers: String { return self._s[26]! } - public var AutoDownloadSettings_Files: String { return self._s[27]! } - public var TextFormat_AddLinkPlaceholder: String { return self._s[28]! } - public var LastSeen_Lately: String { return self._s[33]! } + public func Items_NOfM(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[27]!, self._r[27]!, [_1, _2]) + } + public var AutoDownloadSettings_Files: String { return self._s[28]! } + public var TextFormat_AddLinkPlaceholder: String { return self._s[29]! } + public var LastSeen_Lately: String { return self._s[34]! } public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[34]!, self._r[34]!, [_1, _2]) + return formatWithArgumentRanges(self._s[35]!, self._r[35]!, [_1, _2]) } - public var Camera_Discard: String { return self._s[35]! } - public var Channel_EditAdmin_PermissinAddAdminOff: String { return self._s[36]! } - public var Login_InvalidPhoneError: String { return self._s[38]! } - public var SettingsSearch_Synonyms_Privacy_AuthSessions: String { return self._s[39]! } - public var GroupInfo_LabelOwner: String { return self._s[40]! } - public var Conversation_Moderate_Delete: String { return self._s[41]! } - public var Conversation_DeleteMessagesForEveryone: String { return self._s[42]! } - public var WatchRemote_AlertOpen: String { return self._s[43]! } + public var Camera_Discard: String { return self._s[36]! } + public var Channel_EditAdmin_PermissinAddAdminOff: String { return self._s[37]! } + public var Login_InvalidPhoneError: String { return self._s[39]! } + public var SettingsSearch_Synonyms_Privacy_AuthSessions: String { return self._s[40]! } + public var GroupInfo_LabelOwner: String { return self._s[41]! } + public var Conversation_Moderate_Delete: String { return self._s[42]! } + public var Conversation_DeleteMessagesForEveryone: String { return self._s[43]! } + public var WatchRemote_AlertOpen: String { return self._s[44]! } public func MediaPicker_Nof(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[44]!, self._r[44]!, [_0]) + return formatWithArgumentRanges(self._s[45]!, self._r[45]!, [_0]) } - public var EditTheme_Expand_Preview_IncomingReplyName: String { return self._s[45]! } - public var AutoDownloadSettings_MediaTypes: String { return self._s[47]! } - public var Watch_GroupInfo_Title: String { return self._s[48]! } - public var Passport_Identity_AddPersonalDetails: String { return self._s[49]! } - public var Channel_Info_Members: String { return self._s[50]! } - public var LoginPassword_InvalidPasswordError: String { return self._s[52]! } - public var Conversation_LiveLocation: String { return self._s[53]! } - public var PrivacyLastSeenSettings_CustomShareSettingsHelp: String { return self._s[54]! } - public var NetworkUsageSettings_BytesReceived: String { return self._s[56]! } - public var Stickers_Search: String { return self._s[58]! } - public var NotificationsSound_Synth: String { return self._s[59]! } - public var LogoutOptions_LogOutInfo: String { return self._s[60]! } + public var EditTheme_Expand_Preview_IncomingReplyName: String { return self._s[46]! } + public var AutoDownloadSettings_MediaTypes: String { return self._s[48]! } + public var Watch_GroupInfo_Title: String { return self._s[49]! } + public var Passport_Identity_AddPersonalDetails: String { return self._s[50]! } + public var Channel_Info_Members: String { return self._s[51]! } + public var LoginPassword_InvalidPasswordError: String { return self._s[53]! } + public var Conversation_LiveLocation: String { return self._s[54]! } + public var PrivacyLastSeenSettings_CustomShareSettingsHelp: String { return self._s[55]! } + public var NetworkUsageSettings_BytesReceived: String { return self._s[57]! } + public var Stickers_Search: String { return self._s[59]! } + public var NotificationsSound_Synth: String { return self._s[60]! } + public var LogoutOptions_LogOutInfo: String { return self._s[61]! } public func VoiceOver_Chat_ForwardedFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[62]!, self._r[62]!, [_0]) + return formatWithArgumentRanges(self._s[63]!, self._r[63]!, [_0]) } - public var NetworkUsageSettings_MediaAudioDataSection: String { return self._s[63]! } - public var AutoNightTheme_UseSunsetSunrise: String { return self._s[65]! } - public var FastTwoStepSetup_Title: String { return self._s[66]! } - public var EditTheme_Create_Preview_IncomingReplyText: String { return self._s[67]! } - public var Channel_Info_BlackList: String { return self._s[68]! } - public var Channel_AdminLog_InfoPanelTitle: String { return self._s[69]! } - public var Conversation_OpenFile: String { return self._s[70]! } - public var SecretTimer_ImageDescription: String { return self._s[71]! } - public var StickerSettings_ContextInfo: String { return self._s[72]! } - public var TwoStepAuth_GenericHelp: String { return self._s[74]! } - public var AutoDownloadSettings_Unlimited: String { return self._s[75]! } - public var PrivacyLastSeenSettings_NeverShareWith_Title: String { return self._s[76]! } - public var AutoDownloadSettings_DataUsageHigh: String { return self._s[77]! } + public var NetworkUsageSettings_MediaAudioDataSection: String { return self._s[64]! } + public var ChatList_Context_HideArchive: String { return self._s[66]! } + public var AutoNightTheme_UseSunsetSunrise: String { return self._s[67]! } + public var FastTwoStepSetup_Title: String { return self._s[68]! } + public var EditTheme_Create_Preview_IncomingReplyText: String { return self._s[69]! } + public var Channel_Info_BlackList: String { return self._s[70]! } + public var Channel_AdminLog_InfoPanelTitle: String { return self._s[71]! } + public var Conversation_OpenFile: String { return self._s[72]! } + public var SecretTimer_ImageDescription: String { return self._s[73]! } + public var StickerSettings_ContextInfo: String { return self._s[74]! } + public var TwoStepAuth_GenericHelp: String { return self._s[76]! } + public var AutoDownloadSettings_Unlimited: String { return self._s[77]! } + public var PrivacyLastSeenSettings_NeverShareWith_Title: String { return self._s[78]! } + public var AutoDownloadSettings_DataUsageHigh: String { return self._s[79]! } public func PUSH_CHAT_MESSAGE_VIDEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[78]!, self._r[78]!, [_1, _2]) + return formatWithArgumentRanges(self._s[80]!, self._r[80]!, [_1, _2]) } - public var Notifications_AddExceptionTitle: String { return self._s[79]! } - public var Watch_MessageView_Reply: String { return self._s[80]! } - public var Tour_Text6: String { return self._s[81]! } - public var TwoStepAuth_SetupPasswordEnterPasswordChange: String { return self._s[82]! } + public var Notifications_AddExceptionTitle: String { return self._s[81]! } + public var Watch_MessageView_Reply: String { return self._s[82]! } + public var Tour_Text6: String { return self._s[83]! } + public var TwoStepAuth_SetupPasswordEnterPasswordChange: String { return self._s[84]! } public func Notification_PinnedAnimationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[83]!, self._r[83]!, [_0]) + return formatWithArgumentRanges(self._s[85]!, self._r[85]!, [_0]) } public func ShareFileTip_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[84]!, self._r[84]!, [_0]) + return formatWithArgumentRanges(self._s[86]!, self._r[86]!, [_0]) } - public var AccessDenied_LocationDenied: String { return self._s[85]! } - public var CallSettings_RecentCalls: String { return self._s[86]! } - public var ConversationProfile_LeaveDeleteAndExit: String { return self._s[87]! } - public var Channel_Members_AddAdminErrorBlacklisted: String { return self._s[88]! } - public var Passport_Authorize: String { return self._s[89]! } - public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[90]! } - public var AutoDownloadSettings_Videos: String { return self._s[91]! } - public var TwoStepAuth_ReEnterPasswordTitle: String { return self._s[92]! } - public var Tour_StartButton: String { return self._s[93]! } - public var Watch_AppName: String { return self._s[95]! } - public var StickerPack_ErrorNotFound: String { return self._s[96]! } - public var Channel_Info_Subscribers: String { return self._s[97]! } + public var AccessDenied_LocationDenied: String { return self._s[87]! } + public var CallSettings_RecentCalls: String { return self._s[88]! } + public var ConversationProfile_LeaveDeleteAndExit: String { return self._s[89]! } + public var Channel_Members_AddAdminErrorBlacklisted: String { return self._s[90]! } + public var Passport_Authorize: String { return self._s[91]! } + public var StickerPacksSettings_ArchivedMasks_Info: String { return self._s[92]! } + public var AutoDownloadSettings_Videos: String { return self._s[93]! } + public var TwoStepAuth_ReEnterPasswordTitle: String { return self._s[94]! } + public var Tour_StartButton: String { return self._s[95]! } + public var Watch_AppName: String { return self._s[97]! } + public var StickerPack_ErrorNotFound: String { return self._s[98]! } + public var Channel_Info_Subscribers: String { return self._s[99]! } public func Channel_AdminLog_MessageGroupPreHistoryVisible(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[98]!, self._r[98]!, [_0]) + return formatWithArgumentRanges(self._s[100]!, self._r[100]!, [_0]) } public func DialogList_PinLimitError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[99]!, self._r[99]!, [_0]) + return formatWithArgumentRanges(self._s[101]!, self._r[101]!, [_0]) } - public var Appearance_RemoveTheme: String { return self._s[100]! } - public var Conversation_StopLiveLocation: String { return self._s[102]! } - public var Channel_AdminLogFilter_EventsAll: String { return self._s[103]! } - public var GroupInfo_InviteLink_CopyAlert_Success: String { return self._s[105]! } - public var Username_LinkCopied: String { return self._s[107]! } - public var GroupRemoved_Title: String { return self._s[108]! } - public var SecretVideo_Title: String { return self._s[109]! } + public var Appearance_RemoveTheme: String { return self._s[102]! } + public var Conversation_StopLiveLocation: String { return self._s[104]! } + public var Channel_AdminLogFilter_EventsAll: String { return self._s[105]! } + public var GroupInfo_InviteLink_CopyAlert_Success: String { return self._s[107]! } + public var Username_LinkCopied: String { return self._s[109]! } + public var GroupRemoved_Title: String { return self._s[110]! } + public var SecretVideo_Title: String { return self._s[111]! } public func PUSH_PINNED_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[110]!, self._r[110]!, [_1]) + return formatWithArgumentRanges(self._s[112]!, self._r[112]!, [_1]) } - public var AccessDenied_PhotosAndVideos: String { return self._s[111]! } - public var Appearance_ThemePreview_Chat_1_Text: String { return self._s[112]! } + public var AccessDenied_PhotosAndVideos: String { return self._s[113]! } + public var Appearance_ThemePreview_Chat_1_Text: String { return self._s[114]! } public func PUSH_CHANNEL_MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[114]!, self._r[114]!, [_1]) + return formatWithArgumentRanges(self._s[116]!, self._r[116]!, [_1]) } - public var Map_OpenInGoogleMaps: String { return self._s[115]! } + public var Map_OpenInGoogleMaps: String { return self._s[117]! } public func Time_PreciseDate_m12(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[116]!, self._r[116]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[118]!, self._r[118]!, [_1, _2, _3]) } public func Channel_AdminLog_MessageKickedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[117]!, self._r[117]!, [_1, _2]) + return formatWithArgumentRanges(self._s[119]!, self._r[119]!, [_1, _2]) } - public var Call_StatusRinging: String { return self._s[118]! } - public var SettingsSearch_Synonyms_EditProfile_Username: String { return self._s[119]! } - public var Group_Username_InvalidStartsWithNumber: String { return self._s[120]! } - public var UserInfo_NotificationsEnabled: String { return self._s[121]! } - public var Map_Search: String { return self._s[122]! } - public var Login_TermsOfServiceHeader: String { return self._s[124]! } + public var Call_StatusRinging: String { return self._s[120]! } + public var SettingsSearch_Synonyms_EditProfile_Username: String { return self._s[121]! } + public var Group_Username_InvalidStartsWithNumber: String { return self._s[122]! } + public var UserInfo_NotificationsEnabled: String { return self._s[123]! } + public var Map_Search: String { return self._s[124]! } + public var Login_TermsOfServiceHeader: String { return self._s[126]! } public func Notification_PinnedVideoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[125]!, self._r[125]!, [_0]) + return formatWithArgumentRanges(self._s[127]!, self._r[127]!, [_0]) } public func Channel_AdminLog_MessageToggleSignaturesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[126]!, self._r[126]!, [_0]) + return formatWithArgumentRanges(self._s[128]!, self._r[128]!, [_0]) } - public var TwoStepAuth_SetupPasswordConfirmPassword: String { return self._s[127]! } - public var Weekday_Today: String { return self._s[128]! } + public var TwoStepAuth_SetupPasswordConfirmPassword: String { return self._s[129]! } + public var Weekday_Today: String { return self._s[130]! } public func InstantPage_AuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[130]!, self._r[130]!, [_1, _2]) + return formatWithArgumentRanges(self._s[132]!, self._r[132]!, [_1, _2]) } public func Conversation_MessageDialogRetryAll(_ _1: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[131]!, self._r[131]!, ["\(_1)"]) + return formatWithArgumentRanges(self._s[133]!, self._r[133]!, ["\(_1)"]) } - public var Notification_PassportValuePersonalDetails: String { return self._s[133]! } - public var Channel_AdminLog_MessagePreviousLink: String { return self._s[134]! } - public var ChangePhoneNumberNumber_NewNumber: String { return self._s[135]! } - public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[136]! } - public var TwoStepAuth_ChangePasswordDescription: String { return self._s[137]! } - public var PhotoEditor_BlurToolLinear: String { return self._s[138]! } - public var Contacts_PermissionsAllowInSettings: String { return self._s[139]! } - public var Weekday_ShortMonday: String { return self._s[140]! } - public var Cache_KeepMedia: String { return self._s[141]! } - public var Passport_FieldIdentitySelfieHelp: String { return self._s[142]! } + public var Notification_PassportValuePersonalDetails: String { return self._s[135]! } + public var Channel_AdminLog_MessagePreviousLink: String { return self._s[136]! } + public var ChangePhoneNumberNumber_NewNumber: String { return self._s[137]! } + public var ApplyLanguage_LanguageNotSupportedError: String { return self._s[138]! } + public var TwoStepAuth_ChangePasswordDescription: String { return self._s[139]! } + public var PhotoEditor_BlurToolLinear: String { return self._s[140]! } + public var Contacts_PermissionsAllowInSettings: String { return self._s[141]! } + public var Weekday_ShortMonday: String { return self._s[142]! } + public var Cache_KeepMedia: String { return self._s[143]! } + public var Passport_FieldIdentitySelfieHelp: String { return self._s[144]! } public func PUSH_PINNED_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[143]!, self._r[143]!, [_1, _2]) + return formatWithArgumentRanges(self._s[145]!, self._r[145]!, [_1, _2]) } public func Chat_SlowmodeTooltip(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[144]!, self._r[144]!, [_0]) + return formatWithArgumentRanges(self._s[146]!, self._r[146]!, [_0]) } - public var Conversation_ClousStorageInfo_Description4: String { return self._s[145]! } - public var Passport_Language_ru: String { return self._s[146]! } + public var Conversation_ClousStorageInfo_Description4: String { return self._s[147]! } + public var Passport_Language_ru: String { return self._s[148]! } public func Notification_CreatedChatWithTitle(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[147]!, self._r[147]!, [_0, _1]) + return formatWithArgumentRanges(self._s[149]!, self._r[149]!, [_0, _1]) } - public var WallpaperPreview_PatternIntensity: String { return self._s[148]! } - public var TwoStepAuth_RecoveryUnavailable: String { return self._s[149]! } - public var EnterPasscode_TouchId: String { return self._s[150]! } - public var PhotoEditor_QualityVeryHigh: String { return self._s[153]! } - public var Checkout_NewCard_SaveInfo: String { return self._s[155]! } - public var Gif_NoGifsPlaceholder: String { return self._s[157]! } - public var Conversation_OpenBotLinkTitle: String { return self._s[159]! } - public var ChatSettings_AutoDownloadEnabled: String { return self._s[160]! } - public var NetworkUsageSettings_BytesSent: String { return self._s[161]! } - public var Checkout_PasswordEntry_Pay: String { return self._s[162]! } - public var AuthSessions_TerminateSession: String { return self._s[163]! } - public var Message_File: String { return self._s[164]! } - public var MediaPicker_VideoMuteDescription: String { return self._s[165]! } - public var SocksProxySetup_ProxyStatusConnected: String { return self._s[166]! } - public var TwoStepAuth_RecoveryCode: String { return self._s[167]! } - public var EnterPasscode_EnterCurrentPasscode: String { return self._s[168]! } + public var WallpaperPreview_PatternIntensity: String { return self._s[150]! } + public var TwoStepAuth_RecoveryUnavailable: String { return self._s[151]! } + public var EnterPasscode_TouchId: String { return self._s[152]! } + public var PhotoEditor_QualityVeryHigh: String { return self._s[155]! } + public var Checkout_NewCard_SaveInfo: String { return self._s[157]! } + public var Gif_NoGifsPlaceholder: String { return self._s[159]! } + public var Conversation_OpenBotLinkTitle: String { return self._s[161]! } + public var ChatSettings_AutoDownloadEnabled: String { return self._s[162]! } + public var NetworkUsageSettings_BytesSent: String { return self._s[163]! } + public var Checkout_PasswordEntry_Pay: String { return self._s[164]! } + public var AuthSessions_TerminateSession: String { return self._s[165]! } + public var Message_File: String { return self._s[166]! } + public var MediaPicker_VideoMuteDescription: String { return self._s[167]! } + public var SocksProxySetup_ProxyStatusConnected: String { return self._s[168]! } + public var TwoStepAuth_RecoveryCode: String { return self._s[169]! } + public var EnterPasscode_EnterCurrentPasscode: String { return self._s[170]! } public func TwoStepAuth_EnterPasswordHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[169]!, self._r[169]!, [_0]) + return formatWithArgumentRanges(self._s[171]!, self._r[171]!, [_0]) } - public var Conversation_Moderate_Report: String { return self._s[171]! } - public var TwoStepAuth_EmailInvalid: String { return self._s[172]! } - public var Passport_Language_ms: String { return self._s[173]! } - public var Channel_Edit_AboutItem: String { return self._s[175]! } - public var DialogList_SearchSectionGlobal: String { return self._s[179]! } - public var AttachmentMenu_WebSearch: String { return self._s[180]! } - public var PasscodeSettings_TurnPasscodeOn: String { return self._s[181]! } - public var Channel_BanUser_Title: String { return self._s[182]! } - public var WallpaperPreview_SwipeTopText: String { return self._s[183]! } - public var ArchivedChats_IntroText2: String { return self._s[184]! } - public var Notification_Exceptions_DeleteAll: String { return self._s[185]! } + public var Conversation_Moderate_Report: String { return self._s[173]! } + public var TwoStepAuth_EmailInvalid: String { return self._s[174]! } + public var Passport_Language_ms: String { return self._s[175]! } + public var Channel_Edit_AboutItem: String { return self._s[177]! } + public var DialogList_SearchSectionGlobal: String { return self._s[181]! } + public var AttachmentMenu_WebSearch: String { return self._s[182]! } + public var PasscodeSettings_TurnPasscodeOn: String { return self._s[183]! } + public var Channel_BanUser_Title: String { return self._s[184]! } + public var WallpaperPreview_SwipeTopText: String { return self._s[185]! } + public var ArchivedChats_IntroText2: String { return self._s[186]! } + public var Notification_Exceptions_DeleteAll: String { return self._s[187]! } public func Channel_AdminLog_MessageTransferedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[186]!, self._r[186]!, [_1, _2]) + return formatWithArgumentRanges(self._s[188]!, self._r[188]!, [_1, _2]) } - public var ChatSearch_SearchPlaceholder: String { return self._s[188]! } - public var Passport_FieldAddressTranslationHelp: String { return self._s[189]! } - public var NotificationsSound_Aurora: String { return self._s[190]! } + public var ChatSearch_SearchPlaceholder: String { return self._s[190]! } + public var Passport_FieldAddressTranslationHelp: String { return self._s[191]! } + public var NotificationsSound_Aurora: String { return self._s[192]! } public func FileSize_GB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[191]!, self._r[191]!, [_0]) + return formatWithArgumentRanges(self._s[193]!, self._r[193]!, [_0]) } - public var AuthSessions_LoggedInWithTelegram: String { return self._s[194]! } + public var AuthSessions_LoggedInWithTelegram: String { return self._s[196]! } public func Privacy_GroupsAndChannels_InviteToGroupError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[195]!, self._r[195]!, [_0, _1]) + return formatWithArgumentRanges(self._s[197]!, self._r[197]!, [_0, _1]) } - public var Passport_PasswordNext: String { return self._s[196]! } - public var Bot_GroupStatusReadsHistory: String { return self._s[197]! } - public var EmptyGroupInfo_Line2: String { return self._s[198]! } - public var VoiceOver_Chat_SeenByRecipients: String { return self._s[199]! } - public var Settings_FAQ_Intro: String { return self._s[201]! } - public var PrivacySettings_PasscodeAndTouchId: String { return self._s[203]! } - public var FeaturedStickerPacks_Title: String { return self._s[204]! } - public var TwoStepAuth_PasswordRemoveConfirmation: String { return self._s[206]! } - public var Username_Title: String { return self._s[207]! } + public var Passport_PasswordNext: String { return self._s[198]! } + public var Bot_GroupStatusReadsHistory: String { return self._s[199]! } + public var EmptyGroupInfo_Line2: String { return self._s[200]! } + public var VoiceOver_Chat_SeenByRecipients: String { return self._s[201]! } + public var Settings_FAQ_Intro: String { return self._s[203]! } + public var PrivacySettings_PasscodeAndTouchId: String { return self._s[205]! } + public var FeaturedStickerPacks_Title: String { return self._s[206]! } + public var TwoStepAuth_PasswordRemoveConfirmation: String { return self._s[208]! } + public var Username_Title: String { return self._s[209]! } public func Message_StickerText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[208]!, self._r[208]!, [_0]) + return formatWithArgumentRanges(self._s[210]!, self._r[210]!, [_0]) } - public var PasscodeSettings_AlphanumericCode: String { return self._s[209]! } - public var Localization_LanguageOther: String { return self._s[210]! } - public var Stickers_SuggestStickers: String { return self._s[211]! } + public var PasscodeSettings_AlphanumericCode: String { return self._s[211]! } + public var Localization_LanguageOther: String { return self._s[212]! } + public var Stickers_SuggestStickers: String { return self._s[213]! } public func Channel_AdminLog_MessageRemovedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[212]!, self._r[212]!, [_0]) + return formatWithArgumentRanges(self._s[214]!, self._r[214]!, [_0]) } - public var NotificationSettings_ShowNotificationsFromAccountsSection: String { return self._s[213]! } - public var Channel_AdminLogFilter_EventsAdmins: String { return self._s[214]! } - public var Conversation_DefaultRestrictedStickers: String { return self._s[215]! } + public var NotificationSettings_ShowNotificationsFromAccountsSection: String { return self._s[215]! } + public var Channel_AdminLogFilter_EventsAdmins: String { return self._s[216]! } + public var Conversation_DefaultRestrictedStickers: String { return self._s[217]! } public func Notification_PinnedDeletedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[216]!, self._r[216]!, [_0]) + return formatWithArgumentRanges(self._s[218]!, self._r[218]!, [_0]) } - public var Group_UpgradeConfirmation: String { return self._s[218]! } - public var DialogList_Unpin: String { return self._s[219]! } - public var Passport_Identity_DateOfBirth: String { return self._s[220]! } - public var Month_ShortOctober: String { return self._s[221]! } - public var SettingsSearch_Synonyms_Privacy_Data_ContactsSync: String { return self._s[222]! } - public var Notification_CallCanceledShort: String { return self._s[223]! } - public var Passport_Phone_Help: String { return self._s[224]! } - public var Passport_Language_az: String { return self._s[226]! } - public var CreatePoll_TextPlaceholder: String { return self._s[228]! } - public var VoiceOver_Chat_AnonymousPoll: String { return self._s[229]! } - public var Passport_Identity_DocumentNumber: String { return self._s[230]! } - public var PhotoEditor_CurvesRed: String { return self._s[231]! } - public var PhoneNumberHelp_Alert: String { return self._s[233]! } - public var SocksProxySetup_Port: String { return self._s[234]! } - public var Checkout_PayNone: String { return self._s[235]! } - public var AutoDownloadSettings_WiFi: String { return self._s[236]! } - public var GroupInfo_GroupType: String { return self._s[237]! } - public var StickerSettings_ContextHide: String { return self._s[238]! } - public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[239]! } - public var Group_Setup_HistoryTitle: String { return self._s[241]! } - public var Passport_Identity_FilesUploadNew: String { return self._s[242]! } - public var PasscodeSettings_AutoLock: String { return self._s[243]! } - public var Passport_Title: String { return self._s[244]! } - public var VoiceOver_Chat_ContactPhoneNumber: String { return self._s[245]! } - public var Channel_AdminLogFilter_EventsNewSubscribers: String { return self._s[246]! } - public var GroupPermission_NoSendGifs: String { return self._s[247]! } - public var PrivacySettings_PasscodeOn: String { return self._s[248]! } + public var Group_UpgradeConfirmation: String { return self._s[220]! } + public var DialogList_Unpin: String { return self._s[221]! } + public var Passport_Identity_DateOfBirth: String { return self._s[222]! } + public var Month_ShortOctober: String { return self._s[223]! } + public var SettingsSearch_Synonyms_Privacy_Data_ContactsSync: String { return self._s[224]! } + public var Notification_CallCanceledShort: String { return self._s[225]! } + public var Passport_Phone_Help: String { return self._s[226]! } + public var Passport_Language_az: String { return self._s[228]! } + public var CreatePoll_TextPlaceholder: String { return self._s[230]! } + public var VoiceOver_Chat_AnonymousPoll: String { return self._s[231]! } + public var Passport_Identity_DocumentNumber: String { return self._s[232]! } + public var PhotoEditor_CurvesRed: String { return self._s[233]! } + public var PhoneNumberHelp_Alert: String { return self._s[235]! } + public var SocksProxySetup_Port: String { return self._s[236]! } + public var Checkout_PayNone: String { return self._s[237]! } + public var AutoDownloadSettings_WiFi: String { return self._s[238]! } + public var GroupInfo_GroupType: String { return self._s[239]! } + public var StickerSettings_ContextHide: String { return self._s[240]! } + public var Passport_Address_OneOfTypeTemporaryRegistration: String { return self._s[241]! } + public var Group_Setup_HistoryTitle: String { return self._s[243]! } + public var Passport_Identity_FilesUploadNew: String { return self._s[244]! } + public var PasscodeSettings_AutoLock: String { return self._s[245]! } + public var Passport_Title: String { return self._s[246]! } + public var VoiceOver_Chat_ContactPhoneNumber: String { return self._s[247]! } + public var Channel_AdminLogFilter_EventsNewSubscribers: String { return self._s[248]! } + public var GroupPermission_NoSendGifs: String { return self._s[249]! } + public var PrivacySettings_PasscodeOn: String { return self._s[250]! } public func Conversation_ScheduleMessage_SendTomorrow(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[249]!, self._r[249]!, [_0]) + return formatWithArgumentRanges(self._s[251]!, self._r[251]!, [_0]) } - public var State_WaitingForNetwork: String { return self._s[251]! } + public var State_WaitingForNetwork: String { return self._s[253]! } public func Notification_Invited(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[252]!, self._r[252]!, [_0, _1]) + return formatWithArgumentRanges(self._s[254]!, self._r[254]!, [_0, _1]) } - public var Calls_NotNow: String { return self._s[254]! } + public var Calls_NotNow: String { return self._s[256]! } public func Channel_DiscussionGroup_HeaderSet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[255]!, self._r[255]!, [_0]) + return formatWithArgumentRanges(self._s[257]!, self._r[257]!, [_0]) } - public var UserInfo_SendMessage: String { return self._s[256]! } - public var TwoStepAuth_PasswordSet: String { return self._s[257]! } - public var Passport_DeleteDocument: String { return self._s[258]! } - public var SocksProxySetup_AddProxyTitle: String { return self._s[259]! } + public var UserInfo_SendMessage: String { return self._s[258]! } + public var TwoStepAuth_PasswordSet: String { return self._s[259]! } + public var Passport_DeleteDocument: String { return self._s[260]! } + public var SocksProxySetup_AddProxyTitle: String { return self._s[261]! } public func PUSH_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[260]!, self._r[260]!, [_1]) + return formatWithArgumentRanges(self._s[262]!, self._r[262]!, [_1]) } - public var GroupRemoved_Remove: String { return self._s[261]! } - public var Passport_FieldIdentity: String { return self._s[262]! } - public var Group_Setup_TypePrivateHelp: String { return self._s[263]! } - public var Conversation_Processing: String { return self._s[266]! } - public var ChatSettings_AutoPlayAnimations: String { return self._s[268]! } - public var AuthSessions_LogOutApplicationsHelp: String { return self._s[271]! } - public var Month_GenFebruary: String { return self._s[272]! } + public var GroupRemoved_Remove: String { return self._s[263]! } + public var Passport_FieldIdentity: String { return self._s[264]! } + public var Group_Setup_TypePrivateHelp: String { return self._s[265]! } + public var Conversation_Processing: String { return self._s[268]! } + public var ChatSettings_AutoPlayAnimations: String { return self._s[270]! } + public var AuthSessions_LogOutApplicationsHelp: String { return self._s[273]! } + public var Month_GenFebruary: String { return self._s[274]! } public func Login_InvalidPhoneEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[274]!, self._r[274]!, [_1, _2, _3, _4, _5]) + return formatWithArgumentRanges(self._s[276]!, self._r[276]!, [_1, _2, _3, _4, _5]) } - public var Passport_Identity_TypeIdentityCard: String { return self._s[275]! } - public var AutoDownloadSettings_DataUsageMedium: String { return self._s[277]! } - public var GroupInfo_AddParticipant: String { return self._s[278]! } - public var KeyCommand_SendMessage: String { return self._s[279]! } - public var VoiceOver_Chat_YourContact: String { return self._s[281]! } - public var Map_LiveLocationShowAll: String { return self._s[282]! } - public var WallpaperSearch_ColorOrange: String { return self._s[284]! } - public var Appearance_AppIconDefaultX: String { return self._s[285]! } - public var Checkout_Receipt_Title: String { return self._s[286]! } - public var Group_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[287]! } - public var WallpaperPreview_PreviewTopText: String { return self._s[288]! } - public var Message_Contact: String { return self._s[289]! } - public var Call_StatusIncoming: String { return self._s[290]! } + public var Passport_Identity_TypeIdentityCard: String { return self._s[277]! } + public var AutoDownloadSettings_DataUsageMedium: String { return self._s[279]! } + public var GroupInfo_AddParticipant: String { return self._s[280]! } + public var KeyCommand_SendMessage: String { return self._s[281]! } + public var VoiceOver_Chat_YourContact: String { return self._s[283]! } + public var Map_LiveLocationShowAll: String { return self._s[284]! } + public var WallpaperSearch_ColorOrange: String { return self._s[286]! } + public var Appearance_AppIconDefaultX: String { return self._s[287]! } + public var Checkout_Receipt_Title: String { return self._s[288]! } + public var Group_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[289]! } + public var WallpaperPreview_PreviewTopText: String { return self._s[290]! } + public var Message_Contact: String { return self._s[291]! } + public var Call_StatusIncoming: String { return self._s[292]! } public func Channel_AdminLog_MessageKickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[291]!, self._r[291]!, [_1]) - } - public func PUSH_ENCRYPTED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[293]!, self._r[293]!, [_1]) } - public var VoiceOver_Media_PlaybackRate: String { return self._s[294]! } - public var Passport_FieldIdentityDetailsHelp: String { return self._s[295]! } - public var Conversation_ViewChannel: String { return self._s[296]! } + public func PUSH_ENCRYPTED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[295]!, self._r[295]!, [_1]) + } + public var VoiceOver_Media_PlaybackRate: String { return self._s[296]! } + public var Passport_FieldIdentityDetailsHelp: String { return self._s[297]! } + public var Conversation_ViewChannel: String { return self._s[298]! } public func Time_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[297]!, self._r[297]!, [_0]) + return formatWithArgumentRanges(self._s[299]!, self._r[299]!, [_0]) } - public var Passport_Language_nl: String { return self._s[299]! } - public var Camera_Retake: String { return self._s[300]! } + public var Passport_Language_nl: String { return self._s[301]! } + public var Camera_Retake: String { return self._s[302]! } public func UserInfo_BlockActionTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[301]!, self._r[301]!, [_0]) + return formatWithArgumentRanges(self._s[303]!, self._r[303]!, [_0]) } - public var AuthSessions_LogOutApplications: String { return self._s[302]! } - public var ApplyLanguage_ApplySuccess: String { return self._s[303]! } - public var Tour_Title6: String { return self._s[304]! } - public var Map_ChooseAPlace: String { return self._s[305]! } - public var CallSettings_Never: String { return self._s[307]! } + public var AuthSessions_LogOutApplications: String { return self._s[304]! } + public var ApplyLanguage_ApplySuccess: String { return self._s[305]! } + public var Tour_Title6: String { return self._s[306]! } + public var Map_ChooseAPlace: String { return self._s[307]! } + public var CallSettings_Never: String { return self._s[309]! } public func Notification_ChangedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[308]!, self._r[308]!, [_0]) - } - public var ChannelRemoved_RemoveInfo: String { return self._s[309]! } - public func AutoDownloadSettings_PreloadVideoInfo(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[310]!, self._r[310]!, [_0]) } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsExceptions: String { return self._s[311]! } - public func Conversation_ClearChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + public var ChannelRemoved_RemoveInfo: String { return self._s[311]! } + public func AutoDownloadSettings_PreloadVideoInfo(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[312]!, self._r[312]!, [_0]) } - public var GroupInfo_InviteLink_Title: String { return self._s[313]! } - public func Channel_AdminLog_MessageUnkickedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[314]!, self._r[314]!, [_1, _2]) + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsExceptions: String { return self._s[313]! } + public func Conversation_ClearChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[314]!, self._r[314]!, [_0]) } - public var KeyCommand_ScrollUp: String { return self._s[315]! } - public var ContactInfo_URLLabelHomepage: String { return self._s[316]! } - public var Channel_OwnershipTransfer_ChangeOwner: String { return self._s[317]! } + public var GroupInfo_InviteLink_Title: String { return self._s[315]! } + public func Channel_AdminLog_MessageUnkickedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[316]!, self._r[316]!, [_1, _2]) + } + public var KeyCommand_ScrollUp: String { return self._s[317]! } + public var ContactInfo_URLLabelHomepage: String { return self._s[318]! } + public var Channel_OwnershipTransfer_ChangeOwner: String { return self._s[319]! } public func Channel_AdminLog_DisabledSlowmode(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[318]!, self._r[318]!, [_0]) + return formatWithArgumentRanges(self._s[320]!, self._r[320]!, [_0]) } public func Conversation_EncryptedPlaceholderTitleOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[319]!, self._r[319]!, [_0]) + return formatWithArgumentRanges(self._s[321]!, self._r[321]!, [_0]) } - public var CallFeedback_ReasonDistortedSpeech: String { return self._s[320]! } - public var Watch_LastSeen_WithinAWeek: String { return self._s[321]! } - public var Weekday_Tuesday: String { return self._s[323]! } - public var ScheduledMessages_Delete: String { return self._s[325]! } - public var UserInfo_StartSecretChat: String { return self._s[326]! } - public var Passport_Identity_FilesTitle: String { return self._s[327]! } - public var Permissions_NotificationsAllow_v0: String { return self._s[328]! } - public var DialogList_DeleteConversationConfirmation: String { return self._s[330]! } - public var ChatList_UndoArchiveRevealedTitle: String { return self._s[331]! } - public var AuthSessions_Sessions: String { return self._s[332]! } + public var CallFeedback_ReasonDistortedSpeech: String { return self._s[322]! } + public var Watch_LastSeen_WithinAWeek: String { return self._s[323]! } + public var ContactList_Context_SendMessage: String { return self._s[325]! } + public var Weekday_Tuesday: String { return self._s[326]! } + public var ScheduledMessages_Delete: String { return self._s[328]! } + public var UserInfo_StartSecretChat: String { return self._s[329]! } + public var Passport_Identity_FilesTitle: String { return self._s[330]! } + public var Permissions_NotificationsAllow_v0: String { return self._s[331]! } + public var DialogList_DeleteConversationConfirmation: String { return self._s[333]! } + public var ChatList_UndoArchiveRevealedTitle: String { return self._s[334]! } + public var AuthSessions_Sessions: String { return self._s[335]! } public func Settings_KeepPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[334]!, self._r[334]!, [_0]) + return formatWithArgumentRanges(self._s[337]!, self._r[337]!, [_0]) } - public var TwoStepAuth_RecoveryEmailChangeDescription: String { return self._s[335]! } - public var Call_StatusWaiting: String { return self._s[336]! } - public var CreateGroup_SoftUserLimitAlert: String { return self._s[337]! } - public var FastTwoStepSetup_HintHelp: String { return self._s[338]! } - public var WallpaperPreview_CustomColorBottomText: String { return self._s[339]! } - public var EditTheme_Expand_Preview_OutgoingText: String { return self._s[340]! } - public var LogoutOptions_AddAccountText: String { return self._s[341]! } - public var PasscodeSettings_6DigitCode: String { return self._s[342]! } - public var Settings_LogoutConfirmationText: String { return self._s[343]! } - public var Passport_Identity_TypePassport: String { return self._s[345]! } + public var TwoStepAuth_RecoveryEmailChangeDescription: String { return self._s[338]! } + public var Call_StatusWaiting: String { return self._s[339]! } + public var CreateGroup_SoftUserLimitAlert: String { return self._s[340]! } + public var FastTwoStepSetup_HintHelp: String { return self._s[341]! } + public var WallpaperPreview_CustomColorBottomText: String { return self._s[342]! } + public var EditTheme_Expand_Preview_OutgoingText: String { return self._s[343]! } + public var LogoutOptions_AddAccountText: String { return self._s[344]! } + public var PasscodeSettings_6DigitCode: String { return self._s[345]! } + public var Settings_LogoutConfirmationText: String { return self._s[346]! } + public var Passport_Identity_TypePassport: String { return self._s[348]! } public func PUSH_MESSAGE_VIDEOS(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[348]!, self._r[348]!, [_1, _2]) + return formatWithArgumentRanges(self._s[351]!, self._r[351]!, [_1, _2]) } - public var SocksProxySetup_SaveProxy: String { return self._s[349]! } - public var AccessDenied_SaveMedia: String { return self._s[350]! } - public var Checkout_ErrorInvoiceAlreadyPaid: String { return self._s[352]! } - public var Settings_Title: String { return self._s[354]! } - public var VoiceOver_Chat_RecordModeVideoMessageInfo: String { return self._s[355]! } - public var Contacts_InviteSearchLabel: String { return self._s[357]! } - public var ConvertToSupergroup_Title: String { return self._s[358]! } + public var SocksProxySetup_SaveProxy: String { return self._s[352]! } + public var AccessDenied_SaveMedia: String { return self._s[353]! } + public var Checkout_ErrorInvoiceAlreadyPaid: String { return self._s[355]! } + public var Settings_Title: String { return self._s[357]! } + public var VoiceOver_Chat_RecordModeVideoMessageInfo: String { return self._s[358]! } + public var Contacts_InviteSearchLabel: String { return self._s[360]! } + public var ConvertToSupergroup_Title: String { return self._s[361]! } public func Channel_AdminLog_CaptionEdited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[359]!, self._r[359]!, [_0]) + return formatWithArgumentRanges(self._s[362]!, self._r[362]!, [_0]) } - public var InfoPlist_NSSiriUsageDescription: String { return self._s[360]! } + public var InfoPlist_NSSiriUsageDescription: String { return self._s[363]! } public func PUSH_MESSAGE_CHANNEL_MESSAGE_GAME_SCORE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[361]!, self._r[361]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[364]!, self._r[364]!, [_1, _2, _3]) } - public var ChatSettings_AutomaticPhotoDownload: String { return self._s[362]! } - public var UserInfo_BotHelp: String { return self._s[363]! } - public var PrivacySettings_LastSeenEverybody: String { return self._s[364]! } - public var Checkout_Name: String { return self._s[365]! } - public var AutoDownloadSettings_DataUsage: String { return self._s[366]! } - public var Channel_BanUser_BlockFor: String { return self._s[367]! } - public var Checkout_ShippingAddress: String { return self._s[368]! } - public var AutoDownloadSettings_MaxVideoSize: String { return self._s[369]! } - public var Privacy_PaymentsClearInfoDoneHelp: String { return self._s[370]! } - public var Privacy_Forwards: String { return self._s[371]! } - public var Channel_BanUser_PermissionSendPolls: String { return self._s[372]! } - public var Appearance_ThemeCarouselNewNight: String { return self._s[373]! } + public var ChatSettings_AutomaticPhotoDownload: String { return self._s[365]! } + public var UserInfo_BotHelp: String { return self._s[366]! } + public var PrivacySettings_LastSeenEverybody: String { return self._s[367]! } + public var Checkout_Name: String { return self._s[368]! } + public var AutoDownloadSettings_DataUsage: String { return self._s[369]! } + public var Channel_BanUser_BlockFor: String { return self._s[370]! } + public var Checkout_ShippingAddress: String { return self._s[371]! } + public var AutoDownloadSettings_MaxVideoSize: String { return self._s[372]! } + public var Privacy_PaymentsClearInfoDoneHelp: String { return self._s[373]! } + public var Privacy_Forwards: String { return self._s[374]! } + public var Channel_BanUser_PermissionSendPolls: String { return self._s[375]! } + public var Appearance_ThemeCarouselNewNight: String { return self._s[376]! } public func SecretVideo_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[376]!, self._r[376]!, [_0]) + return formatWithArgumentRanges(self._s[379]!, self._r[379]!, [_0]) } - public var Contacts_SortedByName: String { return self._s[377]! } - public var Group_OwnershipTransfer_Title: String { return self._s[378]! } - public var VoiceOver_Chat_OpenHint: String { return self._s[379]! } - public var Group_LeaveGroup: String { return self._s[380]! } - public var Settings_UsernameEmpty: String { return self._s[381]! } + public var Contacts_SortedByName: String { return self._s[380]! } + public var Group_OwnershipTransfer_Title: String { return self._s[381]! } + public var VoiceOver_Chat_OpenHint: String { return self._s[382]! } + public var Group_LeaveGroup: String { return self._s[383]! } + public var Settings_UsernameEmpty: String { return self._s[384]! } public func Notification_PinnedPollMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[382]!, self._r[382]!, [_0]) + return formatWithArgumentRanges(self._s[385]!, self._r[385]!, [_0]) } public func TwoStepAuth_ConfirmEmailDescription(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[383]!, self._r[383]!, [_1]) + return formatWithArgumentRanges(self._s[386]!, self._r[386]!, [_1]) } public func Channel_OwnershipTransfer_DescriptionInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[384]!, self._r[384]!, [_1, _2]) + return formatWithArgumentRanges(self._s[387]!, self._r[387]!, [_1, _2]) } - public var Message_ImageExpired: String { return self._s[385]! } - public var TwoStepAuth_RecoveryFailed: String { return self._s[387]! } - public var EditTheme_Edit_Preview_OutgoingText: String { return self._s[388]! } - public var UserInfo_AddToExisting: String { return self._s[389]! } - public var TwoStepAuth_EnabledSuccess: String { return self._s[390]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground_SetColor: String { return self._s[391]! } + public var Message_ImageExpired: String { return self._s[388]! } + public var TwoStepAuth_RecoveryFailed: String { return self._s[390]! } + public var EditTheme_Edit_Preview_OutgoingText: String { return self._s[391]! } + public var UserInfo_AddToExisting: String { return self._s[392]! } + public var TwoStepAuth_EnabledSuccess: String { return self._s[393]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground_SetColor: String { return self._s[394]! } public func PUSH_CHANNEL_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[392]!, self._r[392]!, [_1]) + return formatWithArgumentRanges(self._s[395]!, self._r[395]!, [_1]) } - public var Notifications_GroupNotificationsAlert: String { return self._s[393]! } - public var Passport_Language_km: String { return self._s[394]! } - public var SocksProxySetup_AdNoticeHelp: String { return self._s[396]! } - public var VoiceOver_Media_PlaybackPlay: String { return self._s[397]! } - public var Notification_CallMissedShort: String { return self._s[398]! } - public var ReportPeer_ReasonOther_Send: String { return self._s[399]! } - public var Watch_Compose_Send: String { return self._s[400]! } - public var Passport_Identity_TypeInternalPassportUploadScan: String { return self._s[403]! } - public var Conversation_HoldForVideo: String { return self._s[404]! } - public var CheckoutInfo_ErrorCityInvalid: String { return self._s[406]! } - public var Appearance_AutoNightThemeDisabled: String { return self._s[408]! } - public var Channel_LinkItem: String { return self._s[409]! } + public var Notifications_GroupNotificationsAlert: String { return self._s[396]! } + public var Passport_Language_km: String { return self._s[397]! } + public var SocksProxySetup_AdNoticeHelp: String { return self._s[399]! } + public var VoiceOver_Media_PlaybackPlay: String { return self._s[400]! } + public var Notification_CallMissedShort: String { return self._s[401]! } + public var ReportPeer_ReasonOther_Send: String { return self._s[402]! } + public var Watch_Compose_Send: String { return self._s[403]! } + public var Passport_Identity_TypeInternalPassportUploadScan: String { return self._s[406]! } + public var Conversation_HoldForVideo: String { return self._s[407]! } + public var CheckoutInfo_ErrorCityInvalid: String { return self._s[409]! } + public var Appearance_AutoNightThemeDisabled: String { return self._s[411]! } + public var Channel_LinkItem: String { return self._s[412]! } public func PrivacySettings_LastSeenContactsMinusPlus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[410]!, self._r[410]!, [_0, _1]) + return formatWithArgumentRanges(self._s[413]!, self._r[413]!, [_0, _1]) } public func Passport_Identity_NativeNameTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[413]!, self._r[413]!, [_0]) + return formatWithArgumentRanges(self._s[416]!, self._r[416]!, [_0]) } - public var VoiceOver_Recording_StopAndPreview: String { return self._s[414]! } - public var Passport_Language_dv: String { return self._s[415]! } - public var Undo_LeftChannel: String { return self._s[416]! } - public var Notifications_ExceptionsMuted: String { return self._s[417]! } - public var ChatList_UnhideAction: String { return self._s[418]! } - public var Conversation_ContextMenuShare: String { return self._s[419]! } - public var Conversation_ContextMenuStickerPackInfo: String { return self._s[420]! } - public var ShareFileTip_Title: String { return self._s[421]! } - public var NotificationsSound_Chord: String { return self._s[422]! } + public var VoiceOver_Recording_StopAndPreview: String { return self._s[417]! } + public var Passport_Language_dv: String { return self._s[418]! } + public var Undo_LeftChannel: String { return self._s[419]! } + public var Notifications_ExceptionsMuted: String { return self._s[420]! } + public var ChatList_UnhideAction: String { return self._s[421]! } + public var Conversation_ContextMenuShare: String { return self._s[422]! } + public var Conversation_ContextMenuStickerPackInfo: String { return self._s[423]! } + public var ShareFileTip_Title: String { return self._s[424]! } + public var NotificationsSound_Chord: String { return self._s[425]! } public func PUSH_CHAT_RETURNED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[423]!, self._r[423]!, [_1, _2]) + return formatWithArgumentRanges(self._s[426]!, self._r[426]!, [_1, _2]) } - public var Passport_Address_EditTemporaryRegistration: String { return self._s[424]! } + public var Passport_Address_EditTemporaryRegistration: String { return self._s[427]! } public func Notification_Joined(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[425]!, self._r[425]!, [_0]) + return formatWithArgumentRanges(self._s[428]!, self._r[428]!, [_0]) } - public var Wallpaper_ErrorNotFound: String { return self._s[426]! } - public var Notification_CallOutgoingShort: String { return self._s[428]! } + public var Wallpaper_ErrorNotFound: String { return self._s[429]! } + public var Notification_CallOutgoingShort: String { return self._s[431]! } public func Watch_Time_ShortFullAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[429]!, self._r[429]!, [_1, _2]) + return formatWithArgumentRanges(self._s[432]!, self._r[432]!, [_1, _2]) } - public var Passport_Address_TypeUtilityBill: String { return self._s[430]! } - public var Privacy_Forwards_LinkIfAllowed: String { return self._s[431]! } - public var ReportPeer_Report: String { return self._s[432]! } - public var SettingsSearch_Synonyms_Proxy_Title: String { return self._s[433]! } - public var GroupInfo_DeactivatedStatus: String { return self._s[434]! } + public var Passport_Address_TypeUtilityBill: String { return self._s[433]! } + public var Privacy_Forwards_LinkIfAllowed: String { return self._s[434]! } + public var ReportPeer_Report: String { return self._s[435]! } + public var SettingsSearch_Synonyms_Proxy_Title: String { return self._s[436]! } + public var GroupInfo_DeactivatedStatus: String { return self._s[437]! } public func VoiceOver_Chat_MusicTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[435]!, self._r[435]!, [_1, _2]) + return formatWithArgumentRanges(self._s[438]!, self._r[438]!, [_1, _2]) } - public var StickerPack_Send: String { return self._s[436]! } - public var Login_CodeSentInternal: String { return self._s[437]! } - public var GroupInfo_InviteLink_LinkSection: String { return self._s[438]! } + public var StickerPack_Send: String { return self._s[439]! } + public var Login_CodeSentInternal: String { return self._s[440]! } + public var GroupInfo_InviteLink_LinkSection: String { return self._s[441]! } public func Channel_AdminLog_MessageDeleted(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[439]!, self._r[439]!, [_0]) + return formatWithArgumentRanges(self._s[442]!, self._r[442]!, [_0]) } public func Conversation_EncryptionWaiting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[441]!, self._r[441]!, [_0]) + return formatWithArgumentRanges(self._s[444]!, self._r[444]!, [_0]) } - public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[442]! } + public var Channel_BanUser_PermissionSendStickersAndGifs: String { return self._s[445]! } public func PUSH_PINNED_GAME(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[443]!, self._r[443]!, [_1]) + return formatWithArgumentRanges(self._s[446]!, self._r[446]!, [_1]) } - public var ReportPeer_ReasonViolence: String { return self._s[445]! } - public var Map_Locating: String { return self._s[446]! } + public var ReportPeer_ReasonViolence: String { return self._s[448]! } + public var Map_Locating: String { return self._s[449]! } public func VoiceOver_Chat_VideoFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[447]!, self._r[447]!, [_0]) + return formatWithArgumentRanges(self._s[450]!, self._r[450]!, [_0]) } public func PUSH_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[448]!, self._r[448]!, [_1]) + return formatWithArgumentRanges(self._s[451]!, self._r[451]!, [_1]) } - public var AutoDownloadSettings_GroupChats: String { return self._s[450]! } - public var CheckoutInfo_SaveInfo: String { return self._s[451]! } - public var SharedMedia_EmptyLinksText: String { return self._s[453]! } - public var Passport_Address_CityPlaceholder: String { return self._s[454]! } - public var CheckoutInfo_ErrorStateInvalid: String { return self._s[455]! } - public var Privacy_ProfilePhoto_CustomHelp: String { return self._s[456]! } - public var Channel_AdminLog_CanAddAdmins: String { return self._s[458]! } + public var AutoDownloadSettings_GroupChats: String { return self._s[453]! } + public var CheckoutInfo_SaveInfo: String { return self._s[454]! } + public var SharedMedia_EmptyLinksText: String { return self._s[456]! } + public var Passport_Address_CityPlaceholder: String { return self._s[457]! } + public var CheckoutInfo_ErrorStateInvalid: String { return self._s[458]! } + public var Privacy_ProfilePhoto_CustomHelp: String { return self._s[459]! } + public var Channel_AdminLog_CanAddAdmins: String { return self._s[461]! } public func PUSH_CHANNEL_MESSAGE_FWD(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[459]!, self._r[459]!, [_1]) + return formatWithArgumentRanges(self._s[462]!, self._r[462]!, [_1]) } public func Time_MonthOfYear_m8(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[460]!, self._r[460]!, [_0]) + return formatWithArgumentRanges(self._s[463]!, self._r[463]!, [_0]) } - public var InfoPlist_NSLocationWhenInUseUsageDescription: String { return self._s[461]! } - public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[462]! } - public var ChangePhoneNumberCode_Code: String { return self._s[463]! } - public var Appearance_CreateTheme: String { return self._s[464]! } + public var InfoPlist_NSLocationWhenInUseUsageDescription: String { return self._s[464]! } + public var GroupInfo_InviteLink_RevokeAlert_Success: String { return self._s[465]! } + public var ChangePhoneNumberCode_Code: String { return self._s[466]! } + public var Appearance_CreateTheme: String { return self._s[467]! } public func UserInfo_NotificationsDefaultSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[465]!, self._r[465]!, [_0]) + return formatWithArgumentRanges(self._s[468]!, self._r[468]!, [_0]) } - public var TwoStepAuth_SetupEmail: String { return self._s[466]! } - public var HashtagSearch_AllChats: String { return self._s[467]! } - public var SettingsSearch_Synonyms_Data_AutoDownloadUsingCellular: String { return self._s[469]! } + public var TwoStepAuth_SetupEmail: String { return self._s[469]! } + public var HashtagSearch_AllChats: String { return self._s[470]! } + public var SettingsSearch_Synonyms_Data_AutoDownloadUsingCellular: String { return self._s[472]! } public func ChatList_DeleteForEveryone(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[470]!, self._r[470]!, [_0]) - } - public var PhotoEditor_QualityHigh: String { return self._s[472]! } - public func Passport_Phone_UseTelegramNumber(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[473]!, self._r[473]!, [_0]) } - public var ApplyLanguage_ApplyLanguageAction: String { return self._s[474]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsPreview: String { return self._s[475]! } - public var Message_LiveLocation: String { return self._s[476]! } - public var Cache_LowDiskSpaceText: String { return self._s[477]! } - public var EditTheme_ErrorLinkTaken: String { return self._s[478]! } - public var Conversation_SendMessage: String { return self._s[479]! } - public var AuthSessions_EmptyTitle: String { return self._s[480]! } - public var Privacy_PhoneNumber: String { return self._s[481]! } - public var PeopleNearby_CreateGroup: String { return self._s[482]! } - public var CallSettings_UseLessData: String { return self._s[483]! } - public var NetworkUsageSettings_MediaDocumentDataSection: String { return self._s[484]! } - public var Stickers_AddToFavorites: String { return self._s[485]! } - public var PhotoEditor_QualityLow: String { return self._s[486]! } - public var Watch_UserInfo_Unblock: String { return self._s[487]! } - public var Settings_Logout: String { return self._s[488]! } - public func PUSH_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[489]!, self._r[489]!, [_1]) + public var PhotoEditor_QualityHigh: String { return self._s[475]! } + public func Passport_Phone_UseTelegramNumber(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[476]!, self._r[476]!, [_0]) } - public var ContactInfo_PhoneLabelWork: String { return self._s[490]! } - public var ChannelInfo_Stats: String { return self._s[491]! } - public var TextFormat_Link: String { return self._s[492]! } + public var ApplyLanguage_ApplyLanguageAction: String { return self._s[477]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsPreview: String { return self._s[478]! } + public var Message_LiveLocation: String { return self._s[479]! } + public var Cache_LowDiskSpaceText: String { return self._s[480]! } + public var EditTheme_ErrorLinkTaken: String { return self._s[481]! } + public var Conversation_SendMessage: String { return self._s[482]! } + public var AuthSessions_EmptyTitle: String { return self._s[483]! } + public var Privacy_PhoneNumber: String { return self._s[484]! } + public var PeopleNearby_CreateGroup: String { return self._s[485]! } + public var CallSettings_UseLessData: String { return self._s[486]! } + public var NetworkUsageSettings_MediaDocumentDataSection: String { return self._s[487]! } + public var Stickers_AddToFavorites: String { return self._s[488]! } + public var PhotoEditor_QualityLow: String { return self._s[489]! } + public var Watch_UserInfo_Unblock: String { return self._s[490]! } + public var Settings_Logout: String { return self._s[491]! } + public func PUSH_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[492]!, self._r[492]!, [_1]) + } + public var ContactInfo_PhoneLabelWork: String { return self._s[493]! } + public var ChannelInfo_Stats: String { return self._s[494]! } + public var TextFormat_Link: String { return self._s[495]! } public func Date_ChatDateHeader(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[493]!, self._r[493]!, [_1, _2]) + return formatWithArgumentRanges(self._s[496]!, self._r[496]!, [_1, _2]) } public func Message_ForwardedMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[494]!, self._r[494]!, [_0]) + return formatWithArgumentRanges(self._s[497]!, self._r[497]!, [_0]) } - public var Watch_Notification_Joined: String { return self._s[495]! } - public var Group_Setup_TypePublicHelp: String { return self._s[496]! } - public var Passport_Scans_UploadNew: String { return self._s[497]! } - public var Checkout_LiabilityAlertTitle: String { return self._s[498]! } - public var DialogList_Title: String { return self._s[501]! } - public var NotificationSettings_ContactJoined: String { return self._s[502]! } - public var GroupInfo_LabelAdmin: String { return self._s[503]! } - public var KeyCommand_ChatInfo: String { return self._s[504]! } - public var Conversation_EditingCaptionPanelTitle: String { return self._s[505]! } - public var Call_ReportIncludeLog: String { return self._s[506]! } + public var Watch_Notification_Joined: String { return self._s[498]! } + public var Group_Setup_TypePublicHelp: String { return self._s[499]! } + public var Passport_Scans_UploadNew: String { return self._s[500]! } + public var Checkout_LiabilityAlertTitle: String { return self._s[501]! } + public var DialogList_Title: String { return self._s[504]! } + public var NotificationSettings_ContactJoined: String { return self._s[505]! } + public var GroupInfo_LabelAdmin: String { return self._s[506]! } + public var KeyCommand_ChatInfo: String { return self._s[507]! } + public var Conversation_EditingCaptionPanelTitle: String { return self._s[508]! } + public var Call_ReportIncludeLog: String { return self._s[509]! } public func Notifications_ExceptionsChangeSound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[509]!, self._r[509]!, [_0]) + return formatWithArgumentRanges(self._s[512]!, self._r[512]!, [_0]) } - public var LocalGroup_IrrelevantWarning: String { return self._s[510]! } - public var ChatAdmins_AllMembersAreAdmins: String { return self._s[511]! } - public var Conversation_DefaultRestrictedInline: String { return self._s[512]! } - public var Message_Sticker: String { return self._s[513]! } - public var LastSeen_JustNow: String { return self._s[515]! } - public var Passport_Email_EmailPlaceholder: String { return self._s[517]! } - public var SettingsSearch_Synonyms_AppLanguage: String { return self._s[518]! } - public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[519]! } - public var Channel_EditAdmin_PermissionsHeader: String { return self._s[520]! } - public var TwoStepAuth_Email: String { return self._s[521]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsSound: String { return self._s[522]! } - public var PhotoEditor_BlurToolOff: String { return self._s[523]! } - public var Message_PinnedStickerMessage: String { return self._s[524]! } - public var ContactInfo_PhoneLabelPager: String { return self._s[525]! } - public var SettingsSearch_Synonyms_Appearance_TextSize: String { return self._s[526]! } - public var Passport_DiscardMessageTitle: String { return self._s[527]! } - public var Privacy_PaymentsTitle: String { return self._s[528]! } - public var EditTheme_Edit_Preview_IncomingReplyName: String { return self._s[529]! } - public var Channel_DiscussionGroup_Header: String { return self._s[531]! } - public var VoiceOver_Chat_OptionSelected: String { return self._s[532]! } - public var Appearance_ColorTheme: String { return self._s[533]! } - public var UserInfo_ShareContact: String { return self._s[534]! } - public var Passport_Address_TypePassportRegistration: String { return self._s[535]! } - public var Common_More: String { return self._s[536]! } - public var Watch_Message_Call: String { return self._s[537]! } - public var Profile_EncryptionKey: String { return self._s[540]! } - public var Privacy_TopPeers: String { return self._s[541]! } - public var Conversation_StopPollConfirmation: String { return self._s[542]! } - public var Privacy_TopPeersWarning: String { return self._s[544]! } - public var SettingsSearch_Synonyms_Data_DownloadInBackground: String { return self._s[545]! } - public var SettingsSearch_Synonyms_Data_Storage_KeepMedia: String { return self._s[546]! } - public var DialogList_SearchSectionMessages: String { return self._s[549]! } - public var Notifications_ChannelNotifications: String { return self._s[550]! } - public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[551]! } - public var Passport_Language_sk: String { return self._s[552]! } - public var Notification_MessageLifetime1h: String { return self._s[553]! } - public var Wallpaper_ResetWallpapersInfo: String { return self._s[554]! } - public var Call_ReportSkip: String { return self._s[556]! } - public var Cache_ServiceFiles: String { return self._s[557]! } - public var Group_ErrorAddTooMuchAdmins: String { return self._s[558]! } - public var VoiceOver_Chat_YourFile: String { return self._s[559]! } - public var Map_Hybrid: String { return self._s[560]! } - public var Contacts_SearchUsersAndGroupsLabel: String { return self._s[562]! } - public var ChatSettings_AutoDownloadVideos: String { return self._s[564]! } - public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[565]! } - public var InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription: String { return self._s[566]! } - public var SocksProxySetup_ProxyTelegram: String { return self._s[569]! } + public var LocalGroup_IrrelevantWarning: String { return self._s[513]! } + public var ChatAdmins_AllMembersAreAdmins: String { return self._s[514]! } + public var Conversation_DefaultRestrictedInline: String { return self._s[515]! } + public var Message_Sticker: String { return self._s[516]! } + public var LastSeen_JustNow: String { return self._s[518]! } + public var Passport_Email_EmailPlaceholder: String { return self._s[520]! } + public var SettingsSearch_Synonyms_AppLanguage: String { return self._s[521]! } + public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[522]! } + public var Channel_EditAdmin_PermissionsHeader: String { return self._s[523]! } + public var TwoStepAuth_Email: String { return self._s[524]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsSound: String { return self._s[525]! } + public var PhotoEditor_BlurToolOff: String { return self._s[526]! } + public var Message_PinnedStickerMessage: String { return self._s[527]! } + public var ContactInfo_PhoneLabelPager: String { return self._s[528]! } + public var SettingsSearch_Synonyms_Appearance_TextSize: String { return self._s[529]! } + public var Passport_DiscardMessageTitle: String { return self._s[530]! } + public var Privacy_PaymentsTitle: String { return self._s[531]! } + public var EditTheme_Edit_Preview_IncomingReplyName: String { return self._s[532]! } + public var Channel_DiscussionGroup_Header: String { return self._s[534]! } + public var VoiceOver_Chat_OptionSelected: String { return self._s[535]! } + public var Appearance_ColorTheme: String { return self._s[536]! } + public var UserInfo_ShareContact: String { return self._s[537]! } + public var Passport_Address_TypePassportRegistration: String { return self._s[538]! } + public var Common_More: String { return self._s[539]! } + public var Watch_Message_Call: String { return self._s[540]! } + public var Profile_EncryptionKey: String { return self._s[543]! } + public var Privacy_TopPeers: String { return self._s[544]! } + public var Conversation_StopPollConfirmation: String { return self._s[545]! } + public var Privacy_TopPeersWarning: String { return self._s[547]! } + public var SettingsSearch_Synonyms_Data_DownloadInBackground: String { return self._s[548]! } + public var SettingsSearch_Synonyms_Data_Storage_KeepMedia: String { return self._s[549]! } + public var DialogList_SearchSectionMessages: String { return self._s[552]! } + public var Notifications_ChannelNotifications: String { return self._s[553]! } + public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[554]! } + public var Passport_Language_sk: String { return self._s[555]! } + public var Notification_MessageLifetime1h: String { return self._s[556]! } + public var Wallpaper_ResetWallpapersInfo: String { return self._s[557]! } + public var Call_ReportSkip: String { return self._s[559]! } + public var Cache_ServiceFiles: String { return self._s[560]! } + public var Group_ErrorAddTooMuchAdmins: String { return self._s[561]! } + public var VoiceOver_Chat_YourFile: String { return self._s[562]! } + public var Map_Hybrid: String { return self._s[563]! } + public var Contacts_SearchUsersAndGroupsLabel: String { return self._s[565]! } + public var ChatSettings_AutoDownloadVideos: String { return self._s[567]! } + public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[568]! } + public var InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription: String { return self._s[569]! } + public var SocksProxySetup_ProxyTelegram: String { return self._s[572]! } public func PUSH_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[570]!, self._r[570]!, [_1]) + return formatWithArgumentRanges(self._s[573]!, self._r[573]!, [_1]) } - public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[572]! } - public var ScheduledMessages_ScheduledToday: String { return self._s[573]! } + public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[575]! } + public var ScheduledMessages_ScheduledToday: String { return self._s[576]! } public func PUSH_CHAT_TITLE_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[574]!, self._r[574]!, [_1, _2]) + return formatWithArgumentRanges(self._s[577]!, self._r[577]!, [_1, _2]) } - public var Conversation_LiveLocationYou: String { return self._s[575]! } - public var SettingsSearch_Synonyms_Privacy_Calls: String { return self._s[576]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsPreview: String { return self._s[577]! } - public var UserInfo_ShareBot: String { return self._s[580]! } + public var Conversation_LiveLocationYou: String { return self._s[578]! } + public var SettingsSearch_Synonyms_Privacy_Calls: String { return self._s[579]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsPreview: String { return self._s[580]! } + public var UserInfo_ShareBot: String { return self._s[583]! } public func PUSH_AUTH_REGION(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[581]!, self._r[581]!, [_1, _2]) + return formatWithArgumentRanges(self._s[584]!, self._r[584]!, [_1, _2]) } - public var PhotoEditor_ShadowsTint: String { return self._s[582]! } - public var Message_Audio: String { return self._s[583]! } - public var Passport_Language_lt: String { return self._s[584]! } + public var PhotoEditor_ShadowsTint: String { return self._s[585]! } + public var Message_Audio: String { return self._s[586]! } + public var Passport_Language_lt: String { return self._s[587]! } public func Message_PinnedTextMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[585]!, self._r[585]!, [_0]) + return formatWithArgumentRanges(self._s[588]!, self._r[588]!, [_0]) } - public var Permissions_SiriText_v0: String { return self._s[586]! } - public var Conversation_FileICloudDrive: String { return self._s[587]! } - public var Notifications_Badge_IncludeMutedChats: String { return self._s[588]! } + public var Permissions_SiriText_v0: String { return self._s[589]! } + public var Conversation_FileICloudDrive: String { return self._s[590]! } + public var Notifications_Badge_IncludeMutedChats: String { return self._s[591]! } public func Notification_NewAuthDetected(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[589]!, self._r[589]!, [_1, _2, _3, _4, _5, _6]) + return formatWithArgumentRanges(self._s[592]!, self._r[592]!, [_1, _2, _3, _4, _5, _6]) } - public var DialogList_ProxyConnectionIssuesTooltip: String { return self._s[590]! } + public var DialogList_ProxyConnectionIssuesTooltip: String { return self._s[593]! } public func Time_MonthOfYear_m5(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[591]!, self._r[591]!, [_0]) + return formatWithArgumentRanges(self._s[594]!, self._r[594]!, [_0]) } - public var Channel_SignMessages: String { return self._s[592]! } + public var Channel_SignMessages: String { return self._s[595]! } public func PUSH_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[593]!, self._r[593]!, [_1]) + return formatWithArgumentRanges(self._s[596]!, self._r[596]!, [_1]) } - public var Compose_ChannelTokenListPlaceholder: String { return self._s[594]! } - public var Passport_ScanPassport: String { return self._s[595]! } - public var Watch_Suggestion_Thanks: String { return self._s[596]! } - public var BlockedUsers_AddNew: String { return self._s[597]! } + public var Compose_ChannelTokenListPlaceholder: String { return self._s[597]! } + public var Passport_ScanPassport: String { return self._s[598]! } + public var Watch_Suggestion_Thanks: String { return self._s[599]! } + public var BlockedUsers_AddNew: String { return self._s[600]! } public func PUSH_CHAT_MESSAGE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[598]!, self._r[598]!, [_1, _2]) + return formatWithArgumentRanges(self._s[601]!, self._r[601]!, [_1, _2]) } - public var Watch_Message_Invoice: String { return self._s[599]! } - public var SettingsSearch_Synonyms_Privacy_LastSeen: String { return self._s[600]! } - public var Month_GenJuly: String { return self._s[601]! } - public var SocksProxySetup_ProxySocks5: String { return self._s[602]! } - public var Notification_Exceptions_DeleteAllConfirmation: String { return self._s[604]! } - public var Notification_ChannelInviterSelf: String { return self._s[605]! } - public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[606]! } + public var Watch_Message_Invoice: String { return self._s[602]! } + public var SettingsSearch_Synonyms_Privacy_LastSeen: String { return self._s[603]! } + public var Month_GenJuly: String { return self._s[604]! } + public var SocksProxySetup_ProxySocks5: String { return self._s[605]! } + public var Notification_Exceptions_DeleteAllConfirmation: String { return self._s[607]! } + public var Notification_ChannelInviterSelf: String { return self._s[608]! } + public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[609]! } public func ApplyLanguage_ChangeLanguageUnofficialText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[607]!, self._r[607]!, [_1, _2]) + return formatWithArgumentRanges(self._s[610]!, self._r[610]!, [_1, _2]) } - public var CheckoutInfo_Title: String { return self._s[608]! } - public var Watch_Stickers_RecentPlaceholder: String { return self._s[609]! } + public var CheckoutInfo_Title: String { return self._s[611]! } + public var Watch_Stickers_RecentPlaceholder: String { return self._s[612]! } public func Map_DistanceAway(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[610]!, self._r[610]!, [_0]) + return formatWithArgumentRanges(self._s[613]!, self._r[613]!, [_0]) } - public var Passport_Identity_MainPage: String { return self._s[611]! } - public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[612]! } - public var Passport_Language_de: String { return self._s[613]! } - public var Update_Title: String { return self._s[614]! } - public var ContactInfo_PhoneLabelWorkFax: String { return self._s[615]! } - public var Channel_AdminLog_BanEmbedLinks: String { return self._s[616]! } - public var Passport_Email_UseTelegramEmailHelp: String { return self._s[617]! } - public var Notifications_ChannelNotificationsPreview: String { return self._s[618]! } - public var NotificationsSound_Telegraph: String { return self._s[619]! } - public var Watch_LastSeen_ALongTimeAgo: String { return self._s[620]! } - public var ChannelMembers_WhoCanAddMembers: String { return self._s[621]! } + public var Passport_Identity_MainPage: String { return self._s[614]! } + public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[615]! } + public var Passport_Language_de: String { return self._s[616]! } + public var Update_Title: String { return self._s[617]! } + public var ContactInfo_PhoneLabelWorkFax: String { return self._s[618]! } + public var Channel_AdminLog_BanEmbedLinks: String { return self._s[619]! } + public var Passport_Email_UseTelegramEmailHelp: String { return self._s[620]! } + public var Notifications_ChannelNotificationsPreview: String { return self._s[621]! } + public var NotificationsSound_Telegraph: String { return self._s[622]! } + public var Watch_LastSeen_ALongTimeAgo: String { return self._s[623]! } + public var ChannelMembers_WhoCanAddMembers: String { return self._s[624]! } public func AutoDownloadSettings_UpTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[622]!, self._r[622]!, [_0]) + return formatWithArgumentRanges(self._s[625]!, self._r[625]!, [_0]) } - public var Stickers_SuggestAll: String { return self._s[623]! } - public var Conversation_ForwardTitle: String { return self._s[624]! } - public var Appearance_ThemePreview_ChatList_7_Name: String { return self._s[625]! } + public var Stickers_SuggestAll: String { return self._s[626]! } + public var Conversation_ForwardTitle: String { return self._s[627]! } + public var Appearance_ThemePreview_ChatList_7_Name: String { return self._s[628]! } public func Notification_JoinedChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[626]!, self._r[626]!, [_0]) + return formatWithArgumentRanges(self._s[629]!, self._r[629]!, [_0]) } - public var Calls_NewCall: String { return self._s[627]! } - public var Call_StatusEnded: String { return self._s[628]! } - public var AutoDownloadSettings_DataUsageLow: String { return self._s[629]! } - public var Settings_ProxyConnected: String { return self._s[630]! } - public var Channel_AdminLogFilter_EventsPinned: String { return self._s[631]! } - public var PhotoEditor_QualityVeryLow: String { return self._s[632]! } - public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[633]! } - public var Passport_PasswordPlaceholder: String { return self._s[634]! } - public var Message_PinnedInvoice: String { return self._s[635]! } - public var Passport_Identity_IssueDate: String { return self._s[636]! } - public var Passport_Language_pl: String { return self._s[637]! } + public var Calls_NewCall: String { return self._s[630]! } + public var Call_StatusEnded: String { return self._s[631]! } + public var AutoDownloadSettings_DataUsageLow: String { return self._s[632]! } + public var Settings_ProxyConnected: String { return self._s[633]! } + public var Channel_AdminLogFilter_EventsPinned: String { return self._s[634]! } + public var PhotoEditor_QualityVeryLow: String { return self._s[635]! } + public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[636]! } + public var Passport_PasswordPlaceholder: String { return self._s[637]! } + public var Message_PinnedInvoice: String { return self._s[638]! } + public var Passport_Identity_IssueDate: String { return self._s[639]! } + public var Passport_Language_pl: String { return self._s[640]! } public func ChannelInfo_ChannelForbidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[638]!, self._r[638]!, [_0]) - } - public var SocksProxySetup_PasteFromClipboard: String { return self._s[639]! } - public var Call_StatusConnecting: String { return self._s[640]! } - public func Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[641]!, self._r[641]!, [_0]) } - public var ChatSettings_ConnectionType_UseProxy: String { return self._s[643]! } - public var Common_Edit: String { return self._s[644]! } - public var PrivacySettings_LastSeenNobody: String { return self._s[645]! } + public var SocksProxySetup_PasteFromClipboard: String { return self._s[642]! } + public var Call_StatusConnecting: String { return self._s[643]! } + public func Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[644]!, self._r[644]!, [_0]) + } + public var ChatSettings_ConnectionType_UseProxy: String { return self._s[646]! } + public var Common_Edit: String { return self._s[647]! } + public var PrivacySettings_LastSeenNobody: String { return self._s[648]! } public func Notification_LeftChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[646]!, self._r[646]!, [_0]) + return formatWithArgumentRanges(self._s[649]!, self._r[649]!, [_0]) } - public var GroupInfo_ChatAdmins: String { return self._s[647]! } - public var PrivateDataSettings_Title: String { return self._s[648]! } - public var Login_CancelPhoneVerificationStop: String { return self._s[649]! } - public var ChatList_Read: String { return self._s[650]! } - public var Undo_ChatClearedForBothSides: String { return self._s[651]! } - public var GroupPermission_SectionTitle: String { return self._s[652]! } + public var GroupInfo_ChatAdmins: String { return self._s[650]! } + public var PrivateDataSettings_Title: String { return self._s[651]! } + public var Login_CancelPhoneVerificationStop: String { return self._s[652]! } + public var ChatList_Read: String { return self._s[653]! } + public var Undo_ChatClearedForBothSides: String { return self._s[654]! } + public var GroupPermission_SectionTitle: String { return self._s[655]! } public func PUSH_CHAT_LEFT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[654]!, self._r[654]!, [_1, _2]) + return formatWithArgumentRanges(self._s[657]!, self._r[657]!, [_1, _2]) } - public var Checkout_ErrorPaymentFailed: String { return self._s[655]! } - public var Update_UpdateApp: String { return self._s[656]! } - public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[657]! } - public var Settings_Appearance: String { return self._s[658]! } - public var SettingsSearch_Synonyms_Stickers_SuggestStickers: String { return self._s[661]! } - public var Watch_Location_Access: String { return self._s[662]! } - public var ShareMenu_CopyShareLink: String { return self._s[664]! } - public var TwoStepAuth_SetupHintTitle: String { return self._s[665]! } - public var Conversation_Theme: String { return self._s[667]! } + public var Checkout_ErrorPaymentFailed: String { return self._s[658]! } + public var Update_UpdateApp: String { return self._s[659]! } + public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[660]! } + public var Settings_Appearance: String { return self._s[661]! } + public var SettingsSearch_Synonyms_Stickers_SuggestStickers: String { return self._s[664]! } + public var Watch_Location_Access: String { return self._s[665]! } + public var ShareMenu_CopyShareLink: String { return self._s[667]! } + public var TwoStepAuth_SetupHintTitle: String { return self._s[668]! } + public var Conversation_Theme: String { return self._s[670]! } public func DialogList_SingleRecordingVideoMessageSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[668]!, self._r[668]!, [_0]) + return formatWithArgumentRanges(self._s[671]!, self._r[671]!, [_0]) } - public var Notifications_ClassicTones: String { return self._s[669]! } - public var Weekday_ShortWednesday: String { return self._s[670]! } - public var WallpaperPreview_SwipeColorsBottomText: String { return self._s[671]! } - public var Undo_LeftGroup: String { return self._s[674]! } - public var Conversation_LinkDialogCopy: String { return self._s[675]! } - public var KeyCommand_FocusOnInputField: String { return self._s[677]! } - public var Contacts_SelectAll: String { return self._s[678]! } - public var Preview_SaveToCameraRoll: String { return self._s[679]! } - public var PrivacySettings_PasscodeOff: String { return self._s[680]! } - public var Appearance_ThemePreview_ChatList_6_Name: String { return self._s[681]! } - public var Wallpaper_Title: String { return self._s[682]! } - public var Conversation_FilePhotoOrVideo: String { return self._s[683]! } - public var AccessDenied_Camera: String { return self._s[684]! } - public var Watch_Compose_CurrentLocation: String { return self._s[685]! } - public var Channel_DiscussionGroup_MakeHistoryPublicProceed: String { return self._s[687]! } + public var Notifications_ClassicTones: String { return self._s[672]! } + public var Weekday_ShortWednesday: String { return self._s[673]! } + public var WallpaperPreview_SwipeColorsBottomText: String { return self._s[674]! } + public var Undo_LeftGroup: String { return self._s[677]! } + public var Conversation_LinkDialogCopy: String { return self._s[678]! } + public var KeyCommand_FocusOnInputField: String { return self._s[680]! } + public var Contacts_SelectAll: String { return self._s[681]! } + public var Preview_SaveToCameraRoll: String { return self._s[682]! } + public var PrivacySettings_PasscodeOff: String { return self._s[683]! } + public var Appearance_ThemePreview_ChatList_6_Name: String { return self._s[684]! } + public var Wallpaper_Title: String { return self._s[685]! } + public var Conversation_FilePhotoOrVideo: String { return self._s[686]! } + public var AccessDenied_Camera: String { return self._s[687]! } + public var Watch_Compose_CurrentLocation: String { return self._s[688]! } + public var Channel_DiscussionGroup_MakeHistoryPublicProceed: String { return self._s[690]! } public func SecretImage_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[688]!, self._r[688]!, [_0]) + return formatWithArgumentRanges(self._s[691]!, self._r[691]!, [_0]) } - public var GroupInfo_InvitationLinkDoesNotExist: String { return self._s[689]! } - public var Passport_Language_ro: String { return self._s[690]! } - public var EditTheme_UploadNewTheme: String { return self._s[691]! } - public var CheckoutInfo_SaveInfoHelp: String { return self._s[692]! } + public var GroupInfo_InvitationLinkDoesNotExist: String { return self._s[692]! } + public var Passport_Language_ro: String { return self._s[693]! } + public var EditTheme_UploadNewTheme: String { return self._s[694]! } + public var CheckoutInfo_SaveInfoHelp: String { return self._s[695]! } public func Notification_SecretChatMessageScreenshot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[693]!, self._r[693]!, [_0]) + return formatWithArgumentRanges(self._s[696]!, self._r[696]!, [_0]) } - public var Login_CancelPhoneVerification: String { return self._s[694]! } - public var State_ConnectingToProxy: String { return self._s[695]! } - public var Calls_RatingTitle: String { return self._s[696]! } - public var Generic_ErrorMoreInfo: String { return self._s[697]! } - public var Appearance_PreviewReplyText: String { return self._s[698]! } - public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[699]! } - public var SharedMedia_CategoryLinks: String { return self._s[700]! } - public var Calls_Missed: String { return self._s[701]! } - public var Cache_Photos: String { return self._s[705]! } - public var GroupPermission_NoAddMembers: String { return self._s[706]! } - public var ScheduledMessages_Title: String { return self._s[707]! } + public var Login_CancelPhoneVerification: String { return self._s[697]! } + public var State_ConnectingToProxy: String { return self._s[698]! } + public var Calls_RatingTitle: String { return self._s[699]! } + public var Generic_ErrorMoreInfo: String { return self._s[700]! } + public var Appearance_PreviewReplyText: String { return self._s[701]! } + public var CheckoutInfo_ShippingInfoPostcodePlaceholder: String { return self._s[702]! } + public var SharedMedia_CategoryLinks: String { return self._s[703]! } + public var Calls_Missed: String { return self._s[704]! } + public var Cache_Photos: String { return self._s[708]! } + public var GroupPermission_NoAddMembers: String { return self._s[709]! } + public var ScheduledMessages_Title: String { return self._s[710]! } public func Channel_AdminLog_MessageUnpinned(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[708]!, self._r[708]!, [_0]) + return formatWithArgumentRanges(self._s[711]!, self._r[711]!, [_0]) } - public var Conversation_ShareBotLocationConfirmationTitle: String { return self._s[709]! } - public var Settings_ProxyDisabled: String { return self._s[710]! } + public var Conversation_ShareBotLocationConfirmationTitle: String { return self._s[712]! } + public var Settings_ProxyDisabled: String { return self._s[713]! } public func Settings_ApplyProxyAlertCredentials(_ _1: String, _ _2: String, _ _3: String, _ _4: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[711]!, self._r[711]!, [_1, _2, _3, _4]) + return formatWithArgumentRanges(self._s[714]!, self._r[714]!, [_1, _2, _3, _4]) } public func Conversation_RestrictedMediaTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[712]!, self._r[712]!, [_0]) + return formatWithArgumentRanges(self._s[715]!, self._r[715]!, [_0]) } - public var Appearance_Title: String { return self._s[714]! } + public var ChatList_Context_RemoveFromRecents: String { return self._s[717]! } + public var Appearance_Title: String { return self._s[718]! } public func Time_MonthOfYear_m2(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[716]!, self._r[716]!, [_0]) + return formatWithArgumentRanges(self._s[720]!, self._r[720]!, [_0]) } - public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[717]! } - public var Channel_EditMessageErrorGeneric: String { return self._s[718]! } - public var Privacy_Calls_IntegrationHelp: String { return self._s[719]! } - public var Preview_DeletePhoto: String { return self._s[720]! } - public var Appearance_AppIconFilledX: String { return self._s[721]! } - public var PrivacySettings_PrivacyTitle: String { return self._s[722]! } + public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[721]! } + public var Channel_EditMessageErrorGeneric: String { return self._s[722]! } + public var Privacy_Calls_IntegrationHelp: String { return self._s[723]! } + public var Preview_DeletePhoto: String { return self._s[724]! } + public var Appearance_AppIconFilledX: String { return self._s[725]! } + public var PrivacySettings_PrivacyTitle: String { return self._s[726]! } public func Conversation_BotInteractiveUrlAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[723]!, self._r[723]!, [_0]) + return formatWithArgumentRanges(self._s[727]!, self._r[727]!, [_0]) } - public var Coub_TapForSound: String { return self._s[725]! } - public var Map_LocatingError: String { return self._s[726]! } - public var TwoStepAuth_EmailChangeSuccess: String { return self._s[728]! } - public var Conversation_SendMessage_SendSilently: String { return self._s[729]! } - public var VoiceOver_MessageContextOpenMessageMenu: String { return self._s[730]! } - public var Passport_ForgottenPassword: String { return self._s[731]! } - public var GroupInfo_InviteLink_RevokeLink: String { return self._s[732]! } - public var StickerPacksSettings_ArchivedPacks: String { return self._s[733]! } - public var Login_TermsOfServiceSignupDecline: String { return self._s[735]! } - public var Channel_Moderator_AccessLevelRevoke: String { return self._s[736]! } - public var Message_Location: String { return self._s[737]! } - public var Passport_Identity_NamePlaceholder: String { return self._s[738]! } - public var Channel_Management_Title: String { return self._s[739]! } - public var DialogList_SearchSectionDialogs: String { return self._s[741]! } - public var Compose_NewChannel_Members: String { return self._s[742]! } + public var Coub_TapForSound: String { return self._s[729]! } + public var Map_LocatingError: String { return self._s[730]! } + public var TwoStepAuth_EmailChangeSuccess: String { return self._s[732]! } + public var Conversation_SendMessage_SendSilently: String { return self._s[733]! } + public var VoiceOver_MessageContextOpenMessageMenu: String { return self._s[734]! } + public var Passport_ForgottenPassword: String { return self._s[735]! } + public var GroupInfo_InviteLink_RevokeLink: String { return self._s[736]! } + public var StickerPacksSettings_ArchivedPacks: String { return self._s[737]! } + public var Login_TermsOfServiceSignupDecline: String { return self._s[739]! } + public var Channel_Moderator_AccessLevelRevoke: String { return self._s[740]! } + public var Message_Location: String { return self._s[741]! } + public var Passport_Identity_NamePlaceholder: String { return self._s[742]! } + public var Channel_Management_Title: String { return self._s[743]! } + public var DialogList_SearchSectionDialogs: String { return self._s[745]! } + public var Compose_NewChannel_Members: String { return self._s[746]! } public func DialogList_SingleUploadingFileSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[743]!, self._r[743]!, [_0]) + return formatWithArgumentRanges(self._s[747]!, self._r[747]!, [_0]) } - public var GroupInfo_Location: String { return self._s[744]! } - public var Appearance_ThemePreview_ChatList_5_Name: String { return self._s[745]! } - public var AutoNightTheme_ScheduledFrom: String { return self._s[746]! } - public var PhotoEditor_WarmthTool: String { return self._s[747]! } - public var Passport_Language_tr: String { return self._s[748]! } + public var GroupInfo_Location: String { return self._s[748]! } + public var Appearance_ThemePreview_ChatList_5_Name: String { return self._s[749]! } + public var AutoNightTheme_ScheduledFrom: String { return self._s[750]! } + public var PhotoEditor_WarmthTool: String { return self._s[751]! } + public var Passport_Language_tr: String { return self._s[752]! } public func PUSH_MESSAGE_GAME_SCORE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[749]!, self._r[749]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[753]!, self._r[753]!, [_1, _2, _3]) } - public var Login_ResetAccountProtected_Reset: String { return self._s[751]! } - public var Watch_PhotoView_Title: String { return self._s[752]! } - public var Passport_Phone_Delete: String { return self._s[753]! } - public var Undo_ChatDeletedForBothSides: String { return self._s[754]! } - public var Conversation_EditingMessageMediaEditCurrentPhoto: String { return self._s[755]! } - public var GroupInfo_Permissions: String { return self._s[756]! } - public var PasscodeSettings_TurnPasscodeOff: String { return self._s[757]! } - public var Profile_ShareContactButton: String { return self._s[758]! } - public var ChatSettings_Other: String { return self._s[759]! } - public var UserInfo_NotificationsDisabled: String { return self._s[760]! } - public var CheckoutInfo_ShippingInfoCity: String { return self._s[761]! } - public var LastSeen_WithinAMonth: String { return self._s[762]! } - public var VoiceOver_Chat_PlayHint: String { return self._s[763]! } - public var Conversation_ReportGroupLocation: String { return self._s[764]! } - public var Conversation_EncryptionCanceled: String { return self._s[765]! } - public var MediaPicker_GroupDescription: String { return self._s[766]! } - public var WebSearch_Images: String { return self._s[767]! } + public var Login_ResetAccountProtected_Reset: String { return self._s[755]! } + public var Watch_PhotoView_Title: String { return self._s[756]! } + public var Passport_Phone_Delete: String { return self._s[757]! } + public var Undo_ChatDeletedForBothSides: String { return self._s[758]! } + public var Conversation_EditingMessageMediaEditCurrentPhoto: String { return self._s[759]! } + public var GroupInfo_Permissions: String { return self._s[760]! } + public var PasscodeSettings_TurnPasscodeOff: String { return self._s[761]! } + public var Profile_ShareContactButton: String { return self._s[762]! } + public var ChatSettings_Other: String { return self._s[763]! } + public var UserInfo_NotificationsDisabled: String { return self._s[764]! } + public var CheckoutInfo_ShippingInfoCity: String { return self._s[765]! } + public var LastSeen_WithinAMonth: String { return self._s[766]! } + public var VoiceOver_Chat_PlayHint: String { return self._s[767]! } + public var Conversation_ReportGroupLocation: String { return self._s[768]! } + public var Conversation_EncryptionCanceled: String { return self._s[769]! } + public var MediaPicker_GroupDescription: String { return self._s[770]! } + public var WebSearch_Images: String { return self._s[771]! } public func Channel_Management_PromotedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[768]!, self._r[768]!, [_0]) + return formatWithArgumentRanges(self._s[772]!, self._r[772]!, [_0]) } - public var Message_Photo: String { return self._s[769]! } - public var PasscodeSettings_HelpBottom: String { return self._s[770]! } - public var AutoDownloadSettings_VideosTitle: String { return self._s[771]! } - public var EditTheme_ThemeTemplateAlert: String { return self._s[772]! } - public var VoiceOver_Media_PlaybackRateChange: String { return self._s[773]! } - public var Passport_Identity_AddDriversLicense: String { return self._s[774]! } - public var TwoStepAuth_EnterPasswordPassword: String { return self._s[775]! } - public var NotificationsSound_Calypso: String { return self._s[776]! } - public var Map_Map: String { return self._s[777]! } - public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[779]! } - public var ChatSettings_TextSizeUnits: String { return self._s[780]! } + public var Message_Photo: String { return self._s[773]! } + public var PasscodeSettings_HelpBottom: String { return self._s[774]! } + public var AutoDownloadSettings_VideosTitle: String { return self._s[775]! } + public var VoiceOver_Media_PlaybackRateChange: String { return self._s[776]! } + public var Passport_Identity_AddDriversLicense: String { return self._s[777]! } + public var TwoStepAuth_EnterPasswordPassword: String { return self._s[778]! } + public var NotificationsSound_Calypso: String { return self._s[779]! } + public var Map_Map: String { return self._s[780]! } + public var CheckoutInfo_ReceiverInfoTitle: String { return self._s[782]! } + public var ChatSettings_TextSizeUnits: String { return self._s[783]! } public func VoiceOver_Chat_FileFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[781]!, self._r[781]!, [_0]) + return formatWithArgumentRanges(self._s[784]!, self._r[784]!, [_0]) } - public var Common_of: String { return self._s[782]! } - public var Conversation_ForwardContacts: String { return self._s[785]! } + public var Common_of: String { return self._s[785]! } + public var Conversation_ForwardContacts: String { return self._s[788]! } public func Call_AnsweringWithAccount(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[787]!, self._r[787]!, [_0]) + return formatWithArgumentRanges(self._s[790]!, self._r[790]!, [_0]) } - public var Passport_Language_hy: String { return self._s[788]! } - public var Notifications_MessageNotificationsHelp: String { return self._s[789]! } - public var AutoDownloadSettings_Reset: String { return self._s[790]! } - public var Paint_ClearConfirm: String { return self._s[791]! } - public var Camera_VideoMode: String { return self._s[792]! } + public var Passport_Language_hy: String { return self._s[791]! } + public var Notifications_MessageNotificationsHelp: String { return self._s[792]! } + public var AutoDownloadSettings_Reset: String { return self._s[793]! } + public var Paint_ClearConfirm: String { return self._s[794]! } + public var Camera_VideoMode: String { return self._s[795]! } public func Conversation_RestrictedStickersTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[793]!, self._r[793]!, [_0]) + return formatWithArgumentRanges(self._s[796]!, self._r[796]!, [_0]) } - public var Privacy_Calls_AlwaysAllow_Placeholder: String { return self._s[794]! } - public var Conversation_ViewBackground: String { return self._s[795]! } - public var Passport_Language_el: String { return self._s[796]! } - public var PhotoEditor_Original: String { return self._s[797]! } - public var Settings_FAQ_Button: String { return self._s[799]! } - public var Channel_Setup_PublicNoLink: String { return self._s[801]! } - public var Conversation_UnsupportedMedia: String { return self._s[802]! } - public var Conversation_SlideToCancel: String { return self._s[803]! } - public var Appearance_ThemePreview_ChatList_4_Name: String { return self._s[804]! } - public var Passport_Identity_OneOfTypeInternalPassport: String { return self._s[805]! } - public var CheckoutInfo_ShippingInfoPostcode: String { return self._s[806]! } - public var Conversation_ReportSpamChannelConfirmation: String { return self._s[807]! } - public var AutoNightTheme_NotAvailable: String { return self._s[808]! } - public var Conversation_Owner: String { return self._s[809]! } - public var Common_Create: String { return self._s[810]! } - public var Settings_ApplyProxyAlertEnable: String { return self._s[811]! } - public var Localization_ChooseLanguage: String { return self._s[813]! } - public var Settings_Proxy: String { return self._s[816]! } - public var Privacy_TopPeersHelp: String { return self._s[817]! } - public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[818]! } - public var Chat_UnsendMyMessages: String { return self._s[819]! } + public var Privacy_Calls_AlwaysAllow_Placeholder: String { return self._s[797]! } + public var Conversation_ViewBackground: String { return self._s[798]! } + public var Passport_Language_el: String { return self._s[799]! } + public var PhotoEditor_Original: String { return self._s[800]! } + public var Settings_FAQ_Button: String { return self._s[802]! } + public var Channel_Setup_PublicNoLink: String { return self._s[804]! } + public var Conversation_UnsupportedMedia: String { return self._s[805]! } + public var Conversation_SlideToCancel: String { return self._s[806]! } + public var Appearance_ThemePreview_ChatList_4_Name: String { return self._s[807]! } + public var Passport_Identity_OneOfTypeInternalPassport: String { return self._s[808]! } + public var CheckoutInfo_ShippingInfoPostcode: String { return self._s[809]! } + public var Conversation_ReportSpamChannelConfirmation: String { return self._s[810]! } + public var AutoNightTheme_NotAvailable: String { return self._s[811]! } + public var Conversation_Owner: String { return self._s[812]! } + public var Common_Create: String { return self._s[813]! } + public var Settings_ApplyProxyAlertEnable: String { return self._s[814]! } + public var ContactList_Context_Call: String { return self._s[815]! } + public var Localization_ChooseLanguage: String { return self._s[817]! } + public var ChatList_Context_AddToContacts: String { return self._s[819]! } + public var Settings_Proxy: String { return self._s[821]! } + public var Privacy_TopPeersHelp: String { return self._s[822]! } + public var CheckoutInfo_ShippingInfoCountryPlaceholder: String { return self._s[823]! } + public var Chat_UnsendMyMessages: String { return self._s[824]! } public func VoiceOver_Chat_Duration(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[820]!, self._r[820]!, [_0]) + return formatWithArgumentRanges(self._s[825]!, self._r[825]!, [_0]) } - public var TwoStepAuth_ConfirmationAbort: String { return self._s[821]! } + public var TwoStepAuth_ConfirmationAbort: String { return self._s[826]! } public func Contacts_AccessDeniedHelpPortrait(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[823]!, self._r[823]!, [_0]) + return formatWithArgumentRanges(self._s[828]!, self._r[828]!, [_0]) } - public var Contacts_SortedByPresence: String { return self._s[824]! } - public var Passport_Identity_SurnamePlaceholder: String { return self._s[825]! } - public var Cache_Title: String { return self._s[826]! } + public var Contacts_SortedByPresence: String { return self._s[829]! } + public var Passport_Identity_SurnamePlaceholder: String { return self._s[830]! } + public var Cache_Title: String { return self._s[831]! } public func Login_PhoneBannedEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[827]!, self._r[827]!, [_0]) + return formatWithArgumentRanges(self._s[832]!, self._r[832]!, [_0]) } - public var TwoStepAuth_EmailCodeExpired: String { return self._s[828]! } - public var Channel_Moderator_Title: String { return self._s[829]! } - public var InstantPage_AutoNightTheme: String { return self._s[831]! } + public var TwoStepAuth_EmailCodeExpired: String { return self._s[833]! } + public var Channel_Moderator_Title: String { return self._s[834]! } + public var InstantPage_AutoNightTheme: String { return self._s[836]! } public func PUSH_MESSAGE_POLL(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[834]!, self._r[834]!, [_1]) + return formatWithArgumentRanges(self._s[839]!, self._r[839]!, [_1]) } - public var Passport_Scans_Upload: String { return self._s[835]! } - public var Undo_Undo: String { return self._s[837]! } - public var Contacts_AccessDeniedHelpON: String { return self._s[838]! } - public var TwoStepAuth_RemovePassword: String { return self._s[839]! } - public var Common_Delete: String { return self._s[840]! } - public var Contacts_AddPeopleNearby: String { return self._s[842]! } - public var Conversation_ContextMenuDelete: String { return self._s[843]! } - public var SocksProxySetup_Credentials: String { return self._s[844]! } - public var Appearance_EditTheme: String { return self._s[846]! } - public var PasscodeSettings_AutoLock_Disabled: String { return self._s[847]! } - public var Passport_Address_OneOfTypeRentalAgreement: String { return self._s[850]! } - public var Conversation_ShareBotContactConfirmationTitle: String { return self._s[851]! } - public var Passport_Language_id: String { return self._s[853]! } - public var WallpaperSearch_ColorTeal: String { return self._s[854]! } - public var ChannelIntro_Title: String { return self._s[855]! } + public var Passport_Scans_Upload: String { return self._s[840]! } + public var Undo_Undo: String { return self._s[842]! } + public var Contacts_AccessDeniedHelpON: String { return self._s[843]! } + public var TwoStepAuth_RemovePassword: String { return self._s[844]! } + public var Common_Delete: String { return self._s[845]! } + public var Contacts_AddPeopleNearby: String { return self._s[847]! } + public var Conversation_ContextMenuDelete: String { return self._s[848]! } + public var SocksProxySetup_Credentials: String { return self._s[849]! } + public var Appearance_EditTheme: String { return self._s[851]! } + public var PasscodeSettings_AutoLock_Disabled: String { return self._s[852]! } + public var Passport_Address_OneOfTypeRentalAgreement: String { return self._s[855]! } + public var Conversation_ShareBotContactConfirmationTitle: String { return self._s[856]! } + public var Passport_Language_id: String { return self._s[858]! } + public var WallpaperSearch_ColorTeal: String { return self._s[859]! } + public var ChannelIntro_Title: String { return self._s[860]! } public func Channel_AdminLog_MessageToggleSignaturesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[856]!, self._r[856]!, [_0]) + return formatWithArgumentRanges(self._s[861]!, self._r[861]!, [_0]) } - public var VoiceOver_Chat_OpenLinkHint: String { return self._s[858]! } - public var VoiceOver_Chat_Reply: String { return self._s[859]! } - public var ScheduledMessages_BotActionUnavailable: String { return self._s[860]! } - public var Channel_Info_Description: String { return self._s[861]! } - public var Stickers_FavoriteStickers: String { return self._s[862]! } - public var Channel_BanUser_PermissionAddMembers: String { return self._s[863]! } - public var Notifications_DisplayNamesOnLockScreen: String { return self._s[864]! } - public var Calls_NoMissedCallsPlacehoder: String { return self._s[865]! } - public var Group_PublicLink_Placeholder: String { return self._s[866]! } - public var Notifications_ExceptionsDefaultSound: String { return self._s[867]! } + public var VoiceOver_Chat_OpenLinkHint: String { return self._s[863]! } + public var VoiceOver_Chat_Reply: String { return self._s[864]! } + public var ScheduledMessages_BotActionUnavailable: String { return self._s[865]! } + public var Channel_Info_Description: String { return self._s[866]! } + public var Stickers_FavoriteStickers: String { return self._s[867]! } + public var Channel_BanUser_PermissionAddMembers: String { return self._s[868]! } + public var Notifications_DisplayNamesOnLockScreen: String { return self._s[869]! } + public var Calls_NoMissedCallsPlacehoder: String { return self._s[870]! } + public var Group_PublicLink_Placeholder: String { return self._s[871]! } + public var Notifications_ExceptionsDefaultSound: String { return self._s[872]! } public func PUSH_CHANNEL_MESSAGE_POLL(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[868]!, self._r[868]!, [_1]) + return formatWithArgumentRanges(self._s[873]!, self._r[873]!, [_1]) } - public var TextFormat_Underline: String { return self._s[869]! } + public var TextFormat_Underline: String { return self._s[874]! } public func DialogList_SearchSubtitleFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[870]!, self._r[870]!, [_1, _2]) + return formatWithArgumentRanges(self._s[875]!, self._r[875]!, [_1, _2]) } public func Channel_AdminLog_MessageRemovedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[871]!, self._r[871]!, [_0]) + return formatWithArgumentRanges(self._s[876]!, self._r[876]!, [_0]) } - public var Appearance_ThemePreview_ChatList_3_Name: String { return self._s[872]! } + public var Appearance_ThemePreview_ChatList_3_Name: String { return self._s[877]! } public func Channel_OwnershipTransfer_TransferCompleted(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[873]!, self._r[873]!, [_1, _2]) + return formatWithArgumentRanges(self._s[878]!, self._r[878]!, [_1, _2]) } - public var GroupPermission_Delete: String { return self._s[874]! } - public var Passport_Language_uk: String { return self._s[875]! } - public var StickerPack_HideStickers: String { return self._s[877]! } - public var ChangePhoneNumberNumber_NumberPlaceholder: String { return self._s[878]! } + public var GroupPermission_Delete: String { return self._s[879]! } + public var Passport_Language_uk: String { return self._s[880]! } + public var StickerPack_HideStickers: String { return self._s[882]! } + public var ChangePhoneNumberNumber_NumberPlaceholder: String { return self._s[883]! } public func PUSH_CHAT_MESSAGE_PHOTO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[879]!, self._r[879]!, [_1, _2]) + return formatWithArgumentRanges(self._s[884]!, self._r[884]!, [_1, _2]) } - public var Activity_UploadingVideoMessage: String { return self._s[880]! } + public var Activity_UploadingVideoMessage: String { return self._s[885]! } public func GroupPermission_ApplyAlertText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[881]!, self._r[881]!, [_0]) + return formatWithArgumentRanges(self._s[886]!, self._r[886]!, [_0]) } - public var Channel_TitleInfo: String { return self._s[882]! } - public var StickerPacksSettings_ArchivedPacks_Info: String { return self._s[883]! } - public var Settings_CallSettings: String { return self._s[884]! } - public var Camera_SquareMode: String { return self._s[885]! } - public var Conversation_SendMessage_ScheduleMessage: String { return self._s[886]! } - public var GroupInfo_SharedMediaNone: String { return self._s[887]! } + public var Channel_TitleInfo: String { return self._s[887]! } + public var StickerPacksSettings_ArchivedPacks_Info: String { return self._s[888]! } + public var Settings_CallSettings: String { return self._s[889]! } + public var Camera_SquareMode: String { return self._s[890]! } + public var Conversation_SendMessage_ScheduleMessage: String { return self._s[891]! } + public var GroupInfo_SharedMediaNone: String { return self._s[892]! } public func PUSH_MESSAGE_VIDEO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[888]!, self._r[888]!, [_1]) + return formatWithArgumentRanges(self._s[893]!, self._r[893]!, [_1]) } - public var Bot_GenericBotStatus: String { return self._s[889]! } - public var Application_Update: String { return self._s[891]! } - public var Month_ShortJanuary: String { return self._s[892]! } - public var Contacts_PermissionsKeepDisabled: String { return self._s[893]! } - public var Channel_AdminLog_BanReadMessages: String { return self._s[894]! } - public var Settings_AppLanguage_Unofficial: String { return self._s[895]! } - public var Passport_Address_Street2Placeholder: String { return self._s[896]! } + public var Bot_GenericBotStatus: String { return self._s[894]! } + public var Application_Update: String { return self._s[896]! } + public var Month_ShortJanuary: String { return self._s[897]! } + public var Contacts_PermissionsKeepDisabled: String { return self._s[898]! } + public var Channel_AdminLog_BanReadMessages: String { return self._s[899]! } + public var Settings_AppLanguage_Unofficial: String { return self._s[900]! } + public var Passport_Address_Street2Placeholder: String { return self._s[901]! } public func Map_LiveLocationShortHour(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[897]!, self._r[897]!, [_0]) + return formatWithArgumentRanges(self._s[902]!, self._r[902]!, [_0]) } - public var NetworkUsageSettings_Cellular: String { return self._s[898]! } - public var Appearance_PreviewOutgoingText: String { return self._s[899]! } - public var Notifications_PermissionsAllowInSettings: String { return self._s[900]! } - public var AutoDownloadSettings_OnForAll: String { return self._s[902]! } - public var Map_Directions: String { return self._s[903]! } - public var Passport_FieldIdentityTranslationHelp: String { return self._s[905]! } - public var Appearance_ThemeDay: String { return self._s[906]! } - public var LogoutOptions_LogOut: String { return self._s[907]! } - public var Group_PublicLink_Title: String { return self._s[909]! } - public var Channel_AddBotErrorNoRights: String { return self._s[910]! } - public var Passport_Identity_AddPassport: String { return self._s[911]! } - public var LocalGroup_ButtonTitle: String { return self._s[912]! } - public var Call_Message: String { return self._s[913]! } - public var PhotoEditor_ExposureTool: String { return self._s[914]! } - public var Passport_FieldOneOf_Delimeter: String { return self._s[916]! } - public var Channel_AdminLog_CanBanUsers: String { return self._s[918]! } - public var Appearance_ThemePreview_ChatList_2_Name: String { return self._s[919]! } - public var Appearance_Preview: String { return self._s[920]! } - public var Compose_ChannelMembers: String { return self._s[921]! } - public var Conversation_DeleteManyMessages: String { return self._s[922]! } - public var ReportPeer_ReasonOther_Title: String { return self._s[923]! } - public var Checkout_ErrorProviderAccountTimeout: String { return self._s[924]! } - public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[925]! } - public var Channel_Stickers_CreateYourOwn: String { return self._s[928]! } - public var Conversation_UpdateTelegram: String { return self._s[929]! } - public var EditTheme_Create_TopInfo: String { return self._s[930]! } + public var NetworkUsageSettings_Cellular: String { return self._s[903]! } + public var Appearance_PreviewOutgoingText: String { return self._s[904]! } + public var Notifications_PermissionsAllowInSettings: String { return self._s[905]! } + public var AutoDownloadSettings_OnForAll: String { return self._s[907]! } + public var Map_Directions: String { return self._s[908]! } + public var Passport_FieldIdentityTranslationHelp: String { return self._s[910]! } + public var Appearance_ThemeDay: String { return self._s[911]! } + public var LogoutOptions_LogOut: String { return self._s[912]! } + public var Group_PublicLink_Title: String { return self._s[914]! } + public var Channel_AddBotErrorNoRights: String { return self._s[915]! } + public var Passport_Identity_AddPassport: String { return self._s[916]! } + public var LocalGroup_ButtonTitle: String { return self._s[917]! } + public var Call_Message: String { return self._s[918]! } + public var PhotoEditor_ExposureTool: String { return self._s[919]! } + public var Passport_FieldOneOf_Delimeter: String { return self._s[921]! } + public var Channel_AdminLog_CanBanUsers: String { return self._s[923]! } + public var Appearance_ThemePreview_ChatList_2_Name: String { return self._s[924]! } + public var Appearance_Preview: String { return self._s[925]! } + public var Compose_ChannelMembers: String { return self._s[926]! } + public var Conversation_DeleteManyMessages: String { return self._s[927]! } + public var ReportPeer_ReasonOther_Title: String { return self._s[928]! } + public var Checkout_ErrorProviderAccountTimeout: String { return self._s[929]! } + public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[930]! } + public var Channel_Stickers_CreateYourOwn: String { return self._s[933]! } + public var Conversation_UpdateTelegram: String { return self._s[934]! } + public var EditTheme_Create_TopInfo: String { return self._s[935]! } public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[931]!, self._r[931]!, [_0]) + return formatWithArgumentRanges(self._s[936]!, self._r[936]!, [_0]) } public func PUSH_PINNED_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[932]!, self._r[932]!, [_1]) + return formatWithArgumentRanges(self._s[937]!, self._r[937]!, [_1]) } - public var GroupInfo_Administrators_Title: String { return self._s[933]! } - public var Privacy_Forwards_PreviewMessageText: String { return self._s[934]! } + public var GroupInfo_Administrators_Title: String { return self._s[938]! } + public var Privacy_Forwards_PreviewMessageText: String { return self._s[939]! } public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[935]!, self._r[935]!, [_0]) + return formatWithArgumentRanges(self._s[940]!, self._r[940]!, [_0]) } - public var Tour_Title3: String { return self._s[936]! } - public var Channel_EditAdmin_PermissionInviteSubscribers: String { return self._s[937]! } - public var Clipboard_SendPhoto: String { return self._s[941]! } - public var MediaPicker_Videos: String { return self._s[942]! } - public var Passport_Email_Title: String { return self._s[943]! } + public var Tour_Title3: String { return self._s[941]! } + public var Channel_EditAdmin_PermissionInviteSubscribers: String { return self._s[942]! } + public var Clipboard_SendPhoto: String { return self._s[946]! } + public var MediaPicker_Videos: String { return self._s[947]! } + public var Passport_Email_Title: String { return self._s[948]! } public func PrivacySettings_LastSeenEverybodyMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[944]!, self._r[944]!, [_0]) + return formatWithArgumentRanges(self._s[949]!, self._r[949]!, [_0]) } - public var StickerPacksSettings_Title: String { return self._s[945]! } - public var Conversation_MessageDialogDelete: String { return self._s[946]! } - public var Privacy_Calls_CustomHelp: String { return self._s[948]! } - public var Message_Wallpaper: String { return self._s[949]! } - public var MemberSearch_BotSection: String { return self._s[950]! } - public var GroupInfo_SetSound: String { return self._s[951]! } - public var Core_ServiceUserStatus: String { return self._s[952]! } - public var LiveLocationUpdated_JustNow: String { return self._s[953]! } - public var Call_StatusFailed: String { return self._s[954]! } - public var TwoStepAuth_SetupPasswordDescription: String { return self._s[955]! } - public var TwoStepAuth_SetPassword: String { return self._s[956]! } - public var Permissions_PeopleNearbyText_v0: String { return self._s[957]! } + public var StickerPacksSettings_Title: String { return self._s[950]! } + public var Conversation_MessageDialogDelete: String { return self._s[951]! } + public var Privacy_Calls_CustomHelp: String { return self._s[953]! } + public var Message_Wallpaper: String { return self._s[954]! } + public var MemberSearch_BotSection: String { return self._s[955]! } + public var GroupInfo_SetSound: String { return self._s[956]! } + public var Core_ServiceUserStatus: String { return self._s[957]! } + public var LiveLocationUpdated_JustNow: String { return self._s[958]! } + public var Call_StatusFailed: String { return self._s[959]! } + public var TwoStepAuth_SetupPasswordDescription: String { return self._s[960]! } + public var TwoStepAuth_SetPassword: String { return self._s[961]! } + public var Permissions_PeopleNearbyText_v0: String { return self._s[962]! } public func SocksProxySetup_ProxyStatusPing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[959]!, self._r[959]!, [_0]) + return formatWithArgumentRanges(self._s[964]!, self._r[964]!, [_0]) } - public var Calls_SubmitRating: String { return self._s[960]! } - public var Profile_Username: String { return self._s[961]! } - public var Bot_DescriptionTitle: String { return self._s[962]! } - public var MaskStickerSettings_Title: String { return self._s[963]! } - public var SharedMedia_CategoryOther: String { return self._s[964]! } - public var GroupInfo_SetGroupPhoto: String { return self._s[965]! } - public var Common_NotNow: String { return self._s[966]! } - public var CallFeedback_IncludeLogsInfo: String { return self._s[967]! } - public var Conversation_ShareMyPhoneNumber: String { return self._s[968]! } - public var Map_Location: String { return self._s[969]! } - public var Invitation_JoinGroup: String { return self._s[970]! } - public var AutoDownloadSettings_Title: String { return self._s[972]! } - public var Conversation_DiscardVoiceMessageDescription: String { return self._s[973]! } - public var Channel_ErrorAddBlocked: String { return self._s[974]! } - public var Conversation_UnblockUser: String { return self._s[975]! } - public var EditTheme_Edit_TopInfo: String { return self._s[976]! } - public var Watch_Bot_Restart: String { return self._s[977]! } - public var TwoStepAuth_Title: String { return self._s[978]! } - public var Channel_AdminLog_BanSendMessages: String { return self._s[979]! } - public var Checkout_ShippingMethod: String { return self._s[980]! } - public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[981]! } + public var Calls_SubmitRating: String { return self._s[965]! } + public var Profile_Username: String { return self._s[966]! } + public var Bot_DescriptionTitle: String { return self._s[967]! } + public var MaskStickerSettings_Title: String { return self._s[968]! } + public var SharedMedia_CategoryOther: String { return self._s[969]! } + public var GroupInfo_SetGroupPhoto: String { return self._s[970]! } + public var Common_NotNow: String { return self._s[971]! } + public var CallFeedback_IncludeLogsInfo: String { return self._s[972]! } + public var Conversation_ShareMyPhoneNumber: String { return self._s[973]! } + public var Map_Location: String { return self._s[974]! } + public var Invitation_JoinGroup: String { return self._s[975]! } + public var AutoDownloadSettings_Title: String { return self._s[977]! } + public var Conversation_DiscardVoiceMessageDescription: String { return self._s[978]! } + public var Channel_ErrorAddBlocked: String { return self._s[979]! } + public var Conversation_UnblockUser: String { return self._s[980]! } + public var EditTheme_Edit_TopInfo: String { return self._s[981]! } + public var Watch_Bot_Restart: String { return self._s[982]! } + public var TwoStepAuth_Title: String { return self._s[983]! } + public var Channel_AdminLog_BanSendMessages: String { return self._s[984]! } + public var Checkout_ShippingMethod: String { return self._s[985]! } + public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[986]! } public func PUSH_CHAT_MESSAGE_STICKER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[982]!, self._r[982]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[987]!, self._r[987]!, [_1, _2, _3]) } public func Chat_UnsendMyMessagesAlertTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[984]!, self._r[984]!, [_0]) + return formatWithArgumentRanges(self._s[989]!, self._r[989]!, [_0]) } public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[985]!, self._r[985]!, [_0]) + return formatWithArgumentRanges(self._s[990]!, self._r[990]!, [_0]) } - public var Appearance_ThemePreview_ChatList_1_Name: String { return self._s[986]! } - public var SettingsSearch_Synonyms_Data_AutoplayGifs: String { return self._s[987]! } - public var AuthSessions_TerminateOtherSessions: String { return self._s[988]! } - public var Contacts_FailedToSendInvitesMessage: String { return self._s[989]! } - public var PrivacySettings_TwoStepAuth: String { return self._s[990]! } - public var Notification_Exceptions_PreviewAlwaysOn: String { return self._s[991]! } - public var SettingsSearch_Synonyms_Privacy_Passcode: String { return self._s[992]! } - public var Conversation_EditingMessagePanelMedia: String { return self._s[993]! } - public var Checkout_PaymentMethod_Title: String { return self._s[994]! } - public var SocksProxySetup_Connection: String { return self._s[995]! } - public var Group_MessagePhotoRemoved: String { return self._s[996]! } - public var Channel_Stickers_NotFound: String { return self._s[999]! } - public var Group_About_Help: String { return self._s[1000]! } - public var Notification_PassportValueProofOfIdentity: String { return self._s[1001]! } - public var PeopleNearby_Title: String { return self._s[1003]! } + public var Appearance_ThemePreview_ChatList_1_Name: String { return self._s[991]! } + public var SettingsSearch_Synonyms_Data_AutoplayGifs: String { return self._s[992]! } + public var AuthSessions_TerminateOtherSessions: String { return self._s[993]! } + public var Contacts_FailedToSendInvitesMessage: String { return self._s[994]! } + public var PrivacySettings_TwoStepAuth: String { return self._s[995]! } + public var Notification_Exceptions_PreviewAlwaysOn: String { return self._s[996]! } + public var SettingsSearch_Synonyms_Privacy_Passcode: String { return self._s[997]! } + public var Conversation_EditingMessagePanelMedia: String { return self._s[998]! } + public var Checkout_PaymentMethod_Title: String { return self._s[999]! } + public var SocksProxySetup_Connection: String { return self._s[1000]! } + public var Group_MessagePhotoRemoved: String { return self._s[1001]! } + public var Channel_Stickers_NotFound: String { return self._s[1004]! } + public var Group_About_Help: String { return self._s[1005]! } + public var Notification_PassportValueProofOfIdentity: String { return self._s[1006]! } + public var PeopleNearby_Title: String { return self._s[1008]! } public func ApplyLanguage_ChangeLanguageOfficialText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1004]!, self._r[1004]!, [_1]) + return formatWithArgumentRanges(self._s[1009]!, self._r[1009]!, [_1]) } - public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[1006]! } - public var Notifications_GroupNotificationsExceptionsHelp: String { return self._s[1007]! } - public var SocksProxySetup_Password: String { return self._s[1008]! } - public var Notifications_PermissionsEnable: String { return self._s[1009]! } - public var TwoStepAuth_ChangeEmail: String { return self._s[1011]! } + public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[1011]! } + public var Notifications_GroupNotificationsExceptionsHelp: String { return self._s[1012]! } + public var SocksProxySetup_Password: String { return self._s[1013]! } + public var Notifications_PermissionsEnable: String { return self._s[1014]! } + public var TwoStepAuth_ChangeEmail: String { return self._s[1016]! } public func Channel_AdminLog_MessageInvitedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1012]!, self._r[1012]!, [_1]) + return formatWithArgumentRanges(self._s[1017]!, self._r[1017]!, [_1]) } public func Time_MonthOfYear_m10(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1014]!, self._r[1014]!, [_0]) + return formatWithArgumentRanges(self._s[1019]!, self._r[1019]!, [_0]) } - public var Passport_Identity_TypeDriversLicense: String { return self._s[1015]! } - public var ArchivedPacksAlert_Title: String { return self._s[1016]! } + public var Passport_Identity_TypeDriversLicense: String { return self._s[1020]! } + public var ArchivedPacksAlert_Title: String { return self._s[1021]! } public func Time_PreciseDate_m7(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1017]!, self._r[1017]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1022]!, self._r[1022]!, [_1, _2, _3]) } - public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[1018]! } - public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[1020]! } - public var Conversation_StatusTyping: String { return self._s[1021]! } - public var Broadcast_AdminLog_EmptyText: String { return self._s[1022]! } - public var Notification_PassportValueProofOfAddress: String { return self._s[1023]! } - public var UserInfo_CreateNewContact: String { return self._s[1024]! } - public var Passport_Identity_FrontSide: String { return self._s[1025]! } - public var Login_PhoneNumberAlreadyAuthorizedSwitch: String { return self._s[1026]! } - public var Calls_CallTabTitle: String { return self._s[1027]! } - public var Channel_AdminLog_ChannelEmptyText: String { return self._s[1028]! } + public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[1023]! } + public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[1025]! } + public var Conversation_StatusTyping: String { return self._s[1026]! } + public var Broadcast_AdminLog_EmptyText: String { return self._s[1027]! } + public var Notification_PassportValueProofOfAddress: String { return self._s[1028]! } + public var UserInfo_CreateNewContact: String { return self._s[1029]! } + public var Passport_Identity_FrontSide: String { return self._s[1030]! } + public var Login_PhoneNumberAlreadyAuthorizedSwitch: String { return self._s[1031]! } + public var Calls_CallTabTitle: String { return self._s[1032]! } + public var Channel_AdminLog_ChannelEmptyText: String { return self._s[1033]! } public func Login_BannedPhoneBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1030]!, self._r[1030]!, [_0]) + return formatWithArgumentRanges(self._s[1035]!, self._r[1035]!, [_0]) } - public var Watch_UserInfo_MuteTitle: String { return self._s[1031]! } - public var Group_EditAdmin_RankAdminPlaceholder: String { return self._s[1032]! } - public var SharedMedia_EmptyMusicText: String { return self._s[1033]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[1034]! } - public var Paint_Stickers: String { return self._s[1035]! } - public var Privacy_GroupsAndChannels: String { return self._s[1036]! } - public var UserInfo_AddContact: String { return self._s[1038]! } + public var Watch_UserInfo_MuteTitle: String { return self._s[1036]! } + public var Group_EditAdmin_RankAdminPlaceholder: String { return self._s[1037]! } + public var SharedMedia_EmptyMusicText: String { return self._s[1038]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[1039]! } + public var Paint_Stickers: String { return self._s[1040]! } + public var Privacy_GroupsAndChannels: String { return self._s[1041]! } + public var ChatList_Context_Delete: String { return self._s[1043]! } + public var UserInfo_AddContact: String { return self._s[1044]! } public func Conversation_MessageViaUser(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1039]!, self._r[1039]!, [_0]) + return formatWithArgumentRanges(self._s[1045]!, self._r[1045]!, [_0]) } - public var PhoneNumberHelp_ChangeNumber: String { return self._s[1041]! } + public var PhoneNumberHelp_ChangeNumber: String { return self._s[1047]! } public func ChatList_ClearChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1043]!, self._r[1043]!, [_0]) + return formatWithArgumentRanges(self._s[1049]!, self._r[1049]!, [_0]) } - public var DialogList_NoMessagesTitle: String { return self._s[1044]! } - public var EditProfile_NameAndPhotoHelp: String { return self._s[1045]! } - public var BlockedUsers_BlockUser: String { return self._s[1046]! } - public var Notifications_PermissionsOpenSettings: String { return self._s[1047]! } - public var MediaPicker_UngroupDescription: String { return self._s[1048]! } - public var Watch_NoConnection: String { return self._s[1049]! } - public var Month_GenSeptember: String { return self._s[1050]! } - public var Conversation_ViewGroup: String { return self._s[1051]! } - public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[1054]! } - public var Privacy_Forwards_AlwaysLink: String { return self._s[1055]! } - public var Channel_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[1056]! } - public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[1057]! } - public var MediaPicker_CameraRoll: String { return self._s[1059]! } - public var Month_GenAugust: String { return self._s[1060]! } - public var AccessDenied_VideoMessageMicrophone: String { return self._s[1061]! } - public var SharedMedia_EmptyText: String { return self._s[1062]! } - public var Map_ShareLiveLocation: String { return self._s[1063]! } - public var Calls_All: String { return self._s[1064]! } - public var Appearance_ThemeNight: String { return self._s[1067]! } - public var Conversation_HoldForAudio: String { return self._s[1068]! } - public var SettingsSearch_Synonyms_Support: String { return self._s[1071]! } - public var GroupInfo_GroupHistoryHidden: String { return self._s[1072]! } - public var SocksProxySetup_Secret: String { return self._s[1073]! } + public var DialogList_NoMessagesTitle: String { return self._s[1050]! } + public var EditProfile_NameAndPhotoHelp: String { return self._s[1051]! } + public var BlockedUsers_BlockUser: String { return self._s[1052]! } + public var Notifications_PermissionsOpenSettings: String { return self._s[1053]! } + public var MediaPicker_UngroupDescription: String { return self._s[1054]! } + public var Watch_NoConnection: String { return self._s[1055]! } + public var Month_GenSeptember: String { return self._s[1056]! } + public var Conversation_ViewGroup: String { return self._s[1057]! } + public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[1060]! } + public var Privacy_Forwards_AlwaysLink: String { return self._s[1061]! } + public var Channel_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[1062]! } + public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[1063]! } + public var MediaPicker_CameraRoll: String { return self._s[1065]! } + public var Month_GenAugust: String { return self._s[1066]! } + public var AccessDenied_VideoMessageMicrophone: String { return self._s[1067]! } + public var SharedMedia_EmptyText: String { return self._s[1068]! } + public var Map_ShareLiveLocation: String { return self._s[1069]! } + public var Calls_All: String { return self._s[1070]! } + public var Appearance_ThemeNight: String { return self._s[1073]! } + public var Conversation_HoldForAudio: String { return self._s[1074]! } + public var SettingsSearch_Synonyms_Support: String { return self._s[1077]! } + public var GroupInfo_GroupHistoryHidden: String { return self._s[1078]! } + public var SocksProxySetup_Secret: String { return self._s[1079]! } public func Activity_RemindAboutChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1074]!, self._r[1074]!, [_0]) + return formatWithArgumentRanges(self._s[1080]!, self._r[1080]!, [_0]) } - public var Channel_BanList_RestrictedTitle: String { return self._s[1076]! } - public var Conversation_Location: String { return self._s[1077]! } + public var Channel_BanList_RestrictedTitle: String { return self._s[1082]! } + public var Conversation_Location: String { return self._s[1083]! } public func AutoDownloadSettings_UpToFor(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1078]!, self._r[1078]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1084]!, self._r[1084]!, [_1, _2]) } - public var ChatSettings_AutoDownloadPhotos: String { return self._s[1080]! } - public var SettingsSearch_Synonyms_Privacy_Title: String { return self._s[1081]! } - public var Notifications_PermissionsText: String { return self._s[1082]! } - public var SettingsSearch_Synonyms_Data_SaveIncomingPhotos: String { return self._s[1083]! } - public var Call_Flip: String { return self._s[1084]! } - public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[1086]! } - public var PrivacyPhoneNumberSettings_DiscoveryHeader: String { return self._s[1087]! } - public var Channel_EditAdmin_PermissionPinMessages: String { return self._s[1089]! } - public var TwoStepAuth_ReEnterPasswordDescription: String { return self._s[1091]! } - public var Channel_TooMuchBots: String { return self._s[1093]! } - public var Passport_DeletePassportConfirmation: String { return self._s[1094]! } - public var Login_InvalidCodeError: String { return self._s[1095]! } - public var StickerPacksSettings_FeaturedPacks: String { return self._s[1096]! } + public var ChatSettings_AutoDownloadPhotos: String { return self._s[1086]! } + public var SettingsSearch_Synonyms_Privacy_Title: String { return self._s[1087]! } + public var Notifications_PermissionsText: String { return self._s[1088]! } + public var SettingsSearch_Synonyms_Data_SaveIncomingPhotos: String { return self._s[1089]! } + public var Call_Flip: String { return self._s[1090]! } + public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[1092]! } + public var PrivacyPhoneNumberSettings_DiscoveryHeader: String { return self._s[1093]! } + public var Channel_EditAdmin_PermissionPinMessages: String { return self._s[1095]! } + public var TwoStepAuth_ReEnterPasswordDescription: String { return self._s[1097]! } + public var Channel_TooMuchBots: String { return self._s[1099]! } + public var Passport_DeletePassportConfirmation: String { return self._s[1100]! } + public var Login_InvalidCodeError: String { return self._s[1101]! } + public var StickerPacksSettings_FeaturedPacks: String { return self._s[1102]! } public func ChatList_DeleteSecretChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1097]!, self._r[1097]!, [_0]) + return formatWithArgumentRanges(self._s[1103]!, self._r[1103]!, [_0]) } public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1098]!, self._r[1098]!, [_0]) + return formatWithArgumentRanges(self._s[1104]!, self._r[1104]!, [_0]) } - public var VoiceOver_Navigation_ProxySettings: String { return self._s[1099]! } - public var Call_CallInProgressTitle: String { return self._s[1100]! } - public var Month_ShortSeptember: String { return self._s[1101]! } - public var Watch_ChannelInfo_Title: String { return self._s[1102]! } - public var ChatList_DeleteSavedMessagesConfirmation: String { return self._s[1105]! } - public var DialogList_PasscodeLockHelp: String { return self._s[1106]! } - public var Chat_MultipleTextMessagesDisabled: String { return self._s[1107]! } - public var Notifications_Badge_IncludePublicGroups: String { return self._s[1108]! } - public var Channel_AdminLogFilter_EventsTitle: String { return self._s[1109]! } - public var PhotoEditor_CropReset: String { return self._s[1110]! } - public var Group_Username_CreatePrivateLinkHelp: String { return self._s[1112]! } - public var Channel_Management_LabelEditor: String { return self._s[1113]! } - public var Passport_Identity_LatinNameHelp: String { return self._s[1115]! } - public var PhotoEditor_HighlightsTool: String { return self._s[1116]! } - public var UserInfo_Title: String { return self._s[1117]! } - public var ChatList_HideAction: String { return self._s[1118]! } - public var AccessDenied_Title: String { return self._s[1119]! } - public var DialogList_SearchLabel: String { return self._s[1120]! } - public var Group_Setup_HistoryHidden: String { return self._s[1121]! } - public var TwoStepAuth_PasswordChangeSuccess: String { return self._s[1122]! } - public var State_Updating: String { return self._s[1124]! } - public var Contacts_TabTitle: String { return self._s[1125]! } - public var Notifications_Badge_CountUnreadMessages: String { return self._s[1127]! } - public var GroupInfo_GroupHistory: String { return self._s[1128]! } - public var Conversation_UnsupportedMediaPlaceholder: String { return self._s[1129]! } - public var Wallpaper_SetColor: String { return self._s[1130]! } - public var CheckoutInfo_ShippingInfoCountry: String { return self._s[1131]! } - public var SettingsSearch_Synonyms_SavedMessages: String { return self._s[1132]! } - public var Chat_AttachmentLimitReached: String { return self._s[1133]! } - public var Passport_Identity_OneOfTypeDriversLicense: String { return self._s[1134]! } - public var Contacts_NotRegisteredSection: String { return self._s[1135]! } + public var VoiceOver_Navigation_ProxySettings: String { return self._s[1105]! } + public var Call_CallInProgressTitle: String { return self._s[1106]! } + public var Month_ShortSeptember: String { return self._s[1107]! } + public var Watch_ChannelInfo_Title: String { return self._s[1108]! } + public var ChatList_DeleteSavedMessagesConfirmation: String { return self._s[1111]! } + public var DialogList_PasscodeLockHelp: String { return self._s[1112]! } + public var Chat_MultipleTextMessagesDisabled: String { return self._s[1113]! } + public var Notifications_Badge_IncludePublicGroups: String { return self._s[1114]! } + public var Channel_AdminLogFilter_EventsTitle: String { return self._s[1115]! } + public var PhotoEditor_CropReset: String { return self._s[1116]! } + public var Group_Username_CreatePrivateLinkHelp: String { return self._s[1118]! } + public var Channel_Management_LabelEditor: String { return self._s[1119]! } + public var Passport_Identity_LatinNameHelp: String { return self._s[1121]! } + public var PhotoEditor_HighlightsTool: String { return self._s[1122]! } + public var UserInfo_Title: String { return self._s[1123]! } + public var ChatList_HideAction: String { return self._s[1124]! } + public var AccessDenied_Title: String { return self._s[1125]! } + public var DialogList_SearchLabel: String { return self._s[1126]! } + public var Group_Setup_HistoryHidden: String { return self._s[1127]! } + public var TwoStepAuth_PasswordChangeSuccess: String { return self._s[1128]! } + public var State_Updating: String { return self._s[1130]! } + public var Contacts_TabTitle: String { return self._s[1131]! } + public var Notifications_Badge_CountUnreadMessages: String { return self._s[1133]! } + public var GroupInfo_GroupHistory: String { return self._s[1134]! } + public var Conversation_UnsupportedMediaPlaceholder: String { return self._s[1135]! } + public var Wallpaper_SetColor: String { return self._s[1136]! } + public var CheckoutInfo_ShippingInfoCountry: String { return self._s[1137]! } + public var SettingsSearch_Synonyms_SavedMessages: String { return self._s[1138]! } + public var Chat_AttachmentLimitReached: String { return self._s[1139]! } + public var Passport_Identity_OneOfTypeDriversLicense: String { return self._s[1140]! } + public var Contacts_NotRegisteredSection: String { return self._s[1141]! } public func Time_PreciseDate_m4(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1136]!, self._r[1136]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1142]!, self._r[1142]!, [_1, _2, _3]) } - public var Paint_Clear: String { return self._s[1137]! } - public var StickerPacksSettings_ArchivedMasks: String { return self._s[1138]! } - public var SocksProxySetup_Connecting: String { return self._s[1139]! } - public var ExplicitContent_AlertChannel: String { return self._s[1140]! } - public var CreatePoll_AllOptionsAdded: String { return self._s[1141]! } - public var Conversation_Contact: String { return self._s[1142]! } - public var Login_CodeExpired: String { return self._s[1143]! } - public var Passport_DiscardMessageAction: String { return self._s[1144]! } - public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[1145]! } + public var Paint_Clear: String { return self._s[1143]! } + public var StickerPacksSettings_ArchivedMasks: String { return self._s[1144]! } + public var SocksProxySetup_Connecting: String { return self._s[1145]! } + public var ExplicitContent_AlertChannel: String { return self._s[1146]! } + public var CreatePoll_AllOptionsAdded: String { return self._s[1147]! } + public var Conversation_Contact: String { return self._s[1148]! } + public var Login_CodeExpired: String { return self._s[1149]! } + public var Passport_DiscardMessageAction: String { return self._s[1150]! } + public var ChatList_Context_Unpin: String { return self._s[1151]! } + public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[1152]! } public func VoiceOver_Chat_MusicFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1146]!, self._r[1146]!, [_0]) + return formatWithArgumentRanges(self._s[1153]!, self._r[1153]!, [_0]) } - public var Channel_AdminLog_EmptyMessageText: String { return self._s[1147]! } - public var SettingsSearch_Synonyms_Data_NetworkUsage: String { return self._s[1148]! } + public var Channel_AdminLog_EmptyMessageText: String { return self._s[1154]! } + public var SettingsSearch_Synonyms_Data_NetworkUsage: String { return self._s[1155]! } public func Group_EditAdmin_RankInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1149]!, self._r[1149]!, [_0]) + return formatWithArgumentRanges(self._s[1156]!, self._r[1156]!, [_0]) } - public var Month_ShortApril: String { return self._s[1150]! } - public var AuthSessions_CurrentSession: String { return self._s[1151]! } - public var Chat_AttachmentMultipleFilesDisabled: String { return self._s[1154]! } - public var WallpaperPreview_CropTopText: String { return self._s[1156]! } - public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[1157]! } - public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1158]! } + public var Month_ShortApril: String { return self._s[1157]! } + public var AuthSessions_CurrentSession: String { return self._s[1158]! } + public var Chat_AttachmentMultipleFilesDisabled: String { return self._s[1161]! } + public var WallpaperPreview_CropTopText: String { return self._s[1163]! } + public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[1164]! } + public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1165]! } public func Conversation_ScheduleMessage_SendOn(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1159]!, self._r[1159]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1166]!, self._r[1166]!, [_0, _1]) } - public var Appearance_ThemePreview_Chat_2_Text: String { return self._s[1160]! } - public var Channel_Setup_TypePrivate: String { return self._s[1162]! } - public var Forward_ChannelReadOnly: String { return self._s[1165]! } - public var PhotoEditor_CurvesBlue: String { return self._s[1166]! } - public var AddContact_SharedContactException: String { return self._s[1167]! } - public var UserInfo_BotPrivacy: String { return self._s[1169]! } - public var Notification_PassportValueEmail: String { return self._s[1170]! } - public var EmptyGroupInfo_Subtitle: String { return self._s[1171]! } - public var GroupPermission_NewTitle: String { return self._s[1172]! } - public var CallFeedback_ReasonDropped: String { return self._s[1173]! } - public var GroupInfo_Permissions_AddException: String { return self._s[1174]! } - public var Channel_SignMessages_Help: String { return self._s[1176]! } - public var Undo_ChatDeleted: String { return self._s[1178]! } - public var Conversation_ChatBackground: String { return self._s[1179]! } - public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[1180]! } - public var FastTwoStepSetup_EmailPlaceholder: String { return self._s[1181]! } - public var Passport_Language_pt: String { return self._s[1182]! } - public var VoiceOver_Chat_YourVoiceMessage: String { return self._s[1183]! } - public var NotificationsSound_Popcorn: String { return self._s[1186]! } - public var AutoNightTheme_Disabled: String { return self._s[1187]! } - public var BlockedUsers_LeavePrefix: String { return self._s[1188]! } - public var WallpaperPreview_CustomColorTopText: String { return self._s[1189]! } - public var Contacts_PermissionsSuppressWarningText: String { return self._s[1190]! } - public var WallpaperSearch_ColorBlue: String { return self._s[1191]! } + public var Appearance_ThemePreview_Chat_2_Text: String { return self._s[1167]! } + public var Channel_Setup_TypePrivate: String { return self._s[1169]! } + public var Forward_ChannelReadOnly: String { return self._s[1172]! } + public var PhotoEditor_CurvesBlue: String { return self._s[1173]! } + public var AddContact_SharedContactException: String { return self._s[1174]! } + public var UserInfo_BotPrivacy: String { return self._s[1176]! } + public var Notification_PassportValueEmail: String { return self._s[1177]! } + public var EmptyGroupInfo_Subtitle: String { return self._s[1178]! } + public var GroupPermission_NewTitle: String { return self._s[1179]! } + public var CallFeedback_ReasonDropped: String { return self._s[1180]! } + public var GroupInfo_Permissions_AddException: String { return self._s[1181]! } + public var Channel_SignMessages_Help: String { return self._s[1183]! } + public var Undo_ChatDeleted: String { return self._s[1185]! } + public var Conversation_ChatBackground: String { return self._s[1186]! } + public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[1187]! } + public var FastTwoStepSetup_EmailPlaceholder: String { return self._s[1188]! } + public var Passport_Language_pt: String { return self._s[1189]! } + public var VoiceOver_Chat_YourVoiceMessage: String { return self._s[1190]! } + public var NotificationsSound_Popcorn: String { return self._s[1193]! } + public var AutoNightTheme_Disabled: String { return self._s[1194]! } + public var BlockedUsers_LeavePrefix: String { return self._s[1195]! } + public var WallpaperPreview_CustomColorTopText: String { return self._s[1196]! } + public var Contacts_PermissionsSuppressWarningText: String { return self._s[1197]! } + public var WallpaperSearch_ColorBlue: String { return self._s[1198]! } public func CancelResetAccount_TextSMS(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1192]!, self._r[1192]!, [_0]) + return formatWithArgumentRanges(self._s[1199]!, self._r[1199]!, [_0]) } - public var CheckoutInfo_ErrorNameInvalid: String { return self._s[1193]! } - public var SocksProxySetup_UseForCalls: String { return self._s[1194]! } - public var Passport_DeleteDocumentConfirmation: String { return self._s[1196]! } + public var CheckoutInfo_ErrorNameInvalid: String { return self._s[1200]! } + public var SocksProxySetup_UseForCalls: String { return self._s[1201]! } + public var Passport_DeleteDocumentConfirmation: String { return self._s[1203]! } public func Conversation_Megabytes(_ _0: Float) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1197]!, self._r[1197]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1204]!, self._r[1204]!, ["\(_0)"]) } - public var SocksProxySetup_Hostname: String { return self._s[1200]! } - public var ChatSettings_AutoDownloadSettings_OffForAll: String { return self._s[1201]! } - public var Compose_NewEncryptedChat: String { return self._s[1202]! } - public var Login_CodeFloodError: String { return self._s[1203]! } - public var Calls_TabTitle: String { return self._s[1204]! } - public var Privacy_ProfilePhoto: String { return self._s[1205]! } - public var Passport_Language_he: String { return self._s[1206]! } + public var SocksProxySetup_Hostname: String { return self._s[1207]! } + public var ChatSettings_AutoDownloadSettings_OffForAll: String { return self._s[1208]! } + public var Compose_NewEncryptedChat: String { return self._s[1209]! } + public var Login_CodeFloodError: String { return self._s[1210]! } + public var Calls_TabTitle: String { return self._s[1211]! } + public var Privacy_ProfilePhoto: String { return self._s[1212]! } + public var Passport_Language_he: String { return self._s[1213]! } public func Conversation_SetReminder_RemindToday(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1207]!, self._r[1207]!, [_0]) + return formatWithArgumentRanges(self._s[1214]!, self._r[1214]!, [_0]) } - public var GroupPermission_Title: String { return self._s[1208]! } + public var GroupPermission_Title: String { return self._s[1215]! } public func Channel_AdminLog_MessageGroupPreHistoryHidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1209]!, self._r[1209]!, [_0]) + return formatWithArgumentRanges(self._s[1216]!, self._r[1216]!, [_0]) } - public var GroupPermission_NoChangeInfo: String { return self._s[1210]! } - public var ChatList_DeleteForCurrentUser: String { return self._s[1211]! } - public var Tour_Text1: String { return self._s[1212]! } - public var Channel_EditAdmin_TransferOwnership: String { return self._s[1213]! } - public var Month_ShortFebruary: String { return self._s[1214]! } - public var TwoStepAuth_EmailSkip: String { return self._s[1215]! } - public var NotificationsSound_Glass: String { return self._s[1216]! } - public var Appearance_ThemeNightBlue: String { return self._s[1217]! } - public var CheckoutInfo_Pay: String { return self._s[1218]! } - public var Invite_LargeRecipientsCountWarning: String { return self._s[1220]! } - public var Call_CallAgain: String { return self._s[1222]! } - public var AttachmentMenu_SendAsFile: String { return self._s[1223]! } - public var AccessDenied_MicrophoneRestricted: String { return self._s[1224]! } - public var Passport_InvalidPasswordError: String { return self._s[1225]! } - public var Watch_Message_Game: String { return self._s[1226]! } - public var Stickers_Install: String { return self._s[1227]! } - public var VoiceOver_Chat_Message: String { return self._s[1228]! } - public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[1229]! } - public var Passport_Identity_ResidenceCountry: String { return self._s[1231]! } - public var Notifications_GroupNotificationsHelp: String { return self._s[1232]! } - public var AuthSessions_OtherSessions: String { return self._s[1233]! } - public var Channel_Username_Help: String { return self._s[1234]! } - public var Camera_Title: String { return self._s[1235]! } - public var GroupInfo_SetGroupPhotoDelete: String { return self._s[1237]! } - public var Privacy_ProfilePhoto_NeverShareWith_Title: String { return self._s[1238]! } - public var Channel_AdminLog_SendPolls: String { return self._s[1239]! } - public var Channel_AdminLog_TitleAllEvents: String { return self._s[1240]! } - public var Channel_EditAdmin_PermissionInviteMembers: String { return self._s[1241]! } - public var Contacts_MemberSearchSectionTitleGroup: String { return self._s[1242]! } - public var ScheduledMessages_DeleteMany: String { return self._s[1243]! } - public var Conversation_RestrictedStickers: String { return self._s[1244]! } - public var Notifications_ExceptionsResetToDefaults: String { return self._s[1246]! } - public var UserInfo_TelegramCall: String { return self._s[1248]! } - public var TwoStepAuth_SetupResendEmailCode: String { return self._s[1249]! } - public var CreatePoll_OptionsHeader: String { return self._s[1250]! } - public var SettingsSearch_Synonyms_Data_CallsUseLessData: String { return self._s[1251]! } - public var ArchivedChats_IntroTitle1: String { return self._s[1252]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[1253]! } - public var Passport_Identity_EditPersonalDetails: String { return self._s[1254]! } + public var GroupPermission_NoChangeInfo: String { return self._s[1217]! } + public var ChatList_DeleteForCurrentUser: String { return self._s[1218]! } + public var Tour_Text1: String { return self._s[1219]! } + public var Channel_EditAdmin_TransferOwnership: String { return self._s[1220]! } + public var Month_ShortFebruary: String { return self._s[1221]! } + public var TwoStepAuth_EmailSkip: String { return self._s[1222]! } + public var NotificationsSound_Glass: String { return self._s[1223]! } + public var Appearance_ThemeNightBlue: String { return self._s[1224]! } + public var CheckoutInfo_Pay: String { return self._s[1225]! } + public var Invite_LargeRecipientsCountWarning: String { return self._s[1227]! } + public var Call_CallAgain: String { return self._s[1229]! } + public var AttachmentMenu_SendAsFile: String { return self._s[1230]! } + public var AccessDenied_MicrophoneRestricted: String { return self._s[1231]! } + public var Passport_InvalidPasswordError: String { return self._s[1232]! } + public var Watch_Message_Game: String { return self._s[1233]! } + public var Stickers_Install: String { return self._s[1234]! } + public var VoiceOver_Chat_Message: String { return self._s[1235]! } + public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[1236]! } + public var Passport_Identity_ResidenceCountry: String { return self._s[1238]! } + public var Notifications_GroupNotificationsHelp: String { return self._s[1239]! } + public var AuthSessions_OtherSessions: String { return self._s[1240]! } + public var Channel_Username_Help: String { return self._s[1241]! } + public var Camera_Title: String { return self._s[1242]! } + public var GroupInfo_SetGroupPhotoDelete: String { return self._s[1244]! } + public var Privacy_ProfilePhoto_NeverShareWith_Title: String { return self._s[1245]! } + public var Channel_AdminLog_SendPolls: String { return self._s[1246]! } + public var Channel_AdminLog_TitleAllEvents: String { return self._s[1247]! } + public var Channel_EditAdmin_PermissionInviteMembers: String { return self._s[1248]! } + public var Contacts_MemberSearchSectionTitleGroup: String { return self._s[1249]! } + public var ScheduledMessages_DeleteMany: String { return self._s[1250]! } + public var Conversation_RestrictedStickers: String { return self._s[1251]! } + public var Notifications_ExceptionsResetToDefaults: String { return self._s[1253]! } + public var UserInfo_TelegramCall: String { return self._s[1255]! } + public var TwoStepAuth_SetupResendEmailCode: String { return self._s[1256]! } + public var CreatePoll_OptionsHeader: String { return self._s[1257]! } + public var SettingsSearch_Synonyms_Data_CallsUseLessData: String { return self._s[1258]! } + public var ArchivedChats_IntroTitle1: String { return self._s[1259]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[1260]! } + public var Passport_Identity_EditPersonalDetails: String { return self._s[1261]! } public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1255]!, self._r[1255]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1262]!, self._r[1262]!, [_1, _2, _3]) } - public var Settings_SaveEditedPhotos: String { return self._s[1256]! } - public var TwoStepAuth_ConfirmationTitle: String { return self._s[1257]! } - public var Privacy_GroupsAndChannels_NeverAllow_Title: String { return self._s[1258]! } - public var Conversation_MessageDialogRetry: String { return self._s[1259]! } - public var Conversation_DiscardVoiceMessageAction: String { return self._s[1260]! } - public var Permissions_PeopleNearbyTitle_v0: String { return self._s[1261]! } - public var Group_Setup_TypeHeader: String { return self._s[1262]! } - public var Paint_RecentStickers: String { return self._s[1263]! } - public var PhotoEditor_GrainTool: String { return self._s[1264]! } - public var CheckoutInfo_ShippingInfoState: String { return self._s[1265]! } - public var EmptyGroupInfo_Line4: String { return self._s[1266]! } - public var Watch_AuthRequired: String { return self._s[1268]! } + public var Settings_SaveEditedPhotos: String { return self._s[1263]! } + public var TwoStepAuth_ConfirmationTitle: String { return self._s[1264]! } + public var Privacy_GroupsAndChannels_NeverAllow_Title: String { return self._s[1265]! } + public var Conversation_MessageDialogRetry: String { return self._s[1266]! } + public var ChatList_Context_MarkAsUnread: String { return self._s[1267]! } + public var Conversation_DiscardVoiceMessageAction: String { return self._s[1268]! } + public var Permissions_PeopleNearbyTitle_v0: String { return self._s[1269]! } + public var Group_Setup_TypeHeader: String { return self._s[1270]! } + public var Paint_RecentStickers: String { return self._s[1271]! } + public var PhotoEditor_GrainTool: String { return self._s[1272]! } + public var CheckoutInfo_ShippingInfoState: String { return self._s[1273]! } + public var EmptyGroupInfo_Line4: String { return self._s[1274]! } + public var Watch_AuthRequired: String { return self._s[1276]! } public func Passport_Email_UseTelegramEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1269]!, self._r[1269]!, [_0]) + return formatWithArgumentRanges(self._s[1277]!, self._r[1277]!, [_0]) } - public var Conversation_EncryptedDescriptionTitle: String { return self._s[1270]! } - public var ChannelIntro_Text: String { return self._s[1271]! } - public var DialogList_DeleteBotConfirmation: String { return self._s[1272]! } - public var GroupPermission_NoSendMedia: String { return self._s[1273]! } - public var Calls_AddTab: String { return self._s[1274]! } - public var Message_ReplyActionButtonShowReceipt: String { return self._s[1275]! } - public var Channel_AdminLog_EmptyFilterText: String { return self._s[1276]! } - public var Notification_MessageLifetime1d: String { return self._s[1277]! } - public var Notifications_ChannelNotificationsExceptionsHelp: String { return self._s[1278]! } - public var Channel_BanUser_PermissionsHeader: String { return self._s[1279]! } - public var Passport_Identity_GenderFemale: String { return self._s[1280]! } - public var BlockedUsers_BlockTitle: String { return self._s[1281]! } + public var Conversation_EncryptedDescriptionTitle: String { return self._s[1278]! } + public var ChannelIntro_Text: String { return self._s[1279]! } + public var DialogList_DeleteBotConfirmation: String { return self._s[1280]! } + public var GroupPermission_NoSendMedia: String { return self._s[1281]! } + public var Calls_AddTab: String { return self._s[1282]! } + public var Message_ReplyActionButtonShowReceipt: String { return self._s[1283]! } + public var Channel_AdminLog_EmptyFilterText: String { return self._s[1284]! } + public var Notification_MessageLifetime1d: String { return self._s[1285]! } + public var Notifications_ChannelNotificationsExceptionsHelp: String { return self._s[1286]! } + public var Channel_BanUser_PermissionsHeader: String { return self._s[1287]! } + public var Passport_Identity_GenderFemale: String { return self._s[1288]! } + public var BlockedUsers_BlockTitle: String { return self._s[1289]! } public func PUSH_CHANNEL_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1282]!, self._r[1282]!, [_1]) + return formatWithArgumentRanges(self._s[1290]!, self._r[1290]!, [_1]) } - public var Weekday_Yesterday: String { return self._s[1283]! } - public var WallpaperSearch_ColorBlack: String { return self._s[1284]! } - public var ChatList_ArchiveAction: String { return self._s[1285]! } - public var AutoNightTheme_Scheduled: String { return self._s[1286]! } + public var Weekday_Yesterday: String { return self._s[1291]! } + public var WallpaperSearch_ColorBlack: String { return self._s[1292]! } + public var Settings_Context_Logout: String { return self._s[1293]! } + public var ChatList_ArchiveAction: String { return self._s[1294]! } + public var AutoNightTheme_Scheduled: String { return self._s[1295]! } public func Login_PhoneGenericEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1287]!, self._r[1287]!, [_1, _2, _3, _4, _5, _6]) + return formatWithArgumentRanges(self._s[1296]!, self._r[1296]!, [_1, _2, _3, _4, _5, _6]) } - public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1288]! } + public var EditTheme_ThemeTemplateAlertTitle: String { return self._s[1297]! } + public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1298]! } public func PUSH_CHAT_JOINED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1289]!, self._r[1289]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1299]!, self._r[1299]!, [_1, _2]) } - public var CreatePoll_Create: String { return self._s[1290]! } - public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1291]! } + public var CreatePoll_Create: String { return self._s[1300]! } + public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1301]! } public func Notification_CallFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1292]!, self._r[1292]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1302]!, self._r[1302]!, [_1, _2]) } - public var ScheduledMessages_ClearAllConfirmation: String { return self._s[1293]! } - public var Checkout_ErrorProviderAccountInvalid: String { return self._s[1294]! } - public var Notifications_InAppNotificationsSounds: String { return self._s[1296]! } + public var ScheduledMessages_ClearAllConfirmation: String { return self._s[1303]! } + public var Checkout_ErrorProviderAccountInvalid: String { return self._s[1304]! } + public var Notifications_InAppNotificationsSounds: String { return self._s[1306]! } public func PUSH_PINNED_GAME_SCORE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1297]!, self._r[1297]!, [_1]) + return formatWithArgumentRanges(self._s[1307]!, self._r[1307]!, [_1]) } - public var Preview_OpenInInstagram: String { return self._s[1298]! } - public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[1299]! } + public var Preview_OpenInInstagram: String { return self._s[1308]! } + public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[1309]! } public func PUSH_CHAT_ADD_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1300]!, self._r[1300]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1310]!, self._r[1310]!, [_1, _2, _3]) } public func Passport_PrivacyPolicy(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1301]!, self._r[1301]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1311]!, self._r[1311]!, [_1, _2]) } - public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[1302]! } - public var ArchivedChats_IntroText3: String { return self._s[1303]! } - public var ChatList_UndoArchiveHiddenText: String { return self._s[1304]! } - public var NetworkUsageSettings_TotalSection: String { return self._s[1305]! } - public var Channel_Setup_TypePrivateHelp: String { return self._s[1306]! } + public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[1312]! } + public var ArchivedChats_IntroText3: String { return self._s[1313]! } + public var ChatList_UndoArchiveHiddenText: String { return self._s[1314]! } + public var NetworkUsageSettings_TotalSection: String { return self._s[1315]! } + public var Channel_Setup_TypePrivateHelp: String { return self._s[1316]! } public func PUSH_CHAT_MESSAGE_POLL(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1307]!, self._r[1307]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1317]!, self._r[1317]!, [_1, _2, _3]) } - public var Privacy_GroupsAndChannels_NeverAllow_Placeholder: String { return self._s[1309]! } - public var FastTwoStepSetup_HintSection: String { return self._s[1310]! } - public var Wallpaper_PhotoLibrary: String { return self._s[1311]! } - public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[1312]! } - public var Gif_NoGifsFound: String { return self._s[1313]! } - public var Watch_LastSeen_WithinAMonth: String { return self._s[1314]! } - public var VoiceOver_MessageContextDelete: String { return self._s[1315]! } - public var EditTheme_Preview: String { return self._s[1316]! } - public var GroupInfo_ActionPromote: String { return self._s[1317]! } - public var PasscodeSettings_SimplePasscode: String { return self._s[1318]! } - public var GroupInfo_Permissions_Title: String { return self._s[1319]! } - public var Permissions_ContactsText_v0: String { return self._s[1320]! } - public var PrivacyPhoneNumberSettings_CustomDisabledHelp: String { return self._s[1321]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedPublicGroups: String { return self._s[1322]! } - public var PrivacySettings_DataSettingsHelp: String { return self._s[1325]! } - public var Passport_FieldEmailHelp: String { return self._s[1326]! } + public var Privacy_GroupsAndChannels_NeverAllow_Placeholder: String { return self._s[1319]! } + public var FastTwoStepSetup_HintSection: String { return self._s[1320]! } + public var Wallpaper_PhotoLibrary: String { return self._s[1321]! } + public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[1322]! } + public var Gif_NoGifsFound: String { return self._s[1323]! } + public var Watch_LastSeen_WithinAMonth: String { return self._s[1324]! } + public var VoiceOver_MessageContextDelete: String { return self._s[1325]! } + public var EditTheme_Preview: String { return self._s[1326]! } + public var GroupInfo_ActionPromote: String { return self._s[1327]! } + public var PasscodeSettings_SimplePasscode: String { return self._s[1328]! } + public var GroupInfo_Permissions_Title: String { return self._s[1329]! } + public var Permissions_ContactsText_v0: String { return self._s[1330]! } + public var PrivacyPhoneNumberSettings_CustomDisabledHelp: String { return self._s[1331]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedPublicGroups: String { return self._s[1332]! } + public var PrivacySettings_DataSettingsHelp: String { return self._s[1335]! } + public var Passport_FieldEmailHelp: String { return self._s[1336]! } public func Activity_RemindAboutUser(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1327]!, self._r[1327]!, [_0]) + return formatWithArgumentRanges(self._s[1337]!, self._r[1337]!, [_0]) } - public var Passport_Identity_GenderPlaceholder: String { return self._s[1328]! } - public var Weekday_ShortSaturday: String { return self._s[1329]! } - public var ContactInfo_PhoneLabelMain: String { return self._s[1330]! } - public var Watch_Conversation_UserInfo: String { return self._s[1331]! } - public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1332]! } - public var PrivacyLastSeenSettings_Title: String { return self._s[1333]! } - public var Conversation_ShareBotLocationConfirmation: String { return self._s[1334]! } - public var PhotoEditor_VignetteTool: String { return self._s[1335]! } - public var Passport_Address_Street1Placeholder: String { return self._s[1336]! } - public var Passport_Language_et: String { return self._s[1337]! } - public var AppUpgrade_Running: String { return self._s[1338]! } - public var Channel_DiscussionGroup_Info: String { return self._s[1340]! } - public var EditTheme_Create_Preview_IncomingReplyName: String { return self._s[1341]! } - public var Passport_Language_bg: String { return self._s[1342]! } - public var Stickers_NoStickersFound: String { return self._s[1344]! } + public var Passport_Identity_GenderPlaceholder: String { return self._s[1338]! } + public var Weekday_ShortSaturday: String { return self._s[1339]! } + public var ContactInfo_PhoneLabelMain: String { return self._s[1340]! } + public var Watch_Conversation_UserInfo: String { return self._s[1341]! } + public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1342]! } + public var PrivacyLastSeenSettings_Title: String { return self._s[1343]! } + public var Conversation_ShareBotLocationConfirmation: String { return self._s[1344]! } + public var PhotoEditor_VignetteTool: String { return self._s[1345]! } + public var Passport_Address_Street1Placeholder: String { return self._s[1346]! } + public var Passport_Language_et: String { return self._s[1347]! } + public var AppUpgrade_Running: String { return self._s[1348]! } + public var Channel_DiscussionGroup_Info: String { return self._s[1350]! } + public var EditTheme_Create_Preview_IncomingReplyName: String { return self._s[1351]! } + public var Passport_Language_bg: String { return self._s[1352]! } + public var Stickers_NoStickersFound: String { return self._s[1354]! } public func PUSH_CHANNEL_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1346]!, self._r[1346]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1356]!, self._r[1356]!, [_1, _2]) } public func VoiceOver_Chat_ContactFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1347]!, self._r[1347]!, [_0]) + return formatWithArgumentRanges(self._s[1357]!, self._r[1357]!, [_0]) } - public var Settings_About: String { return self._s[1348]! } + public var Settings_About: String { return self._s[1358]! } public func Channel_AdminLog_MessageRestricted(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1349]!, self._r[1349]!, [_0, _1, _2]) + return formatWithArgumentRanges(self._s[1359]!, self._r[1359]!, [_0, _1, _2]) } - public var KeyCommand_NewMessage: String { return self._s[1351]! } - public var Group_ErrorAddBlocked: String { return self._s[1352]! } + public var ChatList_Context_MarkAsRead: String { return self._s[1361]! } + public var KeyCommand_NewMessage: String { return self._s[1362]! } + public var Group_ErrorAddBlocked: String { return self._s[1363]! } public func Message_PaymentSent(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1353]!, self._r[1353]!, [_0]) + return formatWithArgumentRanges(self._s[1364]!, self._r[1364]!, [_0]) } - public var Map_LocationTitle: String { return self._s[1354]! } - public var ReportGroupLocation_Title: String { return self._s[1355]! } - public var CallSettings_UseLessDataLongDescription: String { return self._s[1356]! } - public var Cache_ClearProgress: String { return self._s[1357]! } + public var Map_LocationTitle: String { return self._s[1365]! } + public var ReportGroupLocation_Title: String { return self._s[1366]! } + public var CallSettings_UseLessDataLongDescription: String { return self._s[1367]! } + public var Cache_ClearProgress: String { return self._s[1368]! } public func Channel_Management_ErrorNotMember(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1358]!, self._r[1358]!, [_0]) + return formatWithArgumentRanges(self._s[1369]!, self._r[1369]!, [_0]) } - public var GroupRemoved_AddToGroup: String { return self._s[1359]! } - public var Passport_UpdateRequiredError: String { return self._s[1360]! } + public var GroupRemoved_AddToGroup: String { return self._s[1370]! } + public var Passport_UpdateRequiredError: String { return self._s[1371]! } public func PUSH_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1361]!, self._r[1361]!, [_1]) + return formatWithArgumentRanges(self._s[1372]!, self._r[1372]!, [_1]) } - public var Notifications_PermissionsSuppressWarningText: String { return self._s[1363]! } - public var Passport_Identity_MainPageHelp: String { return self._s[1364]! } - public var Conversation_StatusKickedFromGroup: String { return self._s[1365]! } - public var Passport_Language_ka: String { return self._s[1366]! } - public var Call_Decline: String { return self._s[1367]! } - public var SocksProxySetup_ProxyEnabled: String { return self._s[1368]! } + public var Notifications_PermissionsSuppressWarningText: String { return self._s[1374]! } + public var Passport_Identity_MainPageHelp: String { return self._s[1375]! } + public var Conversation_StatusKickedFromGroup: String { return self._s[1376]! } + public var Passport_Language_ka: String { return self._s[1377]! } + public var Call_Decline: String { return self._s[1378]! } + public var SocksProxySetup_ProxyEnabled: String { return self._s[1379]! } public func AuthCode_Alert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1371]!, self._r[1371]!, [_0]) + return formatWithArgumentRanges(self._s[1382]!, self._r[1382]!, [_0]) } - public var CallFeedback_Send: String { return self._s[1372]! } - public var EditTheme_EditTitle: String { return self._s[1373]! } + public var CallFeedback_Send: String { return self._s[1383]! } + public var EditTheme_EditTitle: String { return self._s[1384]! } public func Channel_AdminLog_MessagePromotedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1374]!, self._r[1374]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1385]!, self._r[1385]!, [_1, _2]) } - public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1375]! } - public var SettingsSearch_Synonyms_Data_Title: String { return self._s[1377]! } - public var Passport_DeletePassport: String { return self._s[1378]! } - public var Appearance_AppIconFilled: String { return self._s[1379]! } - public var Privacy_Calls_P2PAlways: String { return self._s[1380]! } - public var Month_ShortDecember: String { return self._s[1381]! } - public var Channel_AdminLog_CanEditMessages: String { return self._s[1383]! } + public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1386]! } + public var SettingsSearch_Synonyms_Data_Title: String { return self._s[1388]! } + public var Passport_DeletePassport: String { return self._s[1389]! } + public var Appearance_AppIconFilled: String { return self._s[1390]! } + public var Privacy_Calls_P2PAlways: String { return self._s[1391]! } + public var Month_ShortDecember: String { return self._s[1392]! } + public var Channel_AdminLog_CanEditMessages: String { return self._s[1394]! } public func Contacts_AccessDeniedHelpLandscape(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1384]!, self._r[1384]!, [_0]) + return formatWithArgumentRanges(self._s[1395]!, self._r[1395]!, [_0]) } - public var Channel_Stickers_Searching: String { return self._s[1385]! } - public var Conversation_EncryptedDescription1: String { return self._s[1386]! } - public var Conversation_EncryptedDescription2: String { return self._s[1387]! } - public var PasscodeSettings_PasscodeOptions: String { return self._s[1388]! } - public var Conversation_EncryptedDescription3: String { return self._s[1389]! } - public var PhotoEditor_SharpenTool: String { return self._s[1390]! } + public var Channel_Stickers_Searching: String { return self._s[1396]! } + public var Conversation_EncryptedDescription1: String { return self._s[1397]! } + public var Conversation_EncryptedDescription2: String { return self._s[1398]! } + public var PasscodeSettings_PasscodeOptions: String { return self._s[1399]! } + public var Conversation_EncryptedDescription3: String { return self._s[1400]! } + public var PhotoEditor_SharpenTool: String { return self._s[1401]! } public func Conversation_AddNameToContacts(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1391]!, self._r[1391]!, [_0]) + return formatWithArgumentRanges(self._s[1402]!, self._r[1402]!, [_0]) } - public var Conversation_EncryptedDescription4: String { return self._s[1393]! } - public var Channel_Members_AddMembers: String { return self._s[1394]! } - public var Wallpaper_Search: String { return self._s[1395]! } - public var Weekday_Friday: String { return self._s[1396]! } - public var Privacy_ContactsSync: String { return self._s[1397]! } - public var SettingsSearch_Synonyms_Privacy_Data_ContactsReset: String { return self._s[1398]! } - public var ApplyLanguage_ChangeLanguageAction: String { return self._s[1399]! } + public var Conversation_EncryptedDescription4: String { return self._s[1404]! } + public var Channel_Members_AddMembers: String { return self._s[1405]! } + public var Wallpaper_Search: String { return self._s[1406]! } + public var Weekday_Friday: String { return self._s[1407]! } + public var Privacy_ContactsSync: String { return self._s[1408]! } + public var SettingsSearch_Synonyms_Privacy_Data_ContactsReset: String { return self._s[1409]! } + public var ApplyLanguage_ChangeLanguageAction: String { return self._s[1410]! } public func Channel_Management_RestrictedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1400]!, self._r[1400]!, [_0]) + return formatWithArgumentRanges(self._s[1411]!, self._r[1411]!, [_0]) } - public var GroupInfo_Permissions_Removed: String { return self._s[1401]! } - public var Passport_Identity_GenderMale: String { return self._s[1402]! } + public var GroupInfo_Permissions_Removed: String { return self._s[1412]! } + public var Passport_Identity_GenderMale: String { return self._s[1413]! } public func Call_StatusBar(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1403]!, self._r[1403]!, [_0]) + return formatWithArgumentRanges(self._s[1414]!, self._r[1414]!, [_0]) } - public var Notifications_PermissionsKeepDisabled: String { return self._s[1404]! } - public var Conversation_JumpToDate: String { return self._s[1405]! } - public var Contacts_GlobalSearch: String { return self._s[1406]! } - public var AutoDownloadSettings_ResetHelp: String { return self._s[1407]! } - public var SettingsSearch_Synonyms_FAQ: String { return self._s[1408]! } - public var Profile_MessageLifetime1d: String { return self._s[1409]! } + public var Notifications_PermissionsKeepDisabled: String { return self._s[1415]! } + public var Conversation_JumpToDate: String { return self._s[1416]! } + public var Contacts_GlobalSearch: String { return self._s[1417]! } + public var AutoDownloadSettings_ResetHelp: String { return self._s[1418]! } + public var SettingsSearch_Synonyms_FAQ: String { return self._s[1419]! } + public var Profile_MessageLifetime1d: String { return self._s[1420]! } public func MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1410]!, self._r[1410]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1421]!, self._r[1421]!, [_1, _2]) } - public var StickerPack_BuiltinPackName: String { return self._s[1413]! } + public var StickerPack_BuiltinPackName: String { return self._s[1424]! } public func PUSH_CHAT_MESSAGE_AUDIO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1414]!, self._r[1414]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1425]!, self._r[1425]!, [_1, _2]) } - public var VoiceOver_Chat_RecordModeVoiceMessageInfo: String { return self._s[1415]! } - public var Passport_InfoTitle: String { return self._s[1417]! } - public var Notifications_PermissionsUnreachableText: String { return self._s[1418]! } + public var VoiceOver_Chat_RecordModeVoiceMessageInfo: String { return self._s[1426]! } + public var Passport_InfoTitle: String { return self._s[1428]! } + public var Notifications_PermissionsUnreachableText: String { return self._s[1429]! } public func NetworkUsageSettings_CellularUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1422]!, self._r[1422]!, [_0]) + return formatWithArgumentRanges(self._s[1433]!, self._r[1433]!, [_0]) } public func PUSH_CHAT_MESSAGE_GEO(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1423]!, self._r[1423]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1434]!, self._r[1434]!, [_1, _2]) } - public var Passport_Address_TypePassportRegistrationUploadScan: String { return self._s[1424]! } - public var Profile_BotInfo: String { return self._s[1425]! } - public var Watch_Compose_CreateMessage: String { return self._s[1426]! } - public var AutoDownloadSettings_VoiceMessagesInfo: String { return self._s[1427]! } - public var Month_ShortNovember: String { return self._s[1428]! } - public var Conversation_ScamWarning: String { return self._s[1429]! } - public var Wallpaper_SetCustomBackground: String { return self._s[1430]! } - public var Passport_Identity_TranslationsHelp: String { return self._s[1431]! } - public var NotificationsSound_Chime: String { return self._s[1432]! } - public var Passport_Language_ko: String { return self._s[1434]! } - public var InviteText_URL: String { return self._s[1435]! } - public var TextFormat_Monospace: String { return self._s[1436]! } + public var Passport_Address_TypePassportRegistrationUploadScan: String { return self._s[1435]! } + public var Profile_BotInfo: String { return self._s[1436]! } + public var Watch_Compose_CreateMessage: String { return self._s[1437]! } + public var AutoDownloadSettings_VoiceMessagesInfo: String { return self._s[1438]! } + public var Month_ShortNovember: String { return self._s[1439]! } + public var Conversation_ScamWarning: String { return self._s[1440]! } + public var Wallpaper_SetCustomBackground: String { return self._s[1441]! } + public var Passport_Identity_TranslationsHelp: String { return self._s[1442]! } + public var NotificationsSound_Chime: String { return self._s[1443]! } + public var Passport_Language_ko: String { return self._s[1445]! } + public var InviteText_URL: String { return self._s[1446]! } + public var TextFormat_Monospace: String { return self._s[1447]! } public func Time_PreciseDate_m11(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1437]!, self._r[1437]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1448]!, self._r[1448]!, [_1, _2, _3]) } - public var EditTheme_Edit_BottomInfo: String { return self._s[1438]! } + public var EditTheme_Edit_BottomInfo: String { return self._s[1449]! } public func Login_WillSendSms(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1439]!, self._r[1439]!, [_0]) + return formatWithArgumentRanges(self._s[1450]!, self._r[1450]!, [_0]) } public func Watch_Time_ShortWeekdayAt(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1440]!, self._r[1440]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1451]!, self._r[1451]!, [_1, _2]) } - public var EditTheme_CreateTitle: String { return self._s[1442]! } - public var Passport_InfoLearnMore: String { return self._s[1443]! } - public var TwoStepAuth_EmailPlaceholder: String { return self._s[1444]! } - public var Passport_Identity_AddIdentityCard: String { return self._s[1445]! } - public var Your_card_has_expired: String { return self._s[1446]! } - public var StickerPacksSettings_StickerPacksSection: String { return self._s[1447]! } - public var GroupInfo_InviteLink_Help: String { return self._s[1448]! } - public var Conversation_Report: String { return self._s[1452]! } - public var Notifications_MessageNotificationsSound: String { return self._s[1453]! } - public var Notification_MessageLifetime1m: String { return self._s[1454]! } - public var Privacy_ContactsTitle: String { return self._s[1455]! } - public var Conversation_ShareMyContactInfo: String { return self._s[1456]! } - public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[1457]! } - public var Channel_Members_Title: String { return self._s[1458]! } - public var Map_OpenInWaze: String { return self._s[1459]! } - public var Login_PhoneBannedError: String { return self._s[1460]! } + public var EditTheme_CreateTitle: String { return self._s[1453]! } + public var Passport_InfoLearnMore: String { return self._s[1454]! } + public var TwoStepAuth_EmailPlaceholder: String { return self._s[1455]! } + public var Passport_Identity_AddIdentityCard: String { return self._s[1456]! } + public var Your_card_has_expired: String { return self._s[1457]! } + public var StickerPacksSettings_StickerPacksSection: String { return self._s[1458]! } + public var GroupInfo_InviteLink_Help: String { return self._s[1459]! } + public var Conversation_Report: String { return self._s[1463]! } + public var Notifications_MessageNotificationsSound: String { return self._s[1464]! } + public var Notification_MessageLifetime1m: String { return self._s[1465]! } + public var Privacy_ContactsTitle: String { return self._s[1466]! } + public var Conversation_ShareMyContactInfo: String { return self._s[1467]! } + public var ChannelMembers_WhoCanAddMembersAdminsHelp: String { return self._s[1468]! } + public var Channel_Members_Title: String { return self._s[1469]! } + public var Map_OpenInWaze: String { return self._s[1470]! } + public var Login_PhoneBannedError: String { return self._s[1471]! } public func LiveLocationUpdated_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1461]!, self._r[1461]!, [_0]) - } - public var Group_Management_AddModeratorHelp: String { return self._s[1462]! } - public var AutoDownloadSettings_WifiTitle: String { return self._s[1463]! } - public var Common_OK: String { return self._s[1464]! } - public var Passport_Address_TypeBankStatementUploadScan: String { return self._s[1465]! } - public var Cache_Music: String { return self._s[1466]! } - public var SettingsSearch_Synonyms_EditProfile_PhoneNumber: String { return self._s[1467]! } - public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1468]! } - public var TwoStepAuth_HintPlaceholder: String { return self._s[1469]! } - public func PUSH_PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1470]!, self._r[1470]!, [_1]) - } - public func Passport_RequestHeader(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1471]!, self._r[1471]!, [_0]) - } - public func VoiceOver_Chat_ContactOrganization(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1472]!, self._r[1472]!, [_0]) } - public var Watch_MessageView_ViewOnPhone: String { return self._s[1474]! } - public var Privacy_Calls_CustomShareHelp: String { return self._s[1475]! } - public var ChangePhoneNumberNumber_Title: String { return self._s[1477]! } - public var State_ConnectingToProxyInfo: String { return self._s[1478]! } - public var Message_VideoMessage: String { return self._s[1480]! } - public var ChannelInfo_DeleteChannel: String { return self._s[1481]! } - public var ContactInfo_PhoneLabelOther: String { return self._s[1482]! } - public var Channel_EditAdmin_CannotEdit: String { return self._s[1483]! } - public var Passport_DeleteAddressConfirmation: String { return self._s[1484]! } - public var WallpaperPreview_SwipeBottomText: String { return self._s[1485]! } - public var Activity_RecordingAudio: String { return self._s[1486]! } - public var SettingsSearch_Synonyms_Watch: String { return self._s[1487]! } - public var PasscodeSettings_TryAgainIn1Minute: String { return self._s[1488]! } + public var Group_Management_AddModeratorHelp: String { return self._s[1473]! } + public var AutoDownloadSettings_WifiTitle: String { return self._s[1474]! } + public var Common_OK: String { return self._s[1475]! } + public var Passport_Address_TypeBankStatementUploadScan: String { return self._s[1476]! } + public var Cache_Music: String { return self._s[1477]! } + public var SettingsSearch_Synonyms_EditProfile_PhoneNumber: String { return self._s[1478]! } + public var PasscodeSettings_UnlockWithTouchId: String { return self._s[1479]! } + public var TwoStepAuth_HintPlaceholder: String { return self._s[1480]! } + public func PUSH_PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1481]!, self._r[1481]!, [_1]) + } + public func Passport_RequestHeader(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1482]!, self._r[1482]!, [_0]) + } + public func VoiceOver_Chat_ContactOrganization(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1483]!, self._r[1483]!, [_0]) + } + public var Watch_MessageView_ViewOnPhone: String { return self._s[1485]! } + public var Privacy_Calls_CustomShareHelp: String { return self._s[1486]! } + public var ChangePhoneNumberNumber_Title: String { return self._s[1488]! } + public var State_ConnectingToProxyInfo: String { return self._s[1489]! } + public var Message_VideoMessage: String { return self._s[1491]! } + public var ChannelInfo_DeleteChannel: String { return self._s[1492]! } + public var ContactInfo_PhoneLabelOther: String { return self._s[1493]! } + public var Channel_EditAdmin_CannotEdit: String { return self._s[1494]! } + public var Passport_DeleteAddressConfirmation: String { return self._s[1495]! } + public var WallpaperPreview_SwipeBottomText: String { return self._s[1496]! } + public var Activity_RecordingAudio: String { return self._s[1497]! } + public var SettingsSearch_Synonyms_Watch: String { return self._s[1498]! } + public var PasscodeSettings_TryAgainIn1Minute: String { return self._s[1499]! } public func Notification_ChangedGroupName(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1490]!, self._r[1490]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1501]!, self._r[1501]!, [_0, _1]) } public func EmptyGroupInfo_Line1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1494]!, self._r[1494]!, [_0]) + return formatWithArgumentRanges(self._s[1505]!, self._r[1505]!, [_0]) } - public var Conversation_ApplyLocalization: String { return self._s[1495]! } - public var UserInfo_AddPhone: String { return self._s[1496]! } - public var Map_ShareLiveLocationHelp: String { return self._s[1497]! } + public var Conversation_ApplyLocalization: String { return self._s[1506]! } + public var UserInfo_AddPhone: String { return self._s[1507]! } + public var Map_ShareLiveLocationHelp: String { return self._s[1508]! } public func Passport_Identity_NativeNameGenericHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1498]!, self._r[1498]!, [_0]) + return formatWithArgumentRanges(self._s[1509]!, self._r[1509]!, [_0]) } - public var Passport_Scans: String { return self._s[1500]! } - public var BlockedUsers_Unblock: String { return self._s[1501]! } + public var Passport_Scans: String { return self._s[1511]! } + public var BlockedUsers_Unblock: String { return self._s[1512]! } public func PUSH_ENCRYPTION_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1502]!, self._r[1502]!, [_1]) + return formatWithArgumentRanges(self._s[1513]!, self._r[1513]!, [_1]) } - public var Channel_Management_LabelCreator: String { return self._s[1503]! } - public var Conversation_ReportSpamAndLeave: String { return self._s[1504]! } - public var SettingsSearch_Synonyms_EditProfile_Bio: String { return self._s[1505]! } - public var ChatList_UndoArchiveMultipleTitle: String { return self._s[1506]! } - public var Passport_Identity_NativeNameGenericTitle: String { return self._s[1507]! } + public var Channel_Management_LabelCreator: String { return self._s[1514]! } + public var Conversation_ReportSpamAndLeave: String { return self._s[1515]! } + public var SettingsSearch_Synonyms_EditProfile_Bio: String { return self._s[1516]! } + public var ChatList_UndoArchiveMultipleTitle: String { return self._s[1517]! } + public var Passport_Identity_NativeNameGenericTitle: String { return self._s[1518]! } public func Login_EmailPhoneBody(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1508]!, self._r[1508]!, [_0, _1, _2]) + return formatWithArgumentRanges(self._s[1519]!, self._r[1519]!, [_0, _1, _2]) } - public var Login_PhoneNumberHelp: String { return self._s[1509]! } - public var LastSeen_ALongTimeAgo: String { return self._s[1510]! } - public var Channel_AdminLog_CanPinMessages: String { return self._s[1511]! } - public var ChannelIntro_CreateChannel: String { return self._s[1512]! } - public var Conversation_UnreadMessages: String { return self._s[1513]! } - public var SettingsSearch_Synonyms_Stickers_ArchivedPacks: String { return self._s[1514]! } - public var Channel_AdminLog_EmptyText: String { return self._s[1515]! } - public var Notification_GroupActivated: String { return self._s[1516]! } - public var NotificationSettings_ContactJoinedInfo: String { return self._s[1517]! } + public var Login_PhoneNumberHelp: String { return self._s[1520]! } + public var LastSeen_ALongTimeAgo: String { return self._s[1521]! } + public var Channel_AdminLog_CanPinMessages: String { return self._s[1522]! } + public var ChannelIntro_CreateChannel: String { return self._s[1523]! } + public var Conversation_UnreadMessages: String { return self._s[1524]! } + public var SettingsSearch_Synonyms_Stickers_ArchivedPacks: String { return self._s[1525]! } + public var Channel_AdminLog_EmptyText: String { return self._s[1526]! } + public var Theme_Context_Apply: String { return self._s[1527]! } + public var Notification_GroupActivated: String { return self._s[1528]! } + public var NotificationSettings_ContactJoinedInfo: String { return self._s[1529]! } public func Notification_PinnedContactMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1518]!, self._r[1518]!, [_0]) + return formatWithArgumentRanges(self._s[1530]!, self._r[1530]!, [_0]) } public func DownloadingStatus(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1519]!, self._r[1519]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1531]!, self._r[1531]!, [_0, _1]) } - public var GroupInfo_ConvertToSupergroup: String { return self._s[1521]! } + public var GroupInfo_ConvertToSupergroup: String { return self._s[1533]! } public func PrivacyPolicy_AgeVerificationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1522]!, self._r[1522]!, [_0]) + return formatWithArgumentRanges(self._s[1534]!, self._r[1534]!, [_0]) } - public var Undo_DeletedChannel: String { return self._s[1523]! } - public var CallFeedback_AddComment: String { return self._s[1524]! } + public var Undo_DeletedChannel: String { return self._s[1535]! } + public var CallFeedback_AddComment: String { return self._s[1536]! } public func Conversation_OpenBotLinkAllowMessages(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1525]!, self._r[1525]!, [_0]) + return formatWithArgumentRanges(self._s[1537]!, self._r[1537]!, [_0]) } - public var Document_TargetConfirmationFormat: String { return self._s[1526]! } + public var Document_TargetConfirmationFormat: String { return self._s[1538]! } public func Call_StatusOngoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1527]!, self._r[1527]!, [_0]) + return formatWithArgumentRanges(self._s[1539]!, self._r[1539]!, [_0]) } - public var LogoutOptions_SetPasscodeTitle: String { return self._s[1528]! } + public var LogoutOptions_SetPasscodeTitle: String { return self._s[1540]! } public func PUSH_CHAT_MESSAGE_GAME_SCORE(_ _1: String, _ _2: String, _ _3: String, _ _4: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1529]!, self._r[1529]!, [_1, _2, _3, _4]) + return formatWithArgumentRanges(self._s[1541]!, self._r[1541]!, [_1, _2, _3, _4]) } - public var Theme_ErrorNotFound: String { return self._s[1530]! } - public var Contacts_SortByName: String { return self._s[1531]! } - public var SettingsSearch_Synonyms_Privacy_Forwards: String { return self._s[1532]! } + public var Theme_ErrorNotFound: String { return self._s[1542]! } + public var Contacts_SortByName: String { return self._s[1543]! } + public var SettingsSearch_Synonyms_Privacy_Forwards: String { return self._s[1544]! } public func CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1534]!, self._r[1534]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1546]!, self._r[1546]!, [_1, _2, _3]) } - public var Notification_Exceptions_RemoveFromExceptions: String { return self._s[1535]! } - public var ScheduledMessages_EditTime: String { return self._s[1536]! } - public var Conversation_ClearSelfHistory: String { return self._s[1537]! } - public var Checkout_NewCard_PostcodePlaceholder: String { return self._s[1538]! } - public var PasscodeSettings_DoNotMatch: String { return self._s[1539]! } - public var Stickers_SuggestNone: String { return self._s[1540]! } - public var ChatSettings_Cache: String { return self._s[1541]! } - public var Settings_SaveIncomingPhotos: String { return self._s[1542]! } - public var Media_ShareThisPhoto: String { return self._s[1543]! } - public var Chat_SlowmodeTooltipPending: String { return self._s[1544]! } - public var InfoPlist_NSContactsUsageDescription: String { return self._s[1545]! } - public var Conversation_ContextMenuCopyLink: String { return self._s[1546]! } - public var PrivacyPolicy_AgeVerificationTitle: String { return self._s[1547]! } - public var SettingsSearch_Synonyms_Stickers_Masks: String { return self._s[1548]! } - public var TwoStepAuth_SetupPasswordEnterPasswordNew: String { return self._s[1549]! } - public var Permissions_CellularDataTitle_v0: String { return self._s[1550]! } - public var WallpaperSearch_ColorWhite: String { return self._s[1552]! } - public var Channel_AdminLog_DefaultRestrictionsUpdated: String { return self._s[1553]! } - public var Conversation_ErrorInaccessibleMessage: String { return self._s[1554]! } - public var Map_OpenIn: String { return self._s[1555]! } + public var Notification_Exceptions_RemoveFromExceptions: String { return self._s[1547]! } + public var ScheduledMessages_EditTime: String { return self._s[1548]! } + public var Conversation_ClearSelfHistory: String { return self._s[1549]! } + public var Checkout_NewCard_PostcodePlaceholder: String { return self._s[1550]! } + public var PasscodeSettings_DoNotMatch: String { return self._s[1551]! } + public var Stickers_SuggestNone: String { return self._s[1552]! } + public var ChatSettings_Cache: String { return self._s[1553]! } + public var Settings_SaveIncomingPhotos: String { return self._s[1554]! } + public var Media_ShareThisPhoto: String { return self._s[1555]! } + public var Chat_SlowmodeTooltipPending: String { return self._s[1556]! } + public var InfoPlist_NSContactsUsageDescription: String { return self._s[1557]! } + public var Conversation_ContextMenuCopyLink: String { return self._s[1558]! } + public var PrivacyPolicy_AgeVerificationTitle: String { return self._s[1559]! } + public var SettingsSearch_Synonyms_Stickers_Masks: String { return self._s[1560]! } + public var TwoStepAuth_SetupPasswordEnterPasswordNew: String { return self._s[1561]! } + public var Permissions_CellularDataTitle_v0: String { return self._s[1562]! } + public var WallpaperSearch_ColorWhite: String { return self._s[1564]! } + public var Channel_AdminLog_DefaultRestrictionsUpdated: String { return self._s[1565]! } + public var Conversation_ErrorInaccessibleMessage: String { return self._s[1566]! } + public var Map_OpenIn: String { return self._s[1567]! } public func PUSH_PHONE_CALL_MISSED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1558]!, self._r[1558]!, [_1]) + return formatWithArgumentRanges(self._s[1570]!, self._r[1570]!, [_1]) } public func ChannelInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1559]!, self._r[1559]!, [_0]) + return formatWithArgumentRanges(self._s[1571]!, self._r[1571]!, [_0]) } - public var GroupInfo_Permissions_SlowmodeHeader: String { return self._s[1560]! } - public var MessagePoll_LabelClosed: String { return self._s[1561]! } - public var GroupPermission_PermissionGloballyDisabled: String { return self._s[1563]! } - public var Passport_Identity_MiddleNamePlaceholder: String { return self._s[1564]! } - public var UserInfo_FirstNamePlaceholder: String { return self._s[1565]! } - public var PrivacyLastSeenSettings_WhoCanSeeMyTimestamp: String { return self._s[1566]! } - public var Login_SelectCountry_Title: String { return self._s[1567]! } - public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[1568]! } + public var GroupInfo_Permissions_SlowmodeHeader: String { return self._s[1572]! } + public var MessagePoll_LabelClosed: String { return self._s[1573]! } + public var GroupPermission_PermissionGloballyDisabled: String { return self._s[1575]! } + public var Passport_Identity_MiddleNamePlaceholder: String { return self._s[1576]! } + public var UserInfo_FirstNamePlaceholder: String { return self._s[1577]! } + public var PrivacyLastSeenSettings_WhoCanSeeMyTimestamp: String { return self._s[1578]! } + public var Login_SelectCountry_Title: String { return self._s[1579]! } + public var Channel_EditAdmin_PermissionBanUsers: String { return self._s[1580]! } public func Conversation_OpenBotLinkLogin(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1569]!, self._r[1569]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1581]!, self._r[1581]!, [_1, _2]) } - public var Channel_AdminLog_ChangeInfo: String { return self._s[1570]! } - public var Watch_Suggestion_BRB: String { return self._s[1571]! } - public var Passport_Identity_EditIdentityCard: String { return self._s[1572]! } - public var Contacts_PermissionsTitle: String { return self._s[1573]! } - public var Conversation_RestrictedInline: String { return self._s[1574]! } - public var StickerPack_ViewPack: String { return self._s[1576]! } + public var Channel_AdminLog_ChangeInfo: String { return self._s[1582]! } + public var Watch_Suggestion_BRB: String { return self._s[1583]! } + public var Passport_Identity_EditIdentityCard: String { return self._s[1584]! } + public var Contacts_PermissionsTitle: String { return self._s[1585]! } + public var Conversation_RestrictedInline: String { return self._s[1586]! } + public var StickerPack_ViewPack: String { return self._s[1588]! } public func Update_AppVersion(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1577]!, self._r[1577]!, [_0]) + return formatWithArgumentRanges(self._s[1589]!, self._r[1589]!, [_0]) } - public var Compose_NewChannel: String { return self._s[1579]! } - public var ChatSettings_AutoDownloadSettings_TypePhoto: String { return self._s[1582]! } - public var Conversation_ReportSpamGroupConfirmation: String { return self._s[1584]! } - public var Channel_Info_Stickers: String { return self._s[1585]! } - public var AutoNightTheme_PreferredTheme: String { return self._s[1586]! } - public var PrivacyPolicy_AgeVerificationAgree: String { return self._s[1587]! } - public var Passport_DeletePersonalDetails: String { return self._s[1588]! } - public var LogoutOptions_AddAccountTitle: String { return self._s[1589]! } - public var Channel_DiscussionGroupInfo: String { return self._s[1590]! } - public var Group_EditAdmin_RankOwnerPlaceholder: String { return self._s[1591]! } - public var Conversation_SearchNoResults: String { return self._s[1593]! } - public var MessagePoll_LabelAnonymous: String { return self._s[1594]! } - public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[1595]! } - public var Login_Code: String { return self._s[1596]! } - public var EditTheme_Create_BottomInfo: String { return self._s[1597]! } - public var Watch_Suggestion_WhatsUp: String { return self._s[1598]! } - public var Weekday_ShortThursday: String { return self._s[1599]! } - public var Resolve_ErrorNotFound: String { return self._s[1601]! } - public var LastSeen_Offline: String { return self._s[1602]! } - public var PeopleNearby_NoMembers: String { return self._s[1603]! } - public var GroupPermission_AddMembersNotAvailable: String { return self._s[1604]! } - public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[1605]! } - public var GroupInfo_Title: String { return self._s[1607]! } - public var NotificationsSound_Note: String { return self._s[1608]! } - public var Conversation_EditingMessagePanelTitle: String { return self._s[1609]! } - public var Watch_Message_Poll: String { return self._s[1610]! } - public var Privacy_Calls: String { return self._s[1611]! } + public var Compose_NewChannel: String { return self._s[1591]! } + public var ChatSettings_AutoDownloadSettings_TypePhoto: String { return self._s[1594]! } + public var Conversation_ReportSpamGroupConfirmation: String { return self._s[1596]! } + public var Channel_Info_Stickers: String { return self._s[1597]! } + public var AutoNightTheme_PreferredTheme: String { return self._s[1598]! } + public var PrivacyPolicy_AgeVerificationAgree: String { return self._s[1599]! } + public var Passport_DeletePersonalDetails: String { return self._s[1600]! } + public var LogoutOptions_AddAccountTitle: String { return self._s[1601]! } + public var Channel_DiscussionGroupInfo: String { return self._s[1602]! } + public var Group_EditAdmin_RankOwnerPlaceholder: String { return self._s[1603]! } + public var Conversation_SearchNoResults: String { return self._s[1605]! } + public var MessagePoll_LabelAnonymous: String { return self._s[1606]! } + public var Channel_Members_AddAdminErrorNotAMember: String { return self._s[1607]! } + public var Login_Code: String { return self._s[1608]! } + public var EditTheme_Create_BottomInfo: String { return self._s[1609]! } + public var Watch_Suggestion_WhatsUp: String { return self._s[1610]! } + public var Weekday_ShortThursday: String { return self._s[1611]! } + public var Resolve_ErrorNotFound: String { return self._s[1613]! } + public var LastSeen_Offline: String { return self._s[1614]! } + public var PeopleNearby_NoMembers: String { return self._s[1615]! } + public var GroupPermission_AddMembersNotAvailable: String { return self._s[1616]! } + public var Privacy_Calls_AlwaysAllow_Title: String { return self._s[1617]! } + public var GroupInfo_Title: String { return self._s[1619]! } + public var NotificationsSound_Note: String { return self._s[1620]! } + public var Conversation_EditingMessagePanelTitle: String { return self._s[1621]! } + public var Watch_Message_Poll: String { return self._s[1622]! } + public var Privacy_Calls: String { return self._s[1623]! } public func Channel_AdminLog_MessageRankUsername(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1612]!, self._r[1612]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1624]!, self._r[1624]!, [_1, _2, _3]) } - public var Month_ShortAugust: String { return self._s[1613]! } - public var TwoStepAuth_SetPasswordHelp: String { return self._s[1614]! } - public var Notifications_Reset: String { return self._s[1615]! } - public var Conversation_Pin: String { return self._s[1616]! } - public var Passport_Language_lv: String { return self._s[1617]! } - public var Permissions_PeopleNearbyAllowInSettings_v0: String { return self._s[1618]! } - public var BlockedUsers_Info: String { return self._s[1619]! } - public var SettingsSearch_Synonyms_Data_AutoplayVideos: String { return self._s[1621]! } - public var Watch_Conversation_Unblock: String { return self._s[1623]! } + public var Month_ShortAugust: String { return self._s[1625]! } + public var TwoStepAuth_SetPasswordHelp: String { return self._s[1626]! } + public var Notifications_Reset: String { return self._s[1627]! } + public var Conversation_Pin: String { return self._s[1628]! } + public var Passport_Language_lv: String { return self._s[1629]! } + public var Permissions_PeopleNearbyAllowInSettings_v0: String { return self._s[1630]! } + public var BlockedUsers_Info: String { return self._s[1631]! } + public var SettingsSearch_Synonyms_Data_AutoplayVideos: String { return self._s[1633]! } + public var Watch_Conversation_Unblock: String { return self._s[1635]! } public func Time_MonthOfYear_m9(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1624]!, self._r[1624]!, [_0]) + return formatWithArgumentRanges(self._s[1636]!, self._r[1636]!, [_0]) } - public var CloudStorage_Title: String { return self._s[1625]! } - public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[1626]! } + public var CloudStorage_Title: String { return self._s[1637]! } + public var GroupInfo_DeleteAndExitConfirmation: String { return self._s[1638]! } public func NetworkUsageSettings_WifiUsageSince(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1627]!, self._r[1627]!, [_0]) + return formatWithArgumentRanges(self._s[1639]!, self._r[1639]!, [_0]) } - public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[1628]! } - public var Watch_Suggestion_OnMyWay: String { return self._s[1629]! } - public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[1630]! } - public var Passport_Address_EditBankStatement: String { return self._s[1631]! } + public var Channel_AdminLogFilter_AdminsTitle: String { return self._s[1640]! } + public var Watch_Suggestion_OnMyWay: String { return self._s[1641]! } + public var TwoStepAuth_RecoveryEmailTitle: String { return self._s[1642]! } + public var Passport_Address_EditBankStatement: String { return self._s[1643]! } public func Channel_AdminLog_MessageChangedUnlinkedGroup(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1632]!, self._r[1632]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1644]!, self._r[1644]!, [_1, _2]) } - public var ChatSettings_DownloadInBackgroundInfo: String { return self._s[1633]! } - public var ShareMenu_Comment: String { return self._s[1634]! } - public var Permissions_ContactsTitle_v0: String { return self._s[1635]! } - public var Notifications_PermissionsTitle: String { return self._s[1636]! } - public var GroupPermission_NoSendLinks: String { return self._s[1637]! } - public var Privacy_Forwards_NeverAllow_Title: String { return self._s[1638]! } - public var Settings_Support: String { return self._s[1639]! } - public var Notifications_ChannelNotificationsSound: String { return self._s[1640]! } - public var SettingsSearch_Synonyms_Data_AutoDownloadReset: String { return self._s[1641]! } - public var Privacy_Forwards_Preview: String { return self._s[1642]! } - public var GroupPermission_ApplyAlertAction: String { return self._s[1643]! } - public var Watch_Stickers_StickerPacks: String { return self._s[1644]! } - public var Common_Select: String { return self._s[1646]! } - public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[1647]! } - public var WallpaperSearch_ColorGray: String { return self._s[1649]! } - public var ChatAdmins_AllMembersAreAdminsOffHelp: String { return self._s[1650]! } - public var PasscodeSettings_AutoLock_IfAwayFor_5hours: String { return self._s[1651]! } - public var Appearance_PreviewReplyAuthor: String { return self._s[1652]! } - public var TwoStepAuth_RecoveryTitle: String { return self._s[1653]! } - public var Widget_AuthRequired: String { return self._s[1654]! } - public var Camera_FlashOn: String { return self._s[1655]! } - public var Conversation_ContextMenuLookUp: String { return self._s[1656]! } - public var Channel_Stickers_NotFoundHelp: String { return self._s[1657]! } - public var Watch_Suggestion_OK: String { return self._s[1658]! } + public var ChatSettings_DownloadInBackgroundInfo: String { return self._s[1645]! } + public var ShareMenu_Comment: String { return self._s[1646]! } + public var Permissions_ContactsTitle_v0: String { return self._s[1647]! } + public var Notifications_PermissionsTitle: String { return self._s[1648]! } + public var GroupPermission_NoSendLinks: String { return self._s[1649]! } + public var Privacy_Forwards_NeverAllow_Title: String { return self._s[1650]! } + public var Settings_Support: String { return self._s[1651]! } + public var Notifications_ChannelNotificationsSound: String { return self._s[1652]! } + public var SettingsSearch_Synonyms_Data_AutoDownloadReset: String { return self._s[1653]! } + public var Privacy_Forwards_Preview: String { return self._s[1654]! } + public var GroupPermission_ApplyAlertAction: String { return self._s[1655]! } + public var Watch_Stickers_StickerPacks: String { return self._s[1656]! } + public var Common_Select: String { return self._s[1658]! } + public var CheckoutInfo_ErrorEmailInvalid: String { return self._s[1659]! } + public var WallpaperSearch_ColorGray: String { return self._s[1661]! } + public var ChatAdmins_AllMembersAreAdminsOffHelp: String { return self._s[1662]! } + public var PasscodeSettings_AutoLock_IfAwayFor_5hours: String { return self._s[1663]! } + public var Appearance_PreviewReplyAuthor: String { return self._s[1664]! } + public var TwoStepAuth_RecoveryTitle: String { return self._s[1665]! } + public var Widget_AuthRequired: String { return self._s[1666]! } + public var Camera_FlashOn: String { return self._s[1667]! } + public var Conversation_ContextMenuLookUp: String { return self._s[1668]! } + public var Channel_Stickers_NotFoundHelp: String { return self._s[1669]! } + public var Watch_Suggestion_OK: String { return self._s[1670]! } public func Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1660]!, self._r[1660]!, [_0]) + return formatWithArgumentRanges(self._s[1672]!, self._r[1672]!, [_0]) } public func Notification_PinnedLiveLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1662]!, self._r[1662]!, [_0]) + return formatWithArgumentRanges(self._s[1674]!, self._r[1674]!, [_0]) } - public var TextFormat_Strikethrough: String { return self._s[1663]! } - public var DialogList_AdLabel: String { return self._s[1664]! } - public var WatchRemote_NotificationText: String { return self._s[1665]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsAlert: String { return self._s[1666]! } - public var Conversation_ReportSpam: String { return self._s[1667]! } - public var SettingsSearch_Synonyms_Privacy_Data_TopPeers: String { return self._s[1668]! } - public var Settings_LogoutConfirmationTitle: String { return self._s[1670]! } - public var PhoneLabel_Title: String { return self._s[1671]! } - public var Passport_Address_EditRentalAgreement: String { return self._s[1672]! } - public var Settings_ChangePhoneNumber: String { return self._s[1673]! } - public var Notifications_ExceptionsTitle: String { return self._s[1674]! } - public var Notifications_AlertTones: String { return self._s[1675]! } - public var Call_ReportIncludeLogDescription: String { return self._s[1676]! } - public var SettingsSearch_Synonyms_Notifications_ResetAllNotifications: String { return self._s[1677]! } - public var AutoDownloadSettings_PrivateChats: String { return self._s[1678]! } - public var VoiceOver_Chat_Photo: String { return self._s[1680]! } - public var TwoStepAuth_AddHintTitle: String { return self._s[1681]! } - public var ReportPeer_ReasonOther: String { return self._s[1682]! } - public var KeyCommand_ScrollDown: String { return self._s[1684]! } - public var Conversation_ScheduleMessage_Title: String { return self._s[1685]! } + public var TextFormat_Strikethrough: String { return self._s[1675]! } + public var DialogList_AdLabel: String { return self._s[1676]! } + public var WatchRemote_NotificationText: String { return self._s[1677]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsAlert: String { return self._s[1678]! } + public var Conversation_ReportSpam: String { return self._s[1679]! } + public var SettingsSearch_Synonyms_Privacy_Data_TopPeers: String { return self._s[1680]! } + public var Settings_LogoutConfirmationTitle: String { return self._s[1682]! } + public var PhoneLabel_Title: String { return self._s[1683]! } + public var Passport_Address_EditRentalAgreement: String { return self._s[1684]! } + public var Settings_ChangePhoneNumber: String { return self._s[1685]! } + public var Notifications_ExceptionsTitle: String { return self._s[1686]! } + public var Notifications_AlertTones: String { return self._s[1687]! } + public var Call_ReportIncludeLogDescription: String { return self._s[1688]! } + public var SettingsSearch_Synonyms_Notifications_ResetAllNotifications: String { return self._s[1689]! } + public var AutoDownloadSettings_PrivateChats: String { return self._s[1690]! } + public var VoiceOver_Chat_Photo: String { return self._s[1692]! } + public var TwoStepAuth_AddHintTitle: String { return self._s[1693]! } + public var ReportPeer_ReasonOther: String { return self._s[1694]! } + public var ChatList_Context_JoinChannel: String { return self._s[1695]! } + public var KeyCommand_ScrollDown: String { return self._s[1697]! } + public var Conversation_ScheduleMessage_Title: String { return self._s[1698]! } public func Login_BannedPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1686]!, self._r[1686]!, [_0]) + return formatWithArgumentRanges(self._s[1699]!, self._r[1699]!, [_0]) } - public var NetworkUsageSettings_MediaVideoDataSection: String { return self._s[1687]! } - public var ChannelInfo_DeleteGroupConfirmation: String { return self._s[1688]! } - public var AuthSessions_LogOut: String { return self._s[1689]! } - public var Passport_Identity_TypeInternalPassport: String { return self._s[1690]! } - public var ChatSettings_AutoDownloadVoiceMessages: String { return self._s[1691]! } - public var Passport_Phone_Title: String { return self._s[1692]! } - public var Settings_PhoneNumber: String { return self._s[1693]! } + public var NetworkUsageSettings_MediaVideoDataSection: String { return self._s[1700]! } + public var ChannelInfo_DeleteGroupConfirmation: String { return self._s[1701]! } + public var AuthSessions_LogOut: String { return self._s[1702]! } + public var Passport_Identity_TypeInternalPassport: String { return self._s[1703]! } + public var ChatSettings_AutoDownloadVoiceMessages: String { return self._s[1704]! } + public var Passport_Phone_Title: String { return self._s[1705]! } + public var ContactList_Context_StartSecretChat: String { return self._s[1706]! } + public var Settings_PhoneNumber: String { return self._s[1707]! } public func Conversation_ScheduleMessage_SendToday(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1694]!, self._r[1694]!, [_0]) + return formatWithArgumentRanges(self._s[1708]!, self._r[1708]!, [_0]) } - public var NotificationsSound_Alert: String { return self._s[1695]! } - public var WebSearch_SearchNoResults: String { return self._s[1696]! } - public var Privacy_ProfilePhoto_AlwaysShareWith_Title: String { return self._s[1698]! } - public var LogoutOptions_AlternativeOptionsSection: String { return self._s[1699]! } - public var SettingsSearch_Synonyms_Passport: String { return self._s[1700]! } - public var PhotoEditor_CurvesTool: String { return self._s[1701]! } - public var Checkout_PaymentMethod: String { return self._s[1703]! } + public var NotificationsSound_Alert: String { return self._s[1709]! } + public var WebSearch_SearchNoResults: String { return self._s[1710]! } + public var Privacy_ProfilePhoto_AlwaysShareWith_Title: String { return self._s[1712]! } + public var LogoutOptions_AlternativeOptionsSection: String { return self._s[1713]! } + public var SettingsSearch_Synonyms_Passport: String { return self._s[1714]! } + public var PhotoEditor_CurvesTool: String { return self._s[1715]! } + public var Checkout_PaymentMethod: String { return self._s[1717]! } public func PUSH_CHAT_ADD_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1704]!, self._r[1704]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1718]!, self._r[1718]!, [_1, _2]) } - public var Contacts_AccessDeniedError: String { return self._s[1705]! } - public var Camera_PhotoMode: String { return self._s[1708]! } - public var EditTheme_Expand_Preview_IncomingText: String { return self._s[1709]! } - public var Passport_Address_AddUtilityBill: String { return self._s[1711]! } - public var CallSettings_OnMobile: String { return self._s[1712]! } - public var Tour_Text2: String { return self._s[1713]! } + public var Contacts_AccessDeniedError: String { return self._s[1719]! } + public var Camera_PhotoMode: String { return self._s[1722]! } + public var EditTheme_Expand_Preview_IncomingText: String { return self._s[1723]! } + public var Passport_Address_AddUtilityBill: String { return self._s[1725]! } + public var CallSettings_OnMobile: String { return self._s[1726]! } + public var Tour_Text2: String { return self._s[1727]! } public func PUSH_CHAT_MESSAGE_ROUND(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1714]!, self._r[1714]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1728]!, self._r[1728]!, [_1, _2]) } - public var DialogList_EncryptionProcessing: String { return self._s[1716]! } - public var Permissions_Skip: String { return self._s[1717]! } - public var SecretImage_Title: String { return self._s[1718]! } - public var Watch_MessageView_Title: String { return self._s[1719]! } - public var Channel_DiscussionGroupAdd: String { return self._s[1720]! } - public var AttachmentMenu_Poll: String { return self._s[1721]! } + public var DialogList_EncryptionProcessing: String { return self._s[1730]! } + public var Permissions_Skip: String { return self._s[1731]! } + public var SecretImage_Title: String { return self._s[1732]! } + public var Watch_MessageView_Title: String { return self._s[1733]! } + public var Channel_DiscussionGroupAdd: String { return self._s[1734]! } + public var AttachmentMenu_Poll: String { return self._s[1735]! } public func Notification_GroupInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1722]!, self._r[1722]!, [_0]) + return formatWithArgumentRanges(self._s[1736]!, self._r[1736]!, [_0]) } public func Channel_DiscussionGroup_PrivateChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1723]!, self._r[1723]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1737]!, self._r[1737]!, [_1, _2]) } - public var Notification_CallCanceled: String { return self._s[1724]! } - public var WallpaperPreview_Title: String { return self._s[1725]! } - public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1726]! } - public var Settings_ProxyConnecting: String { return self._s[1727]! } - public var Settings_CheckPhoneNumberText: String { return self._s[1729]! } - public var VoiceOver_Chat_YourVideo: String { return self._s[1730]! } - public var Profile_MessageLifetime5s: String { return self._s[1731]! } - public var Username_InvalidCharacters: String { return self._s[1732]! } - public var VoiceOver_Media_PlaybackRateFast: String { return self._s[1733]! } - public var ScheduledMessages_ClearAll: String { return self._s[1734]! } - public var WallpaperPreview_CropBottomText: String { return self._s[1735]! } - public var AutoDownloadSettings_LimitBySize: String { return self._s[1736]! } - public var Settings_AddAccount: String { return self._s[1737]! } - public var Notification_CreatedChannel: String { return self._s[1740]! } + public var Notification_CallCanceled: String { return self._s[1738]! } + public var WallpaperPreview_Title: String { return self._s[1739]! } + public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1740]! } + public var Settings_ProxyConnecting: String { return self._s[1741]! } + public var Settings_CheckPhoneNumberText: String { return self._s[1743]! } + public var VoiceOver_Chat_YourVideo: String { return self._s[1744]! } + public var Profile_MessageLifetime5s: String { return self._s[1745]! } + public var Username_InvalidCharacters: String { return self._s[1746]! } + public var VoiceOver_Media_PlaybackRateFast: String { return self._s[1747]! } + public var ScheduledMessages_ClearAll: String { return self._s[1748]! } + public var WallpaperPreview_CropBottomText: String { return self._s[1749]! } + public var AutoDownloadSettings_LimitBySize: String { return self._s[1750]! } + public var Settings_AddAccount: String { return self._s[1751]! } + public var Notification_CreatedChannel: String { return self._s[1754]! } public func PUSH_CHAT_DELETE_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1741]!, self._r[1741]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1755]!, self._r[1755]!, [_1, _2, _3]) } - public var Passcode_AppLockedAlert: String { return self._s[1743]! } - public var StickerPacksSettings_AnimatedStickersInfo: String { return self._s[1744]! } - public var VoiceOver_Media_PlaybackStop: String { return self._s[1745]! } - public var Contacts_TopSection: String { return self._s[1746]! } + public var Passcode_AppLockedAlert: String { return self._s[1757]! } + public var StickerPacksSettings_AnimatedStickersInfo: String { return self._s[1758]! } + public var VoiceOver_Media_PlaybackStop: String { return self._s[1759]! } + public var Contacts_TopSection: String { return self._s[1760]! } public func Conversation_SetReminder_RemindOn(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1747]!, self._r[1747]!, [_0, _1]) + return formatWithArgumentRanges(self._s[1761]!, self._r[1761]!, [_0, _1]) } public func Time_MonthOfYear_m6(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1748]!, self._r[1748]!, [_0]) + return formatWithArgumentRanges(self._s[1762]!, self._r[1762]!, [_0]) } - public var ReportPeer_ReasonSpam: String { return self._s[1749]! } - public var UserInfo_TapToCall: String { return self._s[1750]! } - public var Conversation_ForwardAuthorHiddenTooltip: String { return self._s[1752]! } - public var AutoDownloadSettings_DataUsageCustom: String { return self._s[1753]! } - public var Common_Search: String { return self._s[1754]! } - public var ScheduledMessages_EmptyPlaceholder: String { return self._s[1755]! } + public var ReportPeer_ReasonSpam: String { return self._s[1763]! } + public var UserInfo_TapToCall: String { return self._s[1764]! } + public var Conversation_ForwardAuthorHiddenTooltip: String { return self._s[1766]! } + public var AutoDownloadSettings_DataUsageCustom: String { return self._s[1767]! } + public var Common_Search: String { return self._s[1768]! } + public var ScheduledMessages_EmptyPlaceholder: String { return self._s[1769]! } public func Channel_AdminLog_MessageChangedGroupGeoLocation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1756]!, self._r[1756]!, [_0]) + return formatWithArgumentRanges(self._s[1770]!, self._r[1770]!, [_0]) } - public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1757]! } - public var Message_InvoiceLabel: String { return self._s[1758]! } - public var Conversation_InputTextPlaceholder: String { return self._s[1759]! } - public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[1760]! } + public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1771]! } + public var Message_InvoiceLabel: String { return self._s[1772]! } + public var Conversation_InputTextPlaceholder: String { return self._s[1773]! } + public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[1774]! } public func Passport_Address_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1761]!, self._r[1761]!, [_0]) + return formatWithArgumentRanges(self._s[1775]!, self._r[1775]!, [_0]) } - public var Conversation_Info: String { return self._s[1762]! } - public var Login_InfoDeletePhoto: String { return self._s[1763]! } - public var Passport_Language_vi: String { return self._s[1765]! } - public var UserInfo_ScamUserWarning: String { return self._s[1766]! } - public var Conversation_Search: String { return self._s[1767]! } - public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1769]! } - public var ReportPeer_ReasonPornography: String { return self._s[1770]! } - public var AutoDownloadSettings_PhotosTitle: String { return self._s[1771]! } - public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1772]! } - public var Map_LiveLocationGroupDescription: String { return self._s[1773]! } - public var Channel_Setup_TypeHeader: String { return self._s[1774]! } - public var AuthSessions_LoggedIn: String { return self._s[1775]! } - public var Privacy_Forwards_AlwaysAllow_Title: String { return self._s[1776]! } - public var Login_SmsRequestState3: String { return self._s[1777]! } - public var Passport_Address_EditUtilityBill: String { return self._s[1778]! } - public var Appearance_ReduceMotionInfo: String { return self._s[1779]! } - public var Join_ChannelsTooMuch: String { return self._s[1780]! } - public var Channel_Edit_LinkItem: String { return self._s[1781]! } - public var Privacy_Calls_P2PNever: String { return self._s[1782]! } - public var Conversation_AddToReadingList: String { return self._s[1784]! } - public var Share_MultipleMessagesDisabled: String { return self._s[1785]! } - public var Message_Animation: String { return self._s[1786]! } - public var Conversation_DefaultRestrictedMedia: String { return self._s[1787]! } - public var Map_Unknown: String { return self._s[1788]! } - public var AutoDownloadSettings_LastDelimeter: String { return self._s[1789]! } + public var Conversation_Info: String { return self._s[1776]! } + public var Login_InfoDeletePhoto: String { return self._s[1777]! } + public var Passport_Language_vi: String { return self._s[1779]! } + public var UserInfo_ScamUserWarning: String { return self._s[1780]! } + public var Conversation_Search: String { return self._s[1781]! } + public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1783]! } + public var ReportPeer_ReasonPornography: String { return self._s[1784]! } + public var AutoDownloadSettings_PhotosTitle: String { return self._s[1785]! } + public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1786]! } + public var Map_LiveLocationGroupDescription: String { return self._s[1787]! } + public var Channel_Setup_TypeHeader: String { return self._s[1788]! } + public var AuthSessions_LoggedIn: String { return self._s[1789]! } + public var Privacy_Forwards_AlwaysAllow_Title: String { return self._s[1790]! } + public var Login_SmsRequestState3: String { return self._s[1791]! } + public var Passport_Address_EditUtilityBill: String { return self._s[1792]! } + public var Appearance_ReduceMotionInfo: String { return self._s[1793]! } + public var Join_ChannelsTooMuch: String { return self._s[1794]! } + public var Channel_Edit_LinkItem: String { return self._s[1795]! } + public var Privacy_Calls_P2PNever: String { return self._s[1796]! } + public var Conversation_AddToReadingList: String { return self._s[1798]! } + public var Share_MultipleMessagesDisabled: String { return self._s[1799]! } + public var Message_Animation: String { return self._s[1800]! } + public var Conversation_DefaultRestrictedMedia: String { return self._s[1801]! } + public var Map_Unknown: String { return self._s[1802]! } + public var AutoDownloadSettings_LastDelimeter: String { return self._s[1803]! } public func PUSH_PINNED_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1790]!, self._r[1790]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1804]!, self._r[1804]!, [_1, _2]) } public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1791]!, self._r[1791]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1805]!, self._r[1805]!, [_1, _2]) } - public var Call_StatusRequesting: String { return self._s[1792]! } - public var Conversation_SecretChatContextBotAlert: String { return self._s[1793]! } - public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1794]! } + public var Call_StatusRequesting: String { return self._s[1806]! } + public var Conversation_SecretChatContextBotAlert: String { return self._s[1807]! } + public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1808]! } public func PUSH_CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1795]!, self._r[1795]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1809]!, self._r[1809]!, [_1, _2]) } public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1796]!, self._r[1796]!, [_0]) + return formatWithArgumentRanges(self._s[1810]!, self._r[1810]!, [_0]) } - public var Update_Skip: String { return self._s[1797]! } - public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1798]! } - public var Message_PinnedPollMessage: String { return self._s[1799]! } - public var BlockedUsers_Title: String { return self._s[1800]! } + public var Update_Skip: String { return self._s[1811]! } + public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1812]! } + public var Message_PinnedPollMessage: String { return self._s[1813]! } + public var BlockedUsers_Title: String { return self._s[1814]! } public func PUSH_CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1801]!, self._r[1801]!, [_1]) + return formatWithArgumentRanges(self._s[1815]!, self._r[1815]!, [_1]) } - public var Username_CheckingUsername: String { return self._s[1802]! } - public var NotificationsSound_Bell: String { return self._s[1803]! } - public var Conversation_SendMessageErrorFlood: String { return self._s[1804]! } - public var Weekday_Monday: String { return self._s[1805]! } - public var SettingsSearch_Synonyms_Notifications_DisplayNamesOnLockScreen: String { return self._s[1806]! } - public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1807]! } - public var ChatSettings_Groups: String { return self._s[1808]! } + public var Username_CheckingUsername: String { return self._s[1816]! } + public var NotificationsSound_Bell: String { return self._s[1817]! } + public var Conversation_SendMessageErrorFlood: String { return self._s[1818]! } + public var Weekday_Monday: String { return self._s[1819]! } + public var SettingsSearch_Synonyms_Notifications_DisplayNamesOnLockScreen: String { return self._s[1820]! } + public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1821]! } + public var ChatSettings_Groups: String { return self._s[1822]! } public func Conversation_SetReminder_RemindTomorrow(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1809]!, self._r[1809]!, [_0]) - } - public var Your_card_was_declined: String { return self._s[1810]! } - public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1812]! } - public var ChatList_Unmute: String { return self._s[1813]! } - public var PhotoEditor_CurvesAll: String { return self._s[1814]! } - public var Weekday_ShortTuesday: String { return self._s[1815]! } - public var DialogList_Read: String { return self._s[1816]! } - public var Appearance_AppIconClassic: String { return self._s[1817]! } - public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1818]! } - public var Passport_Identity_Gender: String { return self._s[1819]! } - public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1820]!, self._r[1820]!, [_0]) - } - public var Target_SelectGroup: String { return self._s[1821]! } - public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1823]!, self._r[1823]!, [_0]) } - public var Passport_Language_en: String { return self._s[1824]! } - public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[1825]! } - public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1826]! } - public var Login_CancelPhoneVerificationContinue: String { return self._s[1827]! } - public var ScheduledMessages_SendNow: String { return self._s[1828]! } - public var Checkout_NewCard_PaymentCard: String { return self._s[1830]! } - public var Login_InfoHelp: String { return self._s[1831]! } - public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1832]! } - public var SettingsSearch_Synonyms_Stickers_FeaturedPacks: String { return self._s[1833]! } + public var Your_card_was_declined: String { return self._s[1824]! } + public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1826]! } + public var ChatList_Unmute: String { return self._s[1827]! } + public var PhotoEditor_CurvesAll: String { return self._s[1828]! } + public var Weekday_ShortTuesday: String { return self._s[1829]! } + public var DialogList_Read: String { return self._s[1830]! } + public var Appearance_AppIconClassic: String { return self._s[1831]! } + public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1832]! } + public var Passport_Identity_Gender: String { return self._s[1833]! } + public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1834]!, self._r[1834]!, [_0]) + } + public var Target_SelectGroup: String { return self._s[1835]! } + public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1837]!, self._r[1837]!, [_0]) + } + public var Passport_Language_en: String { return self._s[1838]! } + public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[1839]! } + public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1840]! } + public var Login_CancelPhoneVerificationContinue: String { return self._s[1841]! } + public var ScheduledMessages_SendNow: String { return self._s[1842]! } + public var Checkout_NewCard_PaymentCard: String { return self._s[1844]! } + public var Login_InfoHelp: String { return self._s[1845]! } + public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1846]! } + public var SettingsSearch_Synonyms_Stickers_FeaturedPacks: String { return self._s[1847]! } public func Channel_AdminLog_MessageChangedLinkedChannel(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1834]!, self._r[1834]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1848]!, self._r[1848]!, [_1, _2]) } - public var SocksProxySetup_AddProxy: String { return self._s[1837]! } - public var CreatePoll_Title: String { return self._s[1838]! } - public var Conversation_ViewTheme: String { return self._s[1839]! } - public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[1840]! } - public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1841]! } - public var UserInfo_GroupsInCommon: String { return self._s[1842]! } - public var Call_AudioRouteHide: String { return self._s[1843]! } - public var ContactInfo_PhoneLabelMobile: String { return self._s[1845]! } + public var SocksProxySetup_AddProxy: String { return self._s[1851]! } + public var CreatePoll_Title: String { return self._s[1852]! } + public var Conversation_ViewTheme: String { return self._s[1853]! } + public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[1854]! } + public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1855]! } + public var UserInfo_GroupsInCommon: String { return self._s[1856]! } + public var Call_AudioRouteHide: String { return self._s[1857]! } + public var ContactInfo_PhoneLabelMobile: String { return self._s[1859]! } public func ChatList_LeaveGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1846]!, self._r[1846]!, [_0]) - } - public var TextFormat_Bold: String { return self._s[1847]! } - public var FastTwoStepSetup_EmailSection: String { return self._s[1848]! } - public var Notifications_Title: String { return self._s[1849]! } - public var Group_Username_InvalidTooShort: String { return self._s[1850]! } - public var Channel_ErrorAddTooMuch: String { return self._s[1851]! } - public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1852]!, self._r[1852]!, ["\(_0)"]) - } - public var VoiceOver_DiscardPreparedContent: String { return self._s[1854]! } - public var Stickers_SuggestAdded: String { return self._s[1855]! } - public var Login_CountryCode: String { return self._s[1856]! } - public var ChatSettings_AutoPlayVideos: String { return self._s[1857]! } - public var Map_GetDirections: String { return self._s[1858]! } - public var Login_PhoneFloodError: String { return self._s[1859]! } - public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1860]!, self._r[1860]!, [_0]) } - public var Settings_SetUsername: String { return self._s[1862]! } - public var Group_Location_ChangeLocation: String { return self._s[1863]! } - public var Notification_GroupInviterSelf: String { return self._s[1864]! } - public var InstantPage_TapToOpenLink: String { return self._s[1865]! } + public var TextFormat_Bold: String { return self._s[1861]! } + public var FastTwoStepSetup_EmailSection: String { return self._s[1862]! } + public var Notifications_Title: String { return self._s[1863]! } + public var Group_Username_InvalidTooShort: String { return self._s[1864]! } + public var Channel_ErrorAddTooMuch: String { return self._s[1865]! } + public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1866]!, self._r[1866]!, ["\(_0)"]) + } + public var VoiceOver_DiscardPreparedContent: String { return self._s[1868]! } + public var Stickers_SuggestAdded: String { return self._s[1869]! } + public var Login_CountryCode: String { return self._s[1870]! } + public var ChatSettings_AutoPlayVideos: String { return self._s[1871]! } + public var Map_GetDirections: String { return self._s[1872]! } + public var Login_PhoneFloodError: String { return self._s[1873]! } + public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1874]!, self._r[1874]!, [_0]) + } + public var Settings_SetUsername: String { return self._s[1876]! } + public var Group_Location_ChangeLocation: String { return self._s[1877]! } + public var Notification_GroupInviterSelf: String { return self._s[1878]! } + public var InstantPage_TapToOpenLink: String { return self._s[1879]! } public func Notification_ChannelInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1866]!, self._r[1866]!, [_0]) + return formatWithArgumentRanges(self._s[1880]!, self._r[1880]!, [_0]) } - public var Watch_Suggestion_TalkLater: String { return self._s[1867]! } - public var SecretChat_Title: String { return self._s[1868]! } - public var Group_UpgradeNoticeText1: String { return self._s[1869]! } - public var AuthSessions_Title: String { return self._s[1870]! } + public var Watch_Suggestion_TalkLater: String { return self._s[1881]! } + public var SecretChat_Title: String { return self._s[1882]! } + public var Group_UpgradeNoticeText1: String { return self._s[1883]! } + public var AuthSessions_Title: String { return self._s[1884]! } public func TextFormat_AddLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1871]!, self._r[1871]!, [_0]) + return formatWithArgumentRanges(self._s[1885]!, self._r[1885]!, [_0]) } - public var PhotoEditor_CropAuto: String { return self._s[1872]! } - public var Channel_About_Title: String { return self._s[1873]! } - public var FastTwoStepSetup_EmailHelp: String { return self._s[1874]! } + public var PhotoEditor_CropAuto: String { return self._s[1886]! } + public var Channel_About_Title: String { return self._s[1887]! } + public var FastTwoStepSetup_EmailHelp: String { return self._s[1888]! } public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1876]!, self._r[1876]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1890]!, self._r[1890]!, ["\(_0)"]) } - public var VoiceOver_MessageContextReport: String { return self._s[1877]! } - public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1879]! } - public var Group_Setup_HistoryVisibleHelp: String { return self._s[1880]! } + public var VoiceOver_MessageContextReport: String { return self._s[1891]! } + public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1893]! } + public var Group_Setup_HistoryVisibleHelp: String { return self._s[1894]! } public func PUSH_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1881]!, self._r[1881]!, [_1]) + return formatWithArgumentRanges(self._s[1895]!, self._r[1895]!, [_1]) } public func SharedMedia_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1883]!, self._r[1883]!, [_0]) + return formatWithArgumentRanges(self._s[1897]!, self._r[1897]!, [_0]) } public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1884]!, self._r[1884]!, [_0]) - } - public var Privacy_PaymentsClearInfoHelp: String { return self._s[1885]! } - public var Presence_online: String { return self._s[1887]! } - public var PasscodeSettings_Title: String { return self._s[1888]! } - public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1889]! } - public var Web_OpenExternal: String { return self._s[1890]! } - public var AutoDownloadSettings_AutoDownload: String { return self._s[1892]! } - public var Channel_OwnershipTransfer_EnterPasswordText: String { return self._s[1893]! } - public var LocalGroup_Title: String { return self._s[1894]! } - public func AutoNightTheme_AutomaticHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1895]!, self._r[1895]!, [_0]) - } - public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[1896]! } - public var Map_YouAreHere: String { return self._s[1897]! } - public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1898]!, self._r[1898]!, [_0]) } + public var Privacy_PaymentsClearInfoHelp: String { return self._s[1899]! } + public var Presence_online: String { return self._s[1901]! } + public var PasscodeSettings_Title: String { return self._s[1902]! } + public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1903]! } + public var Web_OpenExternal: String { return self._s[1904]! } + public var AutoDownloadSettings_AutoDownload: String { return self._s[1906]! } + public var Channel_OwnershipTransfer_EnterPasswordText: String { return self._s[1907]! } + public var LocalGroup_Title: String { return self._s[1908]! } + public func AutoNightTheme_AutomaticHelp(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1909]!, self._r[1909]!, [_0]) + } + public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[1910]! } + public var Map_YouAreHere: String { return self._s[1911]! } + public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1912]!, self._r[1912]!, [_0]) + } public func ChatList_DeleteChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1899]!, self._r[1899]!, [_0]) - } - public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[1900]! } - public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[1901]! } - public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1902]!, self._r[1902]!, [_0]) - } - public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1903]!, self._r[1903]!, [_0]) - } - public var SocksProxySetup_Username: String { return self._s[1904]! } - public var Bot_Start: String { return self._s[1905]! } - public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1906]!, self._r[1906]!, [_0]) - } - public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1907]!, self._r[1907]!, [_0]) - } - public var Contacts_SortByPresence: String { return self._s[1908]! } - public var AccentColor_Title: String { return self._s[1910]! } - public var Conversation_DiscardVoiceMessageTitle: String { return self._s[1911]! } - public func PUSH_CHAT_CREATED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1912]!, self._r[1912]!, [_1, _2]) - } - public func PrivacySettings_LastSeenContactsMinus(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1913]!, self._r[1913]!, [_0]) } + public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[1914]! } + public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[1915]! } + public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1916]!, self._r[1916]!, [_0]) + } + public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1917]!, self._r[1917]!, [_0]) + } + public var SocksProxySetup_Username: String { return self._s[1918]! } + public var Bot_Start: String { return self._s[1919]! } + public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1920]!, self._r[1920]!, [_0]) + } + public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1921]!, self._r[1921]!, [_0]) + } + public var Contacts_SortByPresence: String { return self._s[1922]! } + public var AccentColor_Title: String { return self._s[1924]! } + public var Conversation_DiscardVoiceMessageTitle: String { return self._s[1925]! } + public func PUSH_CHAT_CREATED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1926]!, self._r[1926]!, [_1, _2]) + } + public func PrivacySettings_LastSeenContactsMinus(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1927]!, self._r[1927]!, [_0]) + } public func Channel_AdminLog_MessageChangedLinkedGroup(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1914]!, self._r[1914]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1928]!, self._r[1928]!, [_1, _2]) } - public var Passport_Email_EnterOtherEmail: String { return self._s[1915]! } - public var Login_InfoAvatarPhoto: String { return self._s[1916]! } - public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[1917]! } - public var Tour_Title4: String { return self._s[1918]! } - public var Passport_Identity_Translation: String { return self._s[1919]! } - public var SettingsSearch_Synonyms_Notifications_ContactJoined: String { return self._s[1920]! } - public var Login_TermsOfServiceLabel: String { return self._s[1922]! } - public var Passport_Language_it: String { return self._s[1923]! } - public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1924]! } - public var Passport_Identity_SelfieHelp: String { return self._s[1925]! } - public var Conversation_ClearAll: String { return self._s[1927]! } - public var Channel_OwnershipTransfer_Title: String { return self._s[1929]! } - public var TwoStepAuth_FloodError: String { return self._s[1930]! } + public var Passport_Email_EnterOtherEmail: String { return self._s[1929]! } + public var Login_InfoAvatarPhoto: String { return self._s[1930]! } + public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[1931]! } + public var Tour_Title4: String { return self._s[1932]! } + public var Passport_Identity_Translation: String { return self._s[1933]! } + public var SettingsSearch_Synonyms_Notifications_ContactJoined: String { return self._s[1934]! } + public var Login_TermsOfServiceLabel: String { return self._s[1936]! } + public var Passport_Language_it: String { return self._s[1937]! } + public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1938]! } + public var Passport_Identity_SelfieHelp: String { return self._s[1939]! } + public var Conversation_ClearAll: String { return self._s[1941]! } + public var Channel_OwnershipTransfer_Title: String { return self._s[1943]! } + public var TwoStepAuth_FloodError: String { return self._s[1944]! } public func PUSH_CHANNEL_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1931]!, self._r[1931]!, [_1]) + return formatWithArgumentRanges(self._s[1945]!, self._r[1945]!, [_1]) } - public var Paint_Delete: String { return self._s[1932]! } - public var Privacy_AddNewPeer: String { return self._s[1933]! } + public var Paint_Delete: String { return self._s[1946]! } + public var Privacy_AddNewPeer: String { return self._s[1947]! } public func Channel_AdminLog_MessageRank(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1934]!, self._r[1934]!, [_1]) + return formatWithArgumentRanges(self._s[1948]!, self._r[1948]!, [_1]) } - public var LogoutOptions_SetPasscodeText: String { return self._s[1935]! } + public var LogoutOptions_SetPasscodeText: String { return self._s[1949]! } public func Passport_AcceptHelp(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1936]!, self._r[1936]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1950]!, self._r[1950]!, [_1, _2]) } - public var Message_PinnedAudioMessage: String { return self._s[1937]! } + public var Message_PinnedAudioMessage: String { return self._s[1951]! } public func Watch_Time_ShortTodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1938]!, self._r[1938]!, [_0]) + return formatWithArgumentRanges(self._s[1952]!, self._r[1952]!, [_0]) } - public var Notification_Mute1hMin: String { return self._s[1939]! } - public var Notifications_GroupNotificationsSound: String { return self._s[1940]! } - public var SocksProxySetup_ShareProxyList: String { return self._s[1941]! } - public var Conversation_MessageEditedLabel: String { return self._s[1942]! } - public var Notification_Exceptions_AlwaysOff: String { return self._s[1943]! } - public var Notification_Exceptions_NewException_MessagePreviewHeader: String { return self._s[1944]! } + public var Notification_Mute1hMin: String { return self._s[1953]! } + public var Notifications_GroupNotificationsSound: String { return self._s[1954]! } + public var SocksProxySetup_ShareProxyList: String { return self._s[1955]! } + public var Conversation_MessageEditedLabel: String { return self._s[1956]! } + public var Notification_Exceptions_AlwaysOff: String { return self._s[1957]! } + public var Notification_Exceptions_NewException_MessagePreviewHeader: String { return self._s[1958]! } public func Channel_AdminLog_MessageAdmin(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1945]!, self._r[1945]!, [_0, _1, _2]) + return formatWithArgumentRanges(self._s[1959]!, self._r[1959]!, [_0, _1, _2]) } - public var NetworkUsageSettings_ResetStats: String { return self._s[1946]! } + public var NetworkUsageSettings_ResetStats: String { return self._s[1960]! } public func PUSH_MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1947]!, self._r[1947]!, [_1]) + return formatWithArgumentRanges(self._s[1961]!, self._r[1961]!, [_1]) } - public var AccessDenied_LocationTracking: String { return self._s[1948]! } - public var Month_GenOctober: String { return self._s[1949]! } - public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1950]! } - public var EnterPasscode_EnterPasscode: String { return self._s[1951]! } - public var MediaPicker_TimerTooltip: String { return self._s[1953]! } - public var SharedMedia_TitleAll: String { return self._s[1954]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsExceptions: String { return self._s[1957]! } - public var Conversation_RestrictedMedia: String { return self._s[1958]! } - public var AccessDenied_PhotosRestricted: String { return self._s[1959]! } - public var Privacy_Forwards_WhoCanForward: String { return self._s[1961]! } - public var ChangePhoneNumberCode_Called: String { return self._s[1962]! } + public var AccessDenied_LocationTracking: String { return self._s[1962]! } + public var Month_GenOctober: String { return self._s[1963]! } + public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1964]! } + public var EnterPasscode_EnterPasscode: String { return self._s[1965]! } + public var MediaPicker_TimerTooltip: String { return self._s[1967]! } + public var SharedMedia_TitleAll: String { return self._s[1968]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsExceptions: String { return self._s[1971]! } + public var Conversation_RestrictedMedia: String { return self._s[1972]! } + public var AccessDenied_PhotosRestricted: String { return self._s[1973]! } + public var Privacy_Forwards_WhoCanForward: String { return self._s[1975]! } + public var ChangePhoneNumberCode_Called: String { return self._s[1976]! } public func Notification_PinnedDocumentMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1963]!, self._r[1963]!, [_0]) + return formatWithArgumentRanges(self._s[1977]!, self._r[1977]!, [_0]) } - public var Conversation_SavedMessages: String { return self._s[1966]! } - public var Your_cards_expiration_month_is_invalid: String { return self._s[1968]! } - public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1969]! } + public var Conversation_SavedMessages: String { return self._s[1980]! } + public var Your_cards_expiration_month_is_invalid: String { return self._s[1982]! } + public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1983]! } public func Target_ShareGameConfirmationGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1971]!, self._r[1971]!, [_0]) + return formatWithArgumentRanges(self._s[1985]!, self._r[1985]!, [_0]) } - public var VoiceOver_Chat_YourMessage: String { return self._s[1972]! } + public var VoiceOver_Chat_YourMessage: String { return self._s[1986]! } public func VoiceOver_Chat_Title(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1973]!, self._r[1973]!, [_0]) + return formatWithArgumentRanges(self._s[1987]!, self._r[1987]!, [_0]) } - public var ReportPeer_AlertSuccess: String { return self._s[1974]! } - public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1975]! } + public var ReportPeer_AlertSuccess: String { return self._s[1988]! } + public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1989]! } public func InstantPage_RelatedArticleAuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1976]!, self._r[1976]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1990]!, self._r[1990]!, [_1, _2]) } - public var Checkout_PasswordEntry_Title: String { return self._s[1977]! } - public var PhotoEditor_FadeTool: String { return self._s[1978]! } - public var Privacy_ContactsReset: String { return self._s[1979]! } + public var Checkout_PasswordEntry_Title: String { return self._s[1991]! } + public var PhotoEditor_FadeTool: String { return self._s[1992]! } + public var Privacy_ContactsReset: String { return self._s[1993]! } public func Channel_AdminLog_MessageRestrictedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1981]!, self._r[1981]!, [_0]) + return formatWithArgumentRanges(self._s[1995]!, self._r[1995]!, [_0]) } - public var Message_PinnedVideoMessage: String { return self._s[1982]! } - public var ChatList_Mute: String { return self._s[1983]! } - public var Permissions_CellularDataText_v0: String { return self._s[1984]! } - public var ShareMenu_SelectChats: String { return self._s[1987]! } - public var MusicPlayer_VoiceNote: String { return self._s[1988]! } - public var Conversation_RestrictedText: String { return self._s[1989]! } - public var SettingsSearch_Synonyms_Privacy_Data_DeleteDrafts: String { return self._s[1990]! } - public var TwoStepAuth_DisableSuccess: String { return self._s[1991]! } - public var Cache_Videos: String { return self._s[1992]! } - public var PrivacySettings_PhoneNumber: String { return self._s[1993]! } - public var FeatureDisabled_Oops: String { return self._s[1995]! } - public var Passport_Address_PostcodePlaceholder: String { return self._s[1996]! } + public var Message_PinnedVideoMessage: String { return self._s[1996]! } + public var ChatList_Mute: String { return self._s[1997]! } + public var Permissions_CellularDataText_v0: String { return self._s[1998]! } + public var ShareMenu_SelectChats: String { return self._s[2001]! } + public var ChatList_Context_Unarchive: String { return self._s[2002]! } + public var MusicPlayer_VoiceNote: String { return self._s[2003]! } + public var Conversation_RestrictedText: String { return self._s[2004]! } + public var SettingsSearch_Synonyms_Privacy_Data_DeleteDrafts: String { return self._s[2005]! } + public var TwoStepAuth_DisableSuccess: String { return self._s[2006]! } + public var Cache_Videos: String { return self._s[2007]! } + public var PrivacySettings_PhoneNumber: String { return self._s[2008]! } + public var FeatureDisabled_Oops: String { return self._s[2010]! } + public var Passport_Address_PostcodePlaceholder: String { return self._s[2011]! } public func AddContact_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1997]!, self._r[1997]!, [_0]) + return formatWithArgumentRanges(self._s[2012]!, self._r[2012]!, [_0]) } - public var Stickers_GroupStickersHelp: String { return self._s[1998]! } - public var GroupPermission_NoSendPolls: String { return self._s[1999]! } - public var Message_VideoExpired: String { return self._s[2001]! } - public var Notifications_Badge: String { return self._s[2002]! } - public var GroupInfo_GroupHistoryVisible: String { return self._s[2003]! } - public var CreatePoll_OptionPlaceholder: String { return self._s[2004]! } - public var Username_InvalidTooShort: String { return self._s[2005]! } - public var EnterPasscode_EnterNewPasscodeChange: String { return self._s[2006]! } - public var Channel_AdminLog_PinMessages: String { return self._s[2007]! } - public var ArchivedChats_IntroTitle3: String { return self._s[2008]! } + public var Stickers_GroupStickersHelp: String { return self._s[2013]! } + public var GroupPermission_NoSendPolls: String { return self._s[2014]! } + public var Message_VideoExpired: String { return self._s[2016]! } + public var Notifications_Badge: String { return self._s[2017]! } + public var GroupInfo_GroupHistoryVisible: String { return self._s[2018]! } + public var CreatePoll_OptionPlaceholder: String { return self._s[2019]! } + public var Username_InvalidTooShort: String { return self._s[2020]! } + public var EnterPasscode_EnterNewPasscodeChange: String { return self._s[2021]! } + public var Channel_AdminLog_PinMessages: String { return self._s[2022]! } + public var ArchivedChats_IntroTitle3: String { return self._s[2023]! } public func Notification_MessageLifetimeRemoved(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2009]!, self._r[2009]!, [_1]) + return formatWithArgumentRanges(self._s[2024]!, self._r[2024]!, [_1]) } - public var Permissions_SiriAllowInSettings_v0: String { return self._s[2010]! } - public var Conversation_DefaultRestrictedText: String { return self._s[2011]! } - public var SharedMedia_CategoryDocs: String { return self._s[2014]! } + public var Permissions_SiriAllowInSettings_v0: String { return self._s[2025]! } + public var Conversation_DefaultRestrictedText: String { return self._s[2026]! } + public var SharedMedia_CategoryDocs: String { return self._s[2029]! } public func PUSH_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2015]!, self._r[2015]!, [_1]) + return formatWithArgumentRanges(self._s[2030]!, self._r[2030]!, [_1]) } - public var Privacy_Forwards_NeverLink: String { return self._s[2017]! } + public var Privacy_Forwards_NeverLink: String { return self._s[2032]! } public func Notification_MessageLifetimeChangedOutgoing(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2018]!, self._r[2018]!, [_1]) + return formatWithArgumentRanges(self._s[2033]!, self._r[2033]!, [_1]) } - public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[2019]! } + public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[2034]! } public func Time_MonthOfYear_m12(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2020]!, self._r[2020]!, [_0]) + return formatWithArgumentRanges(self._s[2035]!, self._r[2035]!, [_0]) } - public var ChatSettings_PrivateChats: String { return self._s[2021]! } - public var SettingsSearch_Synonyms_EditProfile_Logout: String { return self._s[2022]! } - public var Conversation_PrivateMessageLinkCopied: String { return self._s[2023]! } - public var Channel_UpdatePhotoItem: String { return self._s[2024]! } - public var GroupInfo_LeftStatus: String { return self._s[2025]! } - public var Watch_MessageView_Forward: String { return self._s[2027]! } - public var ReportPeer_ReasonChildAbuse: String { return self._s[2028]! } - public var Cache_ClearEmpty: String { return self._s[2030]! } - public var Localization_LanguageName: String { return self._s[2031]! } - public var WebSearch_GIFs: String { return self._s[2032]! } - public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[2033]! } - public var Username_InvalidStartsWithNumber: String { return self._s[2034]! } - public var Common_Back: String { return self._s[2035]! } - public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[2036]! } + public var ChatSettings_PrivateChats: String { return self._s[2036]! } + public var SettingsSearch_Synonyms_EditProfile_Logout: String { return self._s[2037]! } + public var Conversation_PrivateMessageLinkCopied: String { return self._s[2038]! } + public var Channel_UpdatePhotoItem: String { return self._s[2039]! } + public var GroupInfo_LeftStatus: String { return self._s[2040]! } + public var Watch_MessageView_Forward: String { return self._s[2042]! } + public var ReportPeer_ReasonChildAbuse: String { return self._s[2043]! } + public var Cache_ClearEmpty: String { return self._s[2045]! } + public var Localization_LanguageName: String { return self._s[2046]! } + public var WebSearch_GIFs: String { return self._s[2047]! } + public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[2048]! } + public var Username_InvalidStartsWithNumber: String { return self._s[2049]! } + public var Common_Back: String { return self._s[2050]! } + public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[2051]! } public func PUSH_CHANNEL_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2037]!, self._r[2037]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2052]!, self._r[2052]!, [_1, _2]) } - public var Passport_Email_Help: String { return self._s[2038]! } - public var Watch_Conversation_Reply: String { return self._s[2040]! } - public var Conversation_EditingMessageMediaChange: String { return self._s[2042]! } - public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2043]! } - public var Channel_BanUser_Unban: String { return self._s[2045]! } - public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[2046]! } - public var Group_Username_CreatePublicLinkHelp: String { return self._s[2047]! } - public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[2049]! } - public var Passport_Identity_Name: String { return self._s[2050]! } + public var Passport_Email_Help: String { return self._s[2053]! } + public var Watch_Conversation_Reply: String { return self._s[2055]! } + public var Conversation_EditingMessageMediaChange: String { return self._s[2057]! } + public var Passport_Identity_IssueDatePlaceholder: String { return self._s[2058]! } + public var Channel_BanUser_Unban: String { return self._s[2060]! } + public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[2061]! } + public var Group_Username_CreatePublicLinkHelp: String { return self._s[2062]! } + public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[2064]! } + public var Passport_Identity_Name: String { return self._s[2065]! } public func Channel_DiscussionGroup_HeaderGroupSet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2051]!, self._r[2051]!, [_0]) + return formatWithArgumentRanges(self._s[2066]!, self._r[2066]!, [_0]) } - public var GroupRemoved_ViewUserInfo: String { return self._s[2052]! } - public var Conversation_BlockUser: String { return self._s[2053]! } - public var Month_GenJanuary: String { return self._s[2054]! } - public var ChatSettings_TextSize: String { return self._s[2055]! } - public var Notification_PassportValuePhone: String { return self._s[2056]! } - public var Passport_Language_ne: String { return self._s[2057]! } - public var Notification_CallBack: String { return self._s[2058]! } - public var TwoStepAuth_EmailHelp: String { return self._s[2059]! } + public var GroupRemoved_ViewUserInfo: String { return self._s[2067]! } + public var Conversation_BlockUser: String { return self._s[2068]! } + public var Month_GenJanuary: String { return self._s[2069]! } + public var ChatSettings_TextSize: String { return self._s[2070]! } + public var Notification_PassportValuePhone: String { return self._s[2071]! } + public var Passport_Language_ne: String { return self._s[2072]! } + public var Notification_CallBack: String { return self._s[2073]! } + public var TwoStepAuth_EmailHelp: String { return self._s[2074]! } public func Time_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2060]!, self._r[2060]!, [_0]) + return formatWithArgumentRanges(self._s[2075]!, self._r[2075]!, [_0]) } - public var Channel_Info_Management: String { return self._s[2061]! } - public var Passport_FieldIdentityUploadHelp: String { return self._s[2062]! } - public var Stickers_FrequentlyUsed: String { return self._s[2063]! } - public var Channel_BanUser_PermissionSendMessages: String { return self._s[2064]! } - public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[2066]! } + public var Channel_Info_Management: String { return self._s[2076]! } + public var Passport_FieldIdentityUploadHelp: String { return self._s[2077]! } + public var Stickers_FrequentlyUsed: String { return self._s[2078]! } + public var Channel_BanUser_PermissionSendMessages: String { return self._s[2079]! } + public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[2081]! } public func LOCAL_CHANNEL_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2067]!, self._r[2067]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[2082]!, self._r[2082]!, [_1, "\(_2)"]) } - public var Passport_Address_EditResidentialAddress: String { return self._s[2068]! } - public var PrivacyPolicy_DeclineTitle: String { return self._s[2069]! } - public var CreatePoll_TextHeader: String { return self._s[2070]! } + public var Passport_Address_EditResidentialAddress: String { return self._s[2083]! } + public var PrivacyPolicy_DeclineTitle: String { return self._s[2084]! } + public var CreatePoll_TextHeader: String { return self._s[2085]! } public func Checkout_SavePasswordTimeoutAndTouchId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2071]!, self._r[2071]!, [_0]) + return formatWithArgumentRanges(self._s[2086]!, self._r[2086]!, [_0]) } - public var PhotoEditor_QualityMedium: String { return self._s[2072]! } - public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[2073]! } - public var Conversation_StatusKickedFromChannel: String { return self._s[2075]! } - public var CheckoutInfo_ReceiverInfoName: String { return self._s[2076]! } - public var Group_ErrorSendRestrictedStickers: String { return self._s[2077]! } + public var PhotoEditor_QualityMedium: String { return self._s[2087]! } + public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[2088]! } + public var Conversation_StatusKickedFromChannel: String { return self._s[2090]! } + public var CheckoutInfo_ReceiverInfoName: String { return self._s[2091]! } + public var Group_ErrorSendRestrictedStickers: String { return self._s[2092]! } public func Conversation_RestrictedInlineTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2078]!, self._r[2078]!, [_0]) + return formatWithArgumentRanges(self._s[2093]!, self._r[2093]!, [_0]) } public func Channel_AdminLog_MessageTransferedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2079]!, self._r[2079]!, [_1]) + return formatWithArgumentRanges(self._s[2094]!, self._r[2094]!, [_1]) } - public var Conversation_LinkDialogOpen: String { return self._s[2081]! } - public var VoiceOver_Chat_PollNoVotes: String { return self._s[2082]! } - public var Settings_Username: String { return self._s[2084]! } - public var Conversation_Block: String { return self._s[2086]! } - public var Wallpaper_Wallpaper: String { return self._s[2087]! } - public var SocksProxySetup_UseProxy: String { return self._s[2089]! } - public var EditTheme_UploadEditedTheme: String { return self._s[2090]! } - public var UserInfo_ShareMyContactInfo: String { return self._s[2091]! } - public var MessageTimer_Forever: String { return self._s[2092]! } - public var Privacy_Calls_WhoCanCallMe: String { return self._s[2093]! } - public var PhotoEditor_DiscardChanges: String { return self._s[2094]! } - public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[2095]! } - public var Passport_Language_da: String { return self._s[2096]! } - public var SocksProxySetup_PortPlaceholder: String { return self._s[2097]! } + public var Conversation_LinkDialogOpen: String { return self._s[2096]! } + public var VoiceOver_Chat_PollNoVotes: String { return self._s[2097]! } + public var Settings_Username: String { return self._s[2099]! } + public var Conversation_Block: String { return self._s[2101]! } + public var Wallpaper_Wallpaper: String { return self._s[2102]! } + public var SocksProxySetup_UseProxy: String { return self._s[2104]! } + public var EditTheme_UploadEditedTheme: String { return self._s[2105]! } + public var UserInfo_ShareMyContactInfo: String { return self._s[2106]! } + public var MessageTimer_Forever: String { return self._s[2107]! } + public var Privacy_Calls_WhoCanCallMe: String { return self._s[2108]! } + public var PhotoEditor_DiscardChanges: String { return self._s[2109]! } + public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[2110]! } + public var Passport_Language_da: String { return self._s[2111]! } + public var SocksProxySetup_PortPlaceholder: String { return self._s[2112]! } public func SecretGIF_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2098]!, self._r[2098]!, [_0]) + return formatWithArgumentRanges(self._s[2113]!, self._r[2113]!, [_0]) } - public var Passport_Address_EditPassportRegistration: String { return self._s[2099]! } + public var Passport_Address_EditPassportRegistration: String { return self._s[2114]! } public func Channel_AdminLog_MessageChangedGroupAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2101]!, self._r[2101]!, [_0]) + return formatWithArgumentRanges(self._s[2116]!, self._r[2116]!, [_0]) } - public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[2103]! } - public var Conversation_SearchByName_Prefix: String { return self._s[2104]! } - public var Conversation_PinnedPoll: String { return self._s[2105]! } - public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2106]! } + public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[2118]! } + public var Conversation_SearchByName_Prefix: String { return self._s[2119]! } + public var Conversation_PinnedPoll: String { return self._s[2120]! } + public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[2121]! } public func PUSH_ENCRYPTION_ACCEPT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2107]!, self._r[2107]!, [_1]) + return formatWithArgumentRanges(self._s[2122]!, self._r[2122]!, [_1]) } - public var WallpaperSearch_ColorPurple: String { return self._s[2108]! } - public var Cache_ByPeerHeader: String { return self._s[2109]! } + public var WallpaperSearch_ColorPurple: String { return self._s[2123]! } + public var Cache_ByPeerHeader: String { return self._s[2124]! } public func Conversation_EncryptedPlaceholderTitleIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2110]!, self._r[2110]!, [_0]) + return formatWithArgumentRanges(self._s[2125]!, self._r[2125]!, [_0]) } - public var ChatSettings_AutoDownloadDocuments: String { return self._s[2111]! } - public var Appearance_ThemePreview_Chat_3_Text: String { return self._s[2114]! } - public var Notification_PinnedMessage: String { return self._s[2115]! } - public var VoiceOver_Chat_RecordModeVideoMessage: String { return self._s[2117]! } - public var Contacts_SortBy: String { return self._s[2118]! } + public var ChatSettings_AutoDownloadDocuments: String { return self._s[2126]! } + public var Appearance_ThemePreview_Chat_3_Text: String { return self._s[2129]! } + public var Notification_PinnedMessage: String { return self._s[2130]! } + public var VoiceOver_Chat_RecordModeVideoMessage: String { return self._s[2132]! } + public var Contacts_SortBy: String { return self._s[2133]! } public func PUSH_CHANNEL_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2119]!, self._r[2119]!, [_1]) + return formatWithArgumentRanges(self._s[2134]!, self._r[2134]!, [_1]) } public func PUSH_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2121]!, self._r[2121]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2136]!, self._r[2136]!, [_1, _2]) } - public var Call_EncryptionKey_Title: String { return self._s[2122]! } - public var Watch_UserInfo_Service: String { return self._s[2123]! } - public var SettingsSearch_Synonyms_Data_SaveEditedPhotos: String { return self._s[2125]! } - public var Conversation_Unpin: String { return self._s[2127]! } - public var CancelResetAccount_Title: String { return self._s[2128]! } - public var Map_LiveLocationFor15Minutes: String { return self._s[2129]! } + public var Call_EncryptionKey_Title: String { return self._s[2137]! } + public var Watch_UserInfo_Service: String { return self._s[2138]! } + public var SettingsSearch_Synonyms_Data_SaveEditedPhotos: String { return self._s[2140]! } + public var Conversation_Unpin: String { return self._s[2142]! } + public var CancelResetAccount_Title: String { return self._s[2143]! } + public var Map_LiveLocationFor15Minutes: String { return self._s[2144]! } public func Time_PreciseDate_m8(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2131]!, self._r[2131]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2146]!, self._r[2146]!, [_1, _2, _3]) } - public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[2132]! } - public var CallSettings_Title: String { return self._s[2133]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground: String { return self._s[2134]! } - public var PasscodeSettings_EncryptDataHelp: String { return self._s[2136]! } - public var AutoDownloadSettings_Contacts: String { return self._s[2137]! } + public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[2147]! } + public var CallSettings_Title: String { return self._s[2148]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground: String { return self._s[2149]! } + public var PasscodeSettings_EncryptDataHelp: String { return self._s[2151]! } + public var AutoDownloadSettings_Contacts: String { return self._s[2152]! } public func Channel_AdminLog_MessageRankName(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2138]!, self._r[2138]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2153]!, self._r[2153]!, [_1, _2]) } - public var Passport_Identity_DocumentDetails: String { return self._s[2139]! } - public var LoginPassword_PasswordHelp: String { return self._s[2140]! } - public var SettingsSearch_Synonyms_Data_AutoDownloadUsingWifi: String { return self._s[2141]! } - public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2142]! } - public var Checkout_TotalPaidAmount: String { return self._s[2143]! } + public var Passport_Identity_DocumentDetails: String { return self._s[2154]! } + public var LoginPassword_PasswordHelp: String { return self._s[2155]! } + public var SettingsSearch_Synonyms_Data_AutoDownloadUsingWifi: String { return self._s[2156]! } + public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2157]! } + public var Checkout_TotalPaidAmount: String { return self._s[2158]! } public func FileSize_KB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2144]!, self._r[2144]!, [_0]) + return formatWithArgumentRanges(self._s[2159]!, self._r[2159]!, [_0]) } - public var PasscodeSettings_ChangePasscode: String { return self._s[2145]! } - public var Conversation_SecretLinkPreviewAlert: String { return self._s[2147]! } - public var Privacy_SecretChatsLinkPreviews: String { return self._s[2148]! } + public var PasscodeSettings_ChangePasscode: String { return self._s[2160]! } + public var Conversation_SecretLinkPreviewAlert: String { return self._s[2162]! } + public var Privacy_SecretChatsLinkPreviews: String { return self._s[2163]! } public func PUSH_CHANNEL_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2149]!, self._r[2149]!, [_1]) + return formatWithArgumentRanges(self._s[2164]!, self._r[2164]!, [_1]) } - public var VoiceOver_Chat_ReplyToYourMessage: String { return self._s[2150]! } - public var Contacts_InviteFriends: String { return self._s[2152]! } - public var Map_ChooseLocationTitle: String { return self._s[2153]! } - public var Conversation_StopPoll: String { return self._s[2155]! } + public var VoiceOver_Chat_ReplyToYourMessage: String { return self._s[2165]! } + public var Contacts_InviteFriends: String { return self._s[2167]! } + public var Map_ChooseLocationTitle: String { return self._s[2168]! } + public var Conversation_StopPoll: String { return self._s[2170]! } public func WebSearch_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2156]!, self._r[2156]!, [_0]) + return formatWithArgumentRanges(self._s[2171]!, self._r[2171]!, [_0]) } - public var Call_Camera: String { return self._s[2157]! } - public var LogoutOptions_ChangePhoneNumberTitle: String { return self._s[2158]! } - public var Calls_RatingFeedback: String { return self._s[2159]! } - public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[2160]! } - public var NotificationsSound_Pulse: String { return self._s[2161]! } - public var Watch_LastSeen_Lately: String { return self._s[2162]! } - public var ReportGroupLocation_Report: String { return self._s[2165]! } - public var Widget_NoUsers: String { return self._s[2166]! } - public var Conversation_UnvotePoll: String { return self._s[2167]! } - public var SettingsSearch_Synonyms_Privacy_ProfilePhoto: String { return self._s[2169]! } - public var Privacy_ProfilePhoto_WhoCanSeeMyPhoto: String { return self._s[2170]! } - public var NotificationsSound_Circles: String { return self._s[2171]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[2174]! } - public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[2175]! } - public var Proxy_TooltipUnavailable: String { return self._s[2176]! } - public var Passport_Identity_CountryPlaceholder: String { return self._s[2178]! } - public var GroupInfo_Permissions_SlowmodeInfo: String { return self._s[2180]! } - public var Conversation_FileDropbox: String { return self._s[2181]! } - public var Notifications_ExceptionsUnmuted: String { return self._s[2182]! } - public var Tour_Text3: String { return self._s[2184]! } - public var Login_ResetAccountProtected_Title: String { return self._s[2186]! } - public var GroupPermission_NoSendMessages: String { return self._s[2187]! } - public var WallpaperSearch_ColorTitle: String { return self._s[2188]! } - public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[2189]! } + public var Call_Camera: String { return self._s[2172]! } + public var LogoutOptions_ChangePhoneNumberTitle: String { return self._s[2173]! } + public var Calls_RatingFeedback: String { return self._s[2174]! } + public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[2175]! } + public var NotificationsSound_Pulse: String { return self._s[2176]! } + public var Watch_LastSeen_Lately: String { return self._s[2177]! } + public var ReportGroupLocation_Report: String { return self._s[2180]! } + public var Widget_NoUsers: String { return self._s[2181]! } + public var Conversation_UnvotePoll: String { return self._s[2182]! } + public var SettingsSearch_Synonyms_Privacy_ProfilePhoto: String { return self._s[2184]! } + public var Privacy_ProfilePhoto_WhoCanSeeMyPhoto: String { return self._s[2185]! } + public var NotificationsSound_Circles: String { return self._s[2186]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[2189]! } + public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[2190]! } + public var Proxy_TooltipUnavailable: String { return self._s[2191]! } + public var Passport_Identity_CountryPlaceholder: String { return self._s[2193]! } + public var GroupInfo_Permissions_SlowmodeInfo: String { return self._s[2195]! } + public var Conversation_FileDropbox: String { return self._s[2196]! } + public var Notifications_ExceptionsUnmuted: String { return self._s[2197]! } + public var Tour_Text3: String { return self._s[2199]! } + public var Login_ResetAccountProtected_Title: String { return self._s[2201]! } + public var GroupPermission_NoSendMessages: String { return self._s[2202]! } + public var WallpaperSearch_ColorTitle: String { return self._s[2203]! } + public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[2204]! } public func Conversation_LiveLocationYouAnd(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2191]!, self._r[2191]!, [_0]) + return formatWithArgumentRanges(self._s[2206]!, self._r[2206]!, [_0]) } - public var GroupInfo_AddParticipantTitle: String { return self._s[2192]! } - public var Checkout_ShippingOption_Title: String { return self._s[2193]! } - public var ChatSettings_AutoDownloadTitle: String { return self._s[2194]! } + public var GroupInfo_AddParticipantTitle: String { return self._s[2207]! } + public var Checkout_ShippingOption_Title: String { return self._s[2208]! } + public var ChatSettings_AutoDownloadTitle: String { return self._s[2209]! } public func DialogList_SingleTypingSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2195]!, self._r[2195]!, [_0]) + return formatWithArgumentRanges(self._s[2210]!, self._r[2210]!, [_0]) } public func ChatSettings_AutoDownloadSettings_TypeVideo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2196]!, self._r[2196]!, [_0]) + return formatWithArgumentRanges(self._s[2211]!, self._r[2211]!, [_0]) } - public var Channel_Management_LabelAdministrator: String { return self._s[2197]! } - public var EditTheme_FileReadError: String { return self._s[2198]! } - public var OwnershipTransfer_ComeBackLater: String { return self._s[2199]! } - public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[2200]! } - public var AutoDownloadSettings_Photos: String { return self._s[2202]! } - public var Appearance_PreviewIncomingText: String { return self._s[2203]! } - public var ChannelInfo_ConfirmLeave: String { return self._s[2204]! } - public var MediaPicker_MomentsDateRangeSameMonthYearFormat: String { return self._s[2205]! } - public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[2206]! } - public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[2207]! } - public var PasscodeSettings_AutoLock_IfAwayFor_5minutes: String { return self._s[2208]! } - public var GroupInfo_SetGroupPhotoStop: String { return self._s[2209]! } - public var Notification_SecretChatScreenshot: String { return self._s[2210]! } - public var AccessDenied_Wallpapers: String { return self._s[2211]! } - public var Passport_Address_City: String { return self._s[2213]! } - public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[2214]! } - public var Appearance_ThemeCarouselClassic: String { return self._s[2215]! } - public var SocksProxySetup_SecretPlaceholder: String { return self._s[2216]! } - public var AccessDenied_LocationDisabled: String { return self._s[2217]! } - public var Group_Location_Title: String { return self._s[2218]! } - public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2220]! } - public var GroupInfo_Sound: String { return self._s[2221]! } - public var ChannelInfo_ScamChannelWarning: String { return self._s[2222]! } - public var Stickers_RemoveFromFavorites: String { return self._s[2223]! } - public var Contacts_Title: String { return self._s[2224]! } - public var Passport_Language_fr: String { return self._s[2225]! } - public var Notifications_ResetAllNotifications: String { return self._s[2226]! } - public var PrivacySettings_SecurityTitle: String { return self._s[2229]! } - public var Checkout_NewCard_Title: String { return self._s[2230]! } - public var Login_HaveNotReceivedCodeInternal: String { return self._s[2231]! } - public var Conversation_ForwardChats: String { return self._s[2232]! } - public var PasscodeSettings_4DigitCode: String { return self._s[2234]! } - public var Settings_FAQ: String { return self._s[2236]! } - public var AutoDownloadSettings_DocumentsTitle: String { return self._s[2237]! } - public var Conversation_ContextMenuForward: String { return self._s[2238]! } - public var VoiceOver_Chat_YourPhoto: String { return self._s[2241]! } - public var PrivacyPolicy_Title: String { return self._s[2244]! } - public var Notifications_TextTone: String { return self._s[2245]! } - public var Profile_CreateNewContact: String { return self._s[2246]! } - public var PrivacyPhoneNumberSettings_WhoCanSeeMyPhoneNumber: String { return self._s[2247]! } - public var Call_Speaker: String { return self._s[2249]! } - public var AutoNightTheme_AutomaticSection: String { return self._s[2250]! } - public var Channel_OwnershipTransfer_EnterPassword: String { return self._s[2252]! } - public var Channel_Username_InvalidCharacters: String { return self._s[2253]! } + public var Channel_Management_LabelAdministrator: String { return self._s[2212]! } + public var EditTheme_FileReadError: String { return self._s[2213]! } + public var OwnershipTransfer_ComeBackLater: String { return self._s[2214]! } + public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[2215]! } + public var AutoDownloadSettings_Photos: String { return self._s[2217]! } + public var Appearance_PreviewIncomingText: String { return self._s[2218]! } + public var ChatList_Context_MarkAllAsRead: String { return self._s[2219]! } + public var ChannelInfo_ConfirmLeave: String { return self._s[2220]! } + public var MediaPicker_MomentsDateRangeSameMonthYearFormat: String { return self._s[2221]! } + public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[2222]! } + public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[2223]! } + public var PasscodeSettings_AutoLock_IfAwayFor_5minutes: String { return self._s[2224]! } + public var GroupInfo_SetGroupPhotoStop: String { return self._s[2225]! } + public var Notification_SecretChatScreenshot: String { return self._s[2226]! } + public var AccessDenied_Wallpapers: String { return self._s[2227]! } + public var ChatList_Context_Mute: String { return self._s[2229]! } + public var Passport_Address_City: String { return self._s[2230]! } + public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[2231]! } + public var Appearance_ThemeCarouselClassic: String { return self._s[2232]! } + public var SocksProxySetup_SecretPlaceholder: String { return self._s[2233]! } + public var AccessDenied_LocationDisabled: String { return self._s[2234]! } + public var Group_Location_Title: String { return self._s[2235]! } + public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2237]! } + public var GroupInfo_Sound: String { return self._s[2238]! } + public var ChannelInfo_ScamChannelWarning: String { return self._s[2239]! } + public var Stickers_RemoveFromFavorites: String { return self._s[2240]! } + public var Contacts_Title: String { return self._s[2241]! } + public var EditTheme_ThemeTemplateAlertText: String { return self._s[2242]! } + public var Passport_Language_fr: String { return self._s[2243]! } + public var Notifications_ResetAllNotifications: String { return self._s[2244]! } + public var PrivacySettings_SecurityTitle: String { return self._s[2247]! } + public var Checkout_NewCard_Title: String { return self._s[2248]! } + public var Login_HaveNotReceivedCodeInternal: String { return self._s[2249]! } + public var Conversation_ForwardChats: String { return self._s[2250]! } + public var PasscodeSettings_4DigitCode: String { return self._s[2252]! } + public var Settings_FAQ: String { return self._s[2254]! } + public var AutoDownloadSettings_DocumentsTitle: String { return self._s[2255]! } + public var Conversation_ContextMenuForward: String { return self._s[2256]! } + public var VoiceOver_Chat_YourPhoto: String { return self._s[2259]! } + public var PrivacyPolicy_Title: String { return self._s[2262]! } + public var Notifications_TextTone: String { return self._s[2263]! } + public var Profile_CreateNewContact: String { return self._s[2264]! } + public var PrivacyPhoneNumberSettings_WhoCanSeeMyPhoneNumber: String { return self._s[2265]! } + public var Call_Speaker: String { return self._s[2267]! } + public var AutoNightTheme_AutomaticSection: String { return self._s[2268]! } + public var Channel_OwnershipTransfer_EnterPassword: String { return self._s[2270]! } + public var Channel_Username_InvalidCharacters: String { return self._s[2271]! } public func Channel_AdminLog_MessageChangedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2254]!, self._r[2254]!, [_0]) + return formatWithArgumentRanges(self._s[2272]!, self._r[2272]!, [_0]) } - public var AutoDownloadSettings_AutodownloadFiles: String { return self._s[2255]! } - public var PrivacySettings_LastSeenTitle: String { return self._s[2256]! } - public var Channel_AdminLog_CanInviteUsers: String { return self._s[2257]! } - public var SettingsSearch_Synonyms_Privacy_Data_ClearPaymentsInfo: String { return self._s[2258]! } - public var OwnershipTransfer_SecurityCheck: String { return self._s[2259]! } - public var Conversation_MessageDeliveryFailed: String { return self._s[2260]! } - public var Watch_ChatList_NoConversationsText: String { return self._s[2261]! } - public var Bot_Unblock: String { return self._s[2262]! } - public var TextFormat_Italic: String { return self._s[2263]! } - public var WallpaperSearch_ColorPink: String { return self._s[2264]! } - public var Settings_About_Help: String { return self._s[2265]! } - public var SearchImages_Title: String { return self._s[2266]! } - public var Weekday_Wednesday: String { return self._s[2267]! } - public var Conversation_ClousStorageInfo_Description1: String { return self._s[2268]! } - public var ExplicitContent_AlertTitle: String { return self._s[2269]! } + public var AutoDownloadSettings_AutodownloadFiles: String { return self._s[2273]! } + public var PrivacySettings_LastSeenTitle: String { return self._s[2274]! } + public var Channel_AdminLog_CanInviteUsers: String { return self._s[2275]! } + public var SettingsSearch_Synonyms_Privacy_Data_ClearPaymentsInfo: String { return self._s[2276]! } + public var OwnershipTransfer_SecurityCheck: String { return self._s[2277]! } + public var Conversation_MessageDeliveryFailed: String { return self._s[2278]! } + public var Watch_ChatList_NoConversationsText: String { return self._s[2279]! } + public var Bot_Unblock: String { return self._s[2280]! } + public var TextFormat_Italic: String { return self._s[2281]! } + public var WallpaperSearch_ColorPink: String { return self._s[2282]! } + public var Settings_About_Help: String { return self._s[2283]! } + public var SearchImages_Title: String { return self._s[2284]! } + public var Weekday_Wednesday: String { return self._s[2285]! } + public var Conversation_ClousStorageInfo_Description1: String { return self._s[2286]! } + public var ExplicitContent_AlertTitle: String { return self._s[2287]! } public func Time_PreciseDate_m5(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2270]!, self._r[2270]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2288]!, self._r[2288]!, [_1, _2, _3]) } - public var Channel_DiscussionGroup_Create: String { return self._s[2271]! } - public var Weekday_Thursday: String { return self._s[2272]! } - public var Channel_BanUser_PermissionChangeGroupInfo: String { return self._s[2273]! } - public var Channel_Members_AddMembersHelp: String { return self._s[2274]! } + public var Channel_DiscussionGroup_Create: String { return self._s[2289]! } + public var Weekday_Thursday: String { return self._s[2290]! } + public var Channel_BanUser_PermissionChangeGroupInfo: String { return self._s[2291]! } + public var Channel_Members_AddMembersHelp: String { return self._s[2292]! } public func Checkout_SavePasswordTimeout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2275]!, self._r[2275]!, [_0]) + return formatWithArgumentRanges(self._s[2293]!, self._r[2293]!, [_0]) } - public var Channel_DiscussionGroup_LinkGroup: String { return self._s[2276]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsVibrate: String { return self._s[2277]! } - public var Passport_RequestedInformation: String { return self._s[2278]! } - public var Login_PhoneAndCountryHelp: String { return self._s[2279]! } - public var Conversation_EncryptionProcessing: String { return self._s[2281]! } - public var Notifications_PermissionsSuppressWarningTitle: String { return self._s[2282]! } - public var PhotoEditor_EnhanceTool: String { return self._s[2284]! } - public var Channel_Setup_Title: String { return self._s[2285]! } - public var Conversation_SearchPlaceholder: String { return self._s[2286]! } - public var AccessDenied_LocationAlwaysDenied: String { return self._s[2287]! } - public var Checkout_ErrorGeneric: String { return self._s[2288]! } - public var Passport_Language_hu: String { return self._s[2289]! } + public var Channel_DiscussionGroup_LinkGroup: String { return self._s[2294]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsVibrate: String { return self._s[2295]! } + public var Passport_RequestedInformation: String { return self._s[2296]! } + public var Login_PhoneAndCountryHelp: String { return self._s[2297]! } + public var Conversation_EncryptionProcessing: String { return self._s[2299]! } + public var Notifications_PermissionsSuppressWarningTitle: String { return self._s[2300]! } + public var PhotoEditor_EnhanceTool: String { return self._s[2302]! } + public var Channel_Setup_Title: String { return self._s[2303]! } + public var Conversation_SearchPlaceholder: String { return self._s[2304]! } + public var AccessDenied_LocationAlwaysDenied: String { return self._s[2305]! } + public var Checkout_ErrorGeneric: String { return self._s[2306]! } + public var Passport_Language_hu: String { return self._s[2307]! } public func Passport_Identity_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2291]!, self._r[2291]!, [_0]) + return formatWithArgumentRanges(self._s[2309]!, self._r[2309]!, [_0]) } public func PUSH_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2294]!, self._r[2294]!, [_1]) + return formatWithArgumentRanges(self._s[2312]!, self._r[2312]!, [_1]) } public func UserInfo_BlockConfirmationTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2295]!, self._r[2295]!, [_0]) + return formatWithArgumentRanges(self._s[2313]!, self._r[2313]!, [_0]) } - public var Group_Location_Info: String { return self._s[2296]! } - public var Conversation_CloudStorageInfo_Title: String { return self._s[2297]! } - public var Permissions_PeopleNearbyAllow_v0: String { return self._s[2298]! } - public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2299]! } + public var Group_Location_Info: String { return self._s[2314]! } + public var Conversation_CloudStorageInfo_Title: String { return self._s[2315]! } + public var Permissions_PeopleNearbyAllow_v0: String { return self._s[2316]! } + public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2317]! } public func Notification_Exceptions_MutedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2300]!, self._r[2300]!, [_0]) + return formatWithArgumentRanges(self._s[2318]!, self._r[2318]!, [_0]) } - public var Conversation_ClearPrivateHistory: String { return self._s[2301]! } - public var ContactInfo_PhoneLabelHome: String { return self._s[2302]! } - public var Appearance_RemoveThemeConfirmation: String { return self._s[2303]! } - public var PrivacySettings_LastSeenContacts: String { return self._s[2304]! } + public var Conversation_ClearPrivateHistory: String { return self._s[2319]! } + public var ContactInfo_PhoneLabelHome: String { return self._s[2320]! } + public var Appearance_RemoveThemeConfirmation: String { return self._s[2321]! } + public var PrivacySettings_LastSeenContacts: String { return self._s[2322]! } public func ChangePhone_ErrorOccupied(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2305]!, self._r[2305]!, [_0]) + return formatWithArgumentRanges(self._s[2323]!, self._r[2323]!, [_0]) } - public var Passport_Language_cs: String { return self._s[2306]! } - public var Message_PinnedAnimationMessage: String { return self._s[2308]! } - public var Passport_Identity_ReverseSideHelp: String { return self._s[2310]! } - public var SettingsSearch_Synonyms_Data_Storage_Title: String { return self._s[2311]! } - public var SettingsSearch_Synonyms_Privacy_PasscodeAndTouchId: String { return self._s[2313]! } - public var Embed_PlayingInPIP: String { return self._s[2314]! } - public var AutoNightTheme_ScheduleSection: String { return self._s[2315]! } + public var Passport_Language_cs: String { return self._s[2324]! } + public var Message_PinnedAnimationMessage: String { return self._s[2326]! } + public var Passport_Identity_ReverseSideHelp: String { return self._s[2328]! } + public var SettingsSearch_Synonyms_Data_Storage_Title: String { return self._s[2329]! } + public var SettingsSearch_Synonyms_Privacy_PasscodeAndTouchId: String { return self._s[2331]! } + public var Embed_PlayingInPIP: String { return self._s[2332]! } + public var AutoNightTheme_ScheduleSection: String { return self._s[2333]! } public func Call_EmojiDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2316]!, self._r[2316]!, [_0]) + return formatWithArgumentRanges(self._s[2334]!, self._r[2334]!, [_0]) } - public var MediaPicker_LivePhotoDescription: String { return self._s[2317]! } + public var MediaPicker_LivePhotoDescription: String { return self._s[2335]! } public func Channel_AdminLog_MessageRestrictedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2318]!, self._r[2318]!, [_1]) + return formatWithArgumentRanges(self._s[2336]!, self._r[2336]!, [_1]) } - public var Notification_PaymentSent: String { return self._s[2319]! } - public var PhotoEditor_CurvesGreen: String { return self._s[2320]! } - public var Notification_Exceptions_PreviewAlwaysOff: String { return self._s[2321]! } - public var SaveIncomingPhotosSettings_Title: String { return self._s[2322]! } - public var NotificationSettings_ShowNotificationsAllAccounts: String { return self._s[2323]! } - public var VoiceOver_Chat_PagePreview: String { return self._s[2324]! } + public var Notification_PaymentSent: String { return self._s[2337]! } + public var PhotoEditor_CurvesGreen: String { return self._s[2338]! } + public var Notification_Exceptions_PreviewAlwaysOff: String { return self._s[2339]! } + public var SaveIncomingPhotosSettings_Title: String { return self._s[2340]! } + public var NotificationSettings_ShowNotificationsAllAccounts: String { return self._s[2341]! } + public var VoiceOver_Chat_PagePreview: String { return self._s[2342]! } public func PUSH_MESSAGE_SCREENSHOT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2327]!, self._r[2327]!, [_1]) + return formatWithArgumentRanges(self._s[2345]!, self._r[2345]!, [_1]) } public func PUSH_MESSAGE_PHOTO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2328]!, self._r[2328]!, [_1]) + return formatWithArgumentRanges(self._s[2346]!, self._r[2346]!, [_1]) } public func ApplyLanguage_UnsufficientDataText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2329]!, self._r[2329]!, [_1]) + return formatWithArgumentRanges(self._s[2347]!, self._r[2347]!, [_1]) } - public var NetworkUsageSettings_CallDataSection: String { return self._s[2331]! } - public var PasscodeSettings_HelpTop: String { return self._s[2332]! } - public var Group_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[2333]! } - public var Passport_Address_TypeRentalAgreement: String { return self._s[2334]! } - public var EditTheme_ShortLink: String { return self._s[2335]! } - public var ProxyServer_VoiceOver_Active: String { return self._s[2336]! } - public var ReportPeer_ReasonOther_Placeholder: String { return self._s[2337]! } - public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[2338]! } - public var Call_Accept: String { return self._s[2340]! } - public var GroupRemoved_RemoveInfo: String { return self._s[2341]! } - public var Month_GenMarch: String { return self._s[2343]! } - public var PhotoEditor_ShadowsTool: String { return self._s[2344]! } - public var LoginPassword_Title: String { return self._s[2345]! } - public var Call_End: String { return self._s[2346]! } - public var Watch_Conversation_GroupInfo: String { return self._s[2347]! } - public var VoiceOver_Chat_Contact: String { return self._s[2348]! } - public var EditTheme_Create_Preview_IncomingText: String { return self._s[2349]! } - public var CallSettings_Always: String { return self._s[2350]! } - public var CallFeedback_Success: String { return self._s[2351]! } - public var TwoStepAuth_SetupHint: String { return self._s[2352]! } + public var NetworkUsageSettings_CallDataSection: String { return self._s[2349]! } + public var PasscodeSettings_HelpTop: String { return self._s[2350]! } + public var Group_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[2351]! } + public var Passport_Address_TypeRentalAgreement: String { return self._s[2352]! } + public var EditTheme_ShortLink: String { return self._s[2353]! } + public var ProxyServer_VoiceOver_Active: String { return self._s[2354]! } + public var ReportPeer_ReasonOther_Placeholder: String { return self._s[2355]! } + public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[2356]! } + public var Call_Accept: String { return self._s[2358]! } + public var GroupRemoved_RemoveInfo: String { return self._s[2359]! } + public var Month_GenMarch: String { return self._s[2361]! } + public var PhotoEditor_ShadowsTool: String { return self._s[2362]! } + public var LoginPassword_Title: String { return self._s[2363]! } + public var Call_End: String { return self._s[2364]! } + public var Watch_Conversation_GroupInfo: String { return self._s[2365]! } + public var VoiceOver_Chat_Contact: String { return self._s[2366]! } + public var EditTheme_Create_Preview_IncomingText: String { return self._s[2367]! } + public var CallSettings_Always: String { return self._s[2368]! } + public var CallFeedback_Success: String { return self._s[2369]! } + public var TwoStepAuth_SetupHint: String { return self._s[2370]! } public func AddContact_ContactWillBeSharedAfterMutual(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2353]!, self._r[2353]!, [_1]) + return formatWithArgumentRanges(self._s[2371]!, self._r[2371]!, [_1]) } - public var ConversationProfile_UsersTooMuchError: String { return self._s[2354]! } - public var Login_PhoneTitle: String { return self._s[2355]! } - public var Passport_FieldPhoneHelp: String { return self._s[2356]! } - public var Weekday_ShortSunday: String { return self._s[2357]! } - public var Passport_InfoFAQ_URL: String { return self._s[2358]! } - public var ContactInfo_Job: String { return self._s[2360]! } - public var UserInfo_InviteBotToGroup: String { return self._s[2361]! } - public var Appearance_ThemeCarouselNightBlue: String { return self._s[2362]! } - public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[2363]! } - public var Invite_ChannelsTooMuch: String { return self._s[2364]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsPreview: String { return self._s[2365]! } - public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[2366]! } - public var CallFeedback_ReasonNoise: String { return self._s[2367]! } - public var Appearance_AppIconDefault: String { return self._s[2369]! } - public var Passport_Identity_AddInternalPassport: String { return self._s[2370]! } - public var MediaPicker_AddCaption: String { return self._s[2371]! } - public var CallSettings_TabIconDescription: String { return self._s[2372]! } + public var ConversationProfile_UsersTooMuchError: String { return self._s[2372]! } + public var Login_PhoneTitle: String { return self._s[2373]! } + public var Passport_FieldPhoneHelp: String { return self._s[2374]! } + public var Weekday_ShortSunday: String { return self._s[2375]! } + public var Passport_InfoFAQ_URL: String { return self._s[2376]! } + public var ContactInfo_Job: String { return self._s[2378]! } + public var UserInfo_InviteBotToGroup: String { return self._s[2379]! } + public var Appearance_ThemeCarouselNightBlue: String { return self._s[2380]! } + public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[2381]! } + public var Invite_ChannelsTooMuch: String { return self._s[2382]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsPreview: String { return self._s[2383]! } + public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[2384]! } + public var CallFeedback_ReasonNoise: String { return self._s[2385]! } + public var Appearance_AppIconDefault: String { return self._s[2387]! } + public var Passport_Identity_AddInternalPassport: String { return self._s[2388]! } + public var MediaPicker_AddCaption: String { return self._s[2389]! } + public var CallSettings_TabIconDescription: String { return self._s[2390]! } public func VoiceOver_Chat_Caption(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2373]!, self._r[2373]!, [_0]) + return formatWithArgumentRanges(self._s[2391]!, self._r[2391]!, [_0]) } - public var ChatList_UndoArchiveHiddenTitle: String { return self._s[2374]! } - public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[2375]! } - public var Passport_Identity_TypePersonalDetails: String { return self._s[2376]! } - public var DialogList_SearchSectionRecent: String { return self._s[2377]! } - public var PrivacyPolicy_DeclineMessage: String { return self._s[2378]! } - public var LogoutOptions_ClearCacheText: String { return self._s[2381]! } - public var LastSeen_WithinAWeek: String { return self._s[2382]! } - public var ChannelMembers_GroupAdminsTitle: String { return self._s[2383]! } - public var Conversation_CloudStorage_ChatStatus: String { return self._s[2385]! } - public var VoiceOver_Media_PlaybackRateNormal: String { return self._s[2386]! } + public var ChatList_UndoArchiveHiddenTitle: String { return self._s[2392]! } + public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[2393]! } + public var Passport_Identity_TypePersonalDetails: String { return self._s[2394]! } + public var DialogList_SearchSectionRecent: String { return self._s[2395]! } + public var PrivacyPolicy_DeclineMessage: String { return self._s[2396]! } + public var LogoutOptions_ClearCacheText: String { return self._s[2399]! } + public var LastSeen_WithinAWeek: String { return self._s[2400]! } + public var ChannelMembers_GroupAdminsTitle: String { return self._s[2401]! } + public var Conversation_CloudStorage_ChatStatus: String { return self._s[2403]! } + public var VoiceOver_Media_PlaybackRateNormal: String { return self._s[2404]! } public func AddContact_SharedContactExceptionInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2387]!, self._r[2387]!, [_0]) + return formatWithArgumentRanges(self._s[2405]!, self._r[2405]!, [_0]) } - public var Passport_Address_TypeResidentialAddress: String { return self._s[2388]! } - public var Conversation_StatusLeftGroup: String { return self._s[2389]! } - public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2390]! } - public var SettingsSearch_Synonyms_Calls_Title: String { return self._s[2392]! } - public var GroupPermission_AddSuccess: String { return self._s[2393]! } - public var PhotoEditor_BlurToolRadial: String { return self._s[2395]! } - public var Conversation_ContextMenuCopy: String { return self._s[2396]! } - public var AccessDenied_CallMicrophone: String { return self._s[2397]! } + public var Passport_Address_TypeResidentialAddress: String { return self._s[2406]! } + public var Conversation_StatusLeftGroup: String { return self._s[2407]! } + public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2408]! } + public var SettingsSearch_Synonyms_Calls_Title: String { return self._s[2410]! } + public var GroupPermission_AddSuccess: String { return self._s[2411]! } + public var PhotoEditor_BlurToolRadial: String { return self._s[2413]! } + public var Conversation_ContextMenuCopy: String { return self._s[2414]! } + public var AccessDenied_CallMicrophone: String { return self._s[2415]! } public func Time_PreciseDate_m2(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2398]!, self._r[2398]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2416]!, self._r[2416]!, [_1, _2, _3]) } - public var Login_InvalidFirstNameError: String { return self._s[2399]! } - public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[2400]! } - public var Checkout_PaymentMethod_New: String { return self._s[2401]! } - public var ShareMenu_CopyShareLinkGame: String { return self._s[2402]! } - public var PhotoEditor_QualityTool: String { return self._s[2403]! } - public var Login_SendCodeViaSms: String { return self._s[2404]! } - public var SettingsSearch_Synonyms_Privacy_DeleteAccountIfAwayFor: String { return self._s[2405]! } - public var Chat_SlowmodeAttachmentLimitReached: String { return self._s[2406]! } - public var Login_EmailNotConfiguredError: String { return self._s[2407]! } - public var SocksProxySetup_Status: String { return self._s[2408]! } - public var PrivacyPolicy_Accept: String { return self._s[2409]! } - public var Notifications_ExceptionsMessagePlaceholder: String { return self._s[2410]! } - public var Appearance_AppIconClassicX: String { return self._s[2411]! } + public var Login_InvalidFirstNameError: String { return self._s[2417]! } + public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[2418]! } + public var Checkout_PaymentMethod_New: String { return self._s[2419]! } + public var ShareMenu_CopyShareLinkGame: String { return self._s[2420]! } + public var PhotoEditor_QualityTool: String { return self._s[2421]! } + public var Login_SendCodeViaSms: String { return self._s[2422]! } + public var SettingsSearch_Synonyms_Privacy_DeleteAccountIfAwayFor: String { return self._s[2423]! } + public var Chat_SlowmodeAttachmentLimitReached: String { return self._s[2424]! } + public var Login_EmailNotConfiguredError: String { return self._s[2425]! } + public var SocksProxySetup_Status: String { return self._s[2426]! } + public var PrivacyPolicy_Accept: String { return self._s[2427]! } + public var Notifications_ExceptionsMessagePlaceholder: String { return self._s[2428]! } + public var Appearance_AppIconClassicX: String { return self._s[2429]! } public func PUSH_CHAT_MESSAGE_TEXT(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2412]!, self._r[2412]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2430]!, self._r[2430]!, [_1, _2, _3]) } - public var OwnershipTransfer_SecurityRequirements: String { return self._s[2413]! } - public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2414]! } - public var AutoNightTheme_Automatic: String { return self._s[2415]! } - public var Channel_Username_InvalidStartsWithNumber: String { return self._s[2416]! } - public var Privacy_ContactsSyncHelp: String { return self._s[2417]! } - public var Cache_Help: String { return self._s[2418]! } - public var Group_ErrorAccessDenied: String { return self._s[2419]! } - public var Passport_Language_fa: String { return self._s[2420]! } - public var Login_ResetAccountProtected_TimerTitle: String { return self._s[2421]! } - public var VoiceOver_Chat_YourVideoMessage: String { return self._s[2422]! } - public var PrivacySettings_LastSeen: String { return self._s[2423]! } + public var OwnershipTransfer_SecurityRequirements: String { return self._s[2431]! } + public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2432]! } + public var AutoNightTheme_Automatic: String { return self._s[2433]! } + public var Channel_Username_InvalidStartsWithNumber: String { return self._s[2434]! } + public var Privacy_ContactsSyncHelp: String { return self._s[2435]! } + public var Cache_Help: String { return self._s[2436]! } + public var Group_ErrorAccessDenied: String { return self._s[2437]! } + public var Passport_Language_fa: String { return self._s[2438]! } + public var Login_ResetAccountProtected_TimerTitle: String { return self._s[2439]! } + public var VoiceOver_Chat_YourVideoMessage: String { return self._s[2440]! } + public var PrivacySettings_LastSeen: String { return self._s[2441]! } public func DialogList_MultipleTyping(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2424]!, self._r[2424]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2442]!, self._r[2442]!, [_0, _1]) } - public var Preview_SaveGif: String { return self._s[2428]! } - public var SettingsSearch_Synonyms_Privacy_TwoStepAuth: String { return self._s[2429]! } - public var Profile_About: String { return self._s[2430]! } - public var Channel_About_Placeholder: String { return self._s[2431]! } - public var Login_InfoTitle: String { return self._s[2432]! } + public var Preview_SaveGif: String { return self._s[2446]! } + public var SettingsSearch_Synonyms_Privacy_TwoStepAuth: String { return self._s[2447]! } + public var Profile_About: String { return self._s[2448]! } + public var Channel_About_Placeholder: String { return self._s[2449]! } + public var Login_InfoTitle: String { return self._s[2450]! } public func TwoStepAuth_SetupPendingEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2433]!, self._r[2433]!, [_0]) + return formatWithArgumentRanges(self._s[2451]!, self._r[2451]!, [_0]) } - public var EditTheme_Expand_Preview_IncomingReplyText: String { return self._s[2434]! } - public var Watch_Suggestion_CantTalk: String { return self._s[2436]! } - public var ContactInfo_Title: String { return self._s[2437]! } - public var Media_ShareThisVideo: String { return self._s[2438]! } - public var Weekday_ShortFriday: String { return self._s[2439]! } - public var AccessDenied_Contacts: String { return self._s[2441]! } - public var Notification_CallIncomingShort: String { return self._s[2442]! } - public var Group_Setup_TypePublic: String { return self._s[2443]! } - public var Notifications_MessageNotificationsExceptions: String { return self._s[2444]! } - public var Notifications_Badge_IncludeChannels: String { return self._s[2445]! } - public var Notifications_MessageNotificationsPreview: String { return self._s[2448]! } - public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2449]! } - public var Group_ErrorAddTooMuchBots: String { return self._s[2450]! } - public var Privacy_GroupsAndChannels_CustomShareHelp: String { return self._s[2451]! } - public var Permissions_CellularDataAllowInSettings_v0: String { return self._s[2452]! } - public var DialogList_Typing: String { return self._s[2453]! } - public var CallFeedback_IncludeLogs: String { return self._s[2455]! } - public var Checkout_Phone: String { return self._s[2457]! } - public var Login_InfoFirstNamePlaceholder: String { return self._s[2460]! } - public var Privacy_Calls_Integration: String { return self._s[2461]! } - public var Notifications_PermissionsAllow: String { return self._s[2462]! } - public var TwoStepAuth_AddHintDescription: String { return self._s[2466]! } - public var Settings_ChatSettings: String { return self._s[2467]! } + public var EditTheme_Expand_Preview_IncomingReplyText: String { return self._s[2452]! } + public var Watch_Suggestion_CantTalk: String { return self._s[2454]! } + public var ContactInfo_Title: String { return self._s[2455]! } + public var Media_ShareThisVideo: String { return self._s[2456]! } + public var Weekday_ShortFriday: String { return self._s[2457]! } + public var AccessDenied_Contacts: String { return self._s[2459]! } + public var Notification_CallIncomingShort: String { return self._s[2460]! } + public var Group_Setup_TypePublic: String { return self._s[2461]! } + public var Notifications_MessageNotificationsExceptions: String { return self._s[2462]! } + public var Notifications_Badge_IncludeChannels: String { return self._s[2463]! } + public var Notifications_MessageNotificationsPreview: String { return self._s[2466]! } + public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2467]! } + public var Group_ErrorAddTooMuchBots: String { return self._s[2468]! } + public var Privacy_GroupsAndChannels_CustomShareHelp: String { return self._s[2469]! } + public var Permissions_CellularDataAllowInSettings_v0: String { return self._s[2470]! } + public var DialogList_Typing: String { return self._s[2471]! } + public var CallFeedback_IncludeLogs: String { return self._s[2473]! } + public var Checkout_Phone: String { return self._s[2475]! } + public var Login_InfoFirstNamePlaceholder: String { return self._s[2478]! } + public var Privacy_Calls_Integration: String { return self._s[2479]! } + public var Notifications_PermissionsAllow: String { return self._s[2480]! } + public var TwoStepAuth_AddHintDescription: String { return self._s[2484]! } + public var Settings_ChatSettings: String { return self._s[2485]! } public func Channel_AdminLog_MessageInvitedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2468]!, self._r[2468]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2486]!, self._r[2486]!, [_1, _2]) } - public var GroupRemoved_DeleteUser: String { return self._s[2470]! } + public var GroupRemoved_DeleteUser: String { return self._s[2488]! } public func Channel_AdminLog_PollStopped(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2471]!, self._r[2471]!, [_0]) + return formatWithArgumentRanges(self._s[2489]!, self._r[2489]!, [_0]) } public func PUSH_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2472]!, self._r[2472]!, [_1]) + return formatWithArgumentRanges(self._s[2490]!, self._r[2490]!, [_1]) } - public var Login_ContinueWithLocalization: String { return self._s[2473]! } - public var Watch_Message_ForwardedFrom: String { return self._s[2474]! } - public var TwoStepAuth_EnterEmailCode: String { return self._s[2476]! } - public var Conversation_Unblock: String { return self._s[2477]! } - public var PrivacySettings_DataSettings: String { return self._s[2478]! } - public var Group_PublicLink_Info: String { return self._s[2479]! } - public var Notifications_InAppNotificationsVibrate: String { return self._s[2480]! } + public var Login_ContinueWithLocalization: String { return self._s[2491]! } + public var Watch_Message_ForwardedFrom: String { return self._s[2492]! } + public var TwoStepAuth_EnterEmailCode: String { return self._s[2494]! } + public var Conversation_Unblock: String { return self._s[2495]! } + public var PrivacySettings_DataSettings: String { return self._s[2496]! } + public var Group_PublicLink_Info: String { return self._s[2497]! } + public var Notifications_InAppNotificationsVibrate: String { return self._s[2498]! } public func Privacy_GroupsAndChannels_InviteToChannelError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2481]!, self._r[2481]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2499]!, self._r[2499]!, [_0, _1]) } - public var PrivacySettings_Passcode: String { return self._s[2484]! } - public var Call_Mute: String { return self._s[2485]! } - public var Passport_Language_dz: String { return self._s[2486]! } - public var Passport_Language_tk: String { return self._s[2487]! } + public var PrivacySettings_Passcode: String { return self._s[2502]! } + public var Call_Mute: String { return self._s[2503]! } + public var Passport_Language_dz: String { return self._s[2504]! } + public var Passport_Language_tk: String { return self._s[2505]! } public func Login_EmailCodeSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2488]!, self._r[2488]!, [_0]) - } - public var Settings_Search: String { return self._s[2489]! } - public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[2490]! } - public var Conversation_ContextMenuReply: String { return self._s[2491]! } - public var WallpaperSearch_ColorBrown: String { return self._s[2492]! } - public var Chat_AttachmentMultipleForwardDisabled: String { return self._s[2493]! } - public var Tour_Title1: String { return self._s[2494]! } - public var Conversation_ClearGroupHistory: String { return self._s[2496]! } - public var WallpaperPreview_Motion: String { return self._s[2497]! } - public func Checkout_PasswordEntry_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2498]!, self._r[2498]!, [_0]) - } - public var Call_RateCall: String { return self._s[2499]! } - public var Channel_AdminLog_BanSendStickersAndGifs: String { return self._s[2500]! } - public var Passport_PasswordCompleteSetup: String { return self._s[2501]! } - public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[2502]! } - public var UserInfo_LastNamePlaceholder: String { return self._s[2504]! } - public func Login_WillCallYou(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2506]!, self._r[2506]!, [_0]) } - public var Compose_Create: String { return self._s[2507]! } - public var Contacts_InviteToTelegram: String { return self._s[2508]! } - public var GroupInfo_Notifications: String { return self._s[2509]! } - public var Message_PinnedLiveLocationMessage: String { return self._s[2511]! } - public var Month_GenApril: String { return self._s[2512]! } - public var Appearance_AutoNightTheme: String { return self._s[2513]! } - public var ChatSettings_AutomaticAudioDownload: String { return self._s[2515]! } - public var Login_CodeSentSms: String { return self._s[2517]! } + public var Settings_Search: String { return self._s[2507]! } + public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[2508]! } + public var Conversation_ContextMenuReply: String { return self._s[2509]! } + public var WallpaperSearch_ColorBrown: String { return self._s[2510]! } + public var Chat_AttachmentMultipleForwardDisabled: String { return self._s[2511]! } + public var Tour_Title1: String { return self._s[2512]! } + public var Conversation_ClearGroupHistory: String { return self._s[2514]! } + public var WallpaperPreview_Motion: String { return self._s[2515]! } + public func Checkout_PasswordEntry_Text(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2516]!, self._r[2516]!, [_0]) + } + public var Call_RateCall: String { return self._s[2517]! } + public var Channel_AdminLog_BanSendStickersAndGifs: String { return self._s[2518]! } + public var Passport_PasswordCompleteSetup: String { return self._s[2519]! } + public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[2520]! } + public var UserInfo_LastNamePlaceholder: String { return self._s[2522]! } + public func Login_WillCallYou(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2524]!, self._r[2524]!, [_0]) + } + public var Compose_Create: String { return self._s[2525]! } + public var Contacts_InviteToTelegram: String { return self._s[2526]! } + public var GroupInfo_Notifications: String { return self._s[2527]! } + public var Message_PinnedLiveLocationMessage: String { return self._s[2529]! } + public var Month_GenApril: String { return self._s[2530]! } + public var Appearance_AutoNightTheme: String { return self._s[2531]! } + public var ChatSettings_AutomaticAudioDownload: String { return self._s[2533]! } + public var Login_CodeSentSms: String { return self._s[2535]! } public func UserInfo_UnblockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2518]!, self._r[2518]!, [_0]) + return formatWithArgumentRanges(self._s[2536]!, self._r[2536]!, [_0]) } - public var EmptyGroupInfo_Line3: String { return self._s[2519]! } - public var LogoutOptions_ContactSupportText: String { return self._s[2520]! } - public var Passport_Language_hr: String { return self._s[2521]! } - public var Common_ActionNotAllowedError: String { return self._s[2522]! } + public var EmptyGroupInfo_Line3: String { return self._s[2537]! } + public var LogoutOptions_ContactSupportText: String { return self._s[2538]! } + public var Passport_Language_hr: String { return self._s[2539]! } + public var Common_ActionNotAllowedError: String { return self._s[2540]! } public func Channel_AdminLog_MessageRestrictedNewSetting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2523]!, self._r[2523]!, [_0]) + return formatWithArgumentRanges(self._s[2541]!, self._r[2541]!, [_0]) } - public var GroupInfo_InviteLink_CopyLink: String { return self._s[2524]! } - public var Conversation_InputTextBroadcastPlaceholder: String { return self._s[2525]! } - public var Privacy_SecretChatsTitle: String { return self._s[2526]! } - public var Notification_SecretChatMessageScreenshotSelf: String { return self._s[2528]! } - public var GroupInfo_AddUserLeftError: String { return self._s[2529]! } - public var AutoDownloadSettings_TypePrivateChats: String { return self._s[2530]! } - public var LogoutOptions_ContactSupportTitle: String { return self._s[2531]! } - public var Channel_AddBotErrorHaveRights: String { return self._s[2532]! } - public var Preview_DeleteGif: String { return self._s[2533]! } - public var GroupInfo_Permissions_Exceptions: String { return self._s[2534]! } - public var Group_ErrorNotMutualContact: String { return self._s[2535]! } - public var Notification_MessageLifetime5s: String { return self._s[2536]! } + public var GroupInfo_InviteLink_CopyLink: String { return self._s[2542]! } + public var Conversation_InputTextBroadcastPlaceholder: String { return self._s[2543]! } + public var Privacy_SecretChatsTitle: String { return self._s[2544]! } + public var Notification_SecretChatMessageScreenshotSelf: String { return self._s[2546]! } + public var GroupInfo_AddUserLeftError: String { return self._s[2547]! } + public var AutoDownloadSettings_TypePrivateChats: String { return self._s[2548]! } + public var LogoutOptions_ContactSupportTitle: String { return self._s[2549]! } + public var Channel_AddBotErrorHaveRights: String { return self._s[2550]! } + public var Preview_DeleteGif: String { return self._s[2551]! } + public var GroupInfo_Permissions_Exceptions: String { return self._s[2552]! } + public var Group_ErrorNotMutualContact: String { return self._s[2553]! } + public var Notification_MessageLifetime5s: String { return self._s[2554]! } public func Watch_LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2537]!, self._r[2537]!, [_0]) + return formatWithArgumentRanges(self._s[2555]!, self._r[2555]!, [_0]) } - public var VoiceOver_Chat_Video: String { return self._s[2538]! } - public var Channel_OwnershipTransfer_ErrorPublicChannelsTooMuch: String { return self._s[2540]! } - public var ReportSpam_DeleteThisChat: String { return self._s[2541]! } - public var Passport_Address_AddBankStatement: String { return self._s[2542]! } - public var Notification_CallIncoming: String { return self._s[2543]! } - public var Compose_NewGroupTitle: String { return self._s[2544]! } - public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2546]! } - public var Passport_Address_Postcode: String { return self._s[2548]! } + public var VoiceOver_Chat_Video: String { return self._s[2556]! } + public var Channel_OwnershipTransfer_ErrorPublicChannelsTooMuch: String { return self._s[2558]! } + public var ReportSpam_DeleteThisChat: String { return self._s[2559]! } + public var Passport_Address_AddBankStatement: String { return self._s[2560]! } + public var Notification_CallIncoming: String { return self._s[2561]! } + public var Compose_NewGroupTitle: String { return self._s[2562]! } + public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2564]! } + public var Passport_Address_Postcode: String { return self._s[2566]! } public func LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2549]!, self._r[2549]!, [_0]) + return formatWithArgumentRanges(self._s[2567]!, self._r[2567]!, [_0]) } - public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2550]! } - public var VoiceOver_Chat_YourMusic: String { return self._s[2551]! } - public var WallpaperColors_Title: String { return self._s[2552]! } - public var SocksProxySetup_ShareQRCodeInfo: String { return self._s[2553]! } - public var VoiceOver_MessageContextForward: String { return self._s[2554]! } - public var GroupPermission_Duration: String { return self._s[2555]! } + public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2568]! } + public var VoiceOver_Chat_YourMusic: String { return self._s[2569]! } + public var WallpaperColors_Title: String { return self._s[2570]! } + public var SocksProxySetup_ShareQRCodeInfo: String { return self._s[2571]! } + public var VoiceOver_MessageContextForward: String { return self._s[2572]! } + public var GroupPermission_Duration: String { return self._s[2573]! } public func Cache_Clear(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2556]!, self._r[2556]!, [_0]) + return formatWithArgumentRanges(self._s[2574]!, self._r[2574]!, [_0]) } - public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[2557]! } - public var Username_Placeholder: String { return self._s[2558]! } - public var CallFeedback_WhatWentWrong: String { return self._s[2559]! } - public var Passport_FieldAddressUploadHelp: String { return self._s[2560]! } - public var Permissions_NotificationsAllowInSettings_v0: String { return self._s[2561]! } + public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[2575]! } + public var Username_Placeholder: String { return self._s[2576]! } + public var CallFeedback_WhatWentWrong: String { return self._s[2577]! } + public var Passport_FieldAddressUploadHelp: String { return self._s[2578]! } + public var Permissions_NotificationsAllowInSettings_v0: String { return self._s[2579]! } public func Channel_AdminLog_MessageChangedUnlinkedChannel(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2563]!, self._r[2563]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2581]!, self._r[2581]!, [_1, _2]) } - public var Passport_PasswordDescription: String { return self._s[2564]! } - public var Channel_MessagePhotoUpdated: String { return self._s[2565]! } - public var MediaPicker_TapToUngroupDescription: String { return self._s[2566]! } - public var SettingsSearch_Synonyms_Notifications_BadgeCountUnreadMessages: String { return self._s[2567]! } - public var AttachmentMenu_PhotoOrVideo: String { return self._s[2568]! } - public var Conversation_ContextMenuMore: String { return self._s[2569]! } - public var Privacy_PaymentsClearInfo: String { return self._s[2570]! } - public var CallSettings_TabIcon: String { return self._s[2571]! } - public var KeyCommand_Find: String { return self._s[2572]! } - public var Appearance_ThemePreview_ChatList_7_Text: String { return self._s[2573]! } - public var EditTheme_Edit_Preview_IncomingText: String { return self._s[2574]! } - public var Message_PinnedGame: String { return self._s[2575]! } - public var VoiceOver_Chat_ForwardedFromYou: String { return self._s[2576]! } - public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[2578]! } - public var Login_CallRequestState2: String { return self._s[2580]! } - public var CheckoutInfo_ReceiverInfoNamePlaceholder: String { return self._s[2582]! } + public var Passport_PasswordDescription: String { return self._s[2582]! } + public var Channel_MessagePhotoUpdated: String { return self._s[2583]! } + public var MediaPicker_TapToUngroupDescription: String { return self._s[2584]! } + public var SettingsSearch_Synonyms_Notifications_BadgeCountUnreadMessages: String { return self._s[2585]! } + public var AttachmentMenu_PhotoOrVideo: String { return self._s[2586]! } + public var Conversation_ContextMenuMore: String { return self._s[2587]! } + public var Privacy_PaymentsClearInfo: String { return self._s[2588]! } + public var CallSettings_TabIcon: String { return self._s[2589]! } + public var KeyCommand_Find: String { return self._s[2590]! } + public var Appearance_ThemePreview_ChatList_7_Text: String { return self._s[2591]! } + public var EditTheme_Edit_Preview_IncomingText: String { return self._s[2592]! } + public var Message_PinnedGame: String { return self._s[2593]! } + public var VoiceOver_Chat_ForwardedFromYou: String { return self._s[2594]! } + public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[2596]! } + public var Login_CallRequestState2: String { return self._s[2598]! } + public var CheckoutInfo_ReceiverInfoNamePlaceholder: String { return self._s[2600]! } public func VoiceOver_Chat_PhotoFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2583]!, self._r[2583]!, [_0]) + return formatWithArgumentRanges(self._s[2601]!, self._r[2601]!, [_0]) } public func Checkout_PayPrice(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2585]!, self._r[2585]!, [_0]) + return formatWithArgumentRanges(self._s[2603]!, self._r[2603]!, [_0]) } - public var WallpaperPreview_Blurred: String { return self._s[2586]! } - public var Conversation_InstantPagePreview: String { return self._s[2587]! } + public var WallpaperPreview_Blurred: String { return self._s[2604]! } + public var Conversation_InstantPagePreview: String { return self._s[2605]! } public func DialogList_SingleUploadingVideoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2588]!, self._r[2588]!, [_0]) + return formatWithArgumentRanges(self._s[2606]!, self._r[2606]!, [_0]) } - public var SecretTimer_VideoDescription: String { return self._s[2591]! } - public var WallpaperSearch_ColorRed: String { return self._s[2592]! } - public var GroupPermission_NoPinMessages: String { return self._s[2593]! } - public var Passport_Language_es: String { return self._s[2594]! } - public var Permissions_ContactsAllow_v0: String { return self._s[2596]! } - public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[2597]! } + public var SecretTimer_VideoDescription: String { return self._s[2609]! } + public var WallpaperSearch_ColorRed: String { return self._s[2610]! } + public var GroupPermission_NoPinMessages: String { return self._s[2611]! } + public var Passport_Language_es: String { return self._s[2612]! } + public var Permissions_ContactsAllow_v0: String { return self._s[2614]! } + public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[2615]! } public func PUSH_CHAT_MESSAGE_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2598]!, self._r[2598]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2616]!, self._r[2616]!, [_1, _2]) } - public var Privacy_Forwards_CustomHelp: String { return self._s[2599]! } - public var WebPreview_GettingLinkInfo: String { return self._s[2600]! } - public var Watch_UserInfo_Unmute: String { return self._s[2601]! } - public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[2602]! } - public var AccessDenied_CameraRestricted: String { return self._s[2604]! } + public var Privacy_Forwards_CustomHelp: String { return self._s[2617]! } + public var WebPreview_GettingLinkInfo: String { return self._s[2618]! } + public var Watch_UserInfo_Unmute: String { return self._s[2619]! } + public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[2620]! } + public var AccessDenied_CameraRestricted: String { return self._s[2622]! } public func Conversation_Kilobytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2605]!, self._r[2605]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[2623]!, self._r[2623]!, ["\(_0)"]) } - public var ChatList_ReadAll: String { return self._s[2607]! } - public var Settings_CopyUsername: String { return self._s[2608]! } - public var Contacts_SearchLabel: String { return self._s[2609]! } - public var Map_OpenInYandexNavigator: String { return self._s[2611]! } - public var PasscodeSettings_EncryptData: String { return self._s[2612]! } - public var WallpaperSearch_ColorPrefix: String { return self._s[2613]! } - public var Notifications_GroupNotificationsPreview: String { return self._s[2614]! } - public var DialogList_AdNoticeAlert: String { return self._s[2615]! } - public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[2617]! } - public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2618]! } - public var Localization_LanguageCustom: String { return self._s[2619]! } - public var Passport_Identity_TypeDriversLicenseUploadScan: String { return self._s[2620]! } - public var CallFeedback_Title: String { return self._s[2621]! } - public var VoiceOver_Chat_RecordPreviewVoiceMessage: String { return self._s[2624]! } - public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2625]! } - public var Conversation_InfoGroup: String { return self._s[2626]! } - public var Compose_NewMessage: String { return self._s[2627]! } - public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2628]! } - public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2629]! } - public var Channel_DiscussionGroup_UnlinkChannel: String { return self._s[2630]! } + public var ChatList_ReadAll: String { return self._s[2625]! } + public var Settings_CopyUsername: String { return self._s[2626]! } + public var Contacts_SearchLabel: String { return self._s[2627]! } + public var Map_OpenInYandexNavigator: String { return self._s[2629]! } + public var PasscodeSettings_EncryptData: String { return self._s[2630]! } + public var WallpaperSearch_ColorPrefix: String { return self._s[2631]! } + public var Notifications_GroupNotificationsPreview: String { return self._s[2632]! } + public var DialogList_AdNoticeAlert: String { return self._s[2633]! } + public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[2635]! } + public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2636]! } + public var Localization_LanguageCustom: String { return self._s[2637]! } + public var Passport_Identity_TypeDriversLicenseUploadScan: String { return self._s[2638]! } + public var CallFeedback_Title: String { return self._s[2639]! } + public var VoiceOver_Chat_RecordPreviewVoiceMessage: String { return self._s[2642]! } + public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2643]! } + public var Conversation_InfoGroup: String { return self._s[2644]! } + public var Compose_NewMessage: String { return self._s[2645]! } + public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2646]! } + public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2647]! } + public var Channel_DiscussionGroup_UnlinkChannel: String { return self._s[2648]! } public func Passport_Scans_ScanIndex(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2631]!, self._r[2631]!, [_0]) + return formatWithArgumentRanges(self._s[2649]!, self._r[2649]!, [_0]) + } + public var Channel_AdminLog_CanDeleteMessages: String { return self._s[2650]! } + public var Login_CancelSignUpConfirmation: String { return self._s[2651]! } + public var ChangePhoneNumberCode_Help: String { return self._s[2652]! } + public var PrivacySettings_DeleteAccountHelp: String { return self._s[2653]! } + public var Channel_BlackList_Title: String { return self._s[2654]! } + public var UserInfo_PhoneCall: String { return self._s[2655]! } + public var Passport_Address_OneOfTypeBankStatement: String { return self._s[2657]! } + public var State_connecting: String { return self._s[2658]! } + public var Appearance_ThemePreview_ChatList_6_Text: String { return self._s[2659]! } + public var EditTheme_Expand_BottomInfo: String { return self._s[2660]! } + public func LastSeen_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2661]!, self._r[2661]!, [_0]) } - public var Channel_AdminLog_CanDeleteMessages: String { return self._s[2632]! } - public var Login_CancelSignUpConfirmation: String { return self._s[2633]! } - public var ChangePhoneNumberCode_Help: String { return self._s[2634]! } - public var PrivacySettings_DeleteAccountHelp: String { return self._s[2635]! } - public var Channel_BlackList_Title: String { return self._s[2636]! } - public var UserInfo_PhoneCall: String { return self._s[2637]! } - public var Passport_Address_OneOfTypeBankStatement: String { return self._s[2639]! } - public var State_connecting: String { return self._s[2640]! } - public var Appearance_ThemePreview_ChatList_6_Text: String { return self._s[2641]! } - public var EditTheme_Expand_BottomInfo: String { return self._s[2642]! } - public var Conversation_SendMessageErrorTooMuchScheduled: String { return self._s[2643]! } public func DialogList_SingleRecordingAudioSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2644]!, self._r[2644]!, [_0]) + return formatWithArgumentRanges(self._s[2662]!, self._r[2662]!, [_0]) } - public var Notifications_GroupNotifications: String { return self._s[2645]! } - public var Passport_Identity_EditPassport: String { return self._s[2646]! } - public var EnterPasscode_RepeatNewPasscode: String { return self._s[2648]! } - public var Localization_EnglishLanguageName: String { return self._s[2649]! } - public var Share_AuthDescription: String { return self._s[2650]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsAlert: String { return self._s[2651]! } - public var Passport_Identity_Surname: String { return self._s[2652]! } - public var Compose_TokenListPlaceholder: String { return self._s[2653]! } - public var Passport_Identity_OneOfTypePassport: String { return self._s[2654]! } - public var Settings_AboutEmpty: String { return self._s[2655]! } - public var Conversation_Unmute: String { return self._s[2656]! } - public var CreateGroup_ChannelsTooMuch: String { return self._s[2658]! } + public var Notifications_GroupNotifications: String { return self._s[2663]! } + public var Conversation_SendMessageErrorTooMuchScheduled: String { return self._s[2664]! } + public var Passport_Identity_EditPassport: String { return self._s[2665]! } + public var EnterPasscode_RepeatNewPasscode: String { return self._s[2667]! } + public var Localization_EnglishLanguageName: String { return self._s[2668]! } + public var Share_AuthDescription: String { return self._s[2669]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsAlert: String { return self._s[2670]! } + public var Passport_Identity_Surname: String { return self._s[2671]! } + public var Compose_TokenListPlaceholder: String { return self._s[2672]! } + public var Passport_Identity_OneOfTypePassport: String { return self._s[2673]! } + public var Settings_AboutEmpty: String { return self._s[2674]! } + public var Conversation_Unmute: String { return self._s[2675]! } + public var CreateGroup_ChannelsTooMuch: String { return self._s[2677]! } public func PUSH_CONTACT_JOINED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2659]!, self._r[2659]!, [_1]) + return formatWithArgumentRanges(self._s[2678]!, self._r[2678]!, [_1]) } - public var Login_CodeSentCall: String { return self._s[2660]! } - public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2662]! } - public var ChatSettings_Appearance: String { return self._s[2663]! } - public var Appearance_PickAccentColor: String { return self._s[2664]! } + public var Login_CodeSentCall: String { return self._s[2679]! } + public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2681]! } + public var ChatSettings_Appearance: String { return self._s[2682]! } + public var Appearance_PickAccentColor: String { return self._s[2683]! } public func PUSH_CHAT_MESSAGE_NOTEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2665]!, self._r[2665]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2684]!, self._r[2684]!, [_1, _2]) } public func PUSH_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2666]!, self._r[2666]!, [_1]) + return formatWithArgumentRanges(self._s[2685]!, self._r[2685]!, [_1]) } - public var Notification_CallMissed: String { return self._s[2667]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground_Custom: String { return self._s[2668]! } - public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2669]! } - public var ChatAdmins_AdminLabel: String { return self._s[2671]! } - public var KeyCommand_JumpToNextChat: String { return self._s[2672]! } - public var Conversation_StopPollConfirmationTitle: String { return self._s[2674]! } - public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2675]! } - public var Month_GenJune: String { return self._s[2676]! } - public var Watch_Location_Current: String { return self._s[2677]! } - public var Conversation_TitleMute: String { return self._s[2678]! } + public var Notification_CallMissed: String { return self._s[2686]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground_Custom: String { return self._s[2687]! } + public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2688]! } + public var ChatAdmins_AdminLabel: String { return self._s[2690]! } + public var KeyCommand_JumpToNextChat: String { return self._s[2691]! } + public var Conversation_StopPollConfirmationTitle: String { return self._s[2693]! } + public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2694]! } + public var Month_GenJune: String { return self._s[2695]! } + public var Watch_Location_Current: String { return self._s[2696]! } + public var Conversation_TitleMute: String { return self._s[2697]! } public func PUSH_CHANNEL_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2679]!, self._r[2679]!, [_1]) + return formatWithArgumentRanges(self._s[2698]!, self._r[2698]!, [_1]) } - public var GroupInfo_DeleteAndExit: String { return self._s[2680]! } + public var GroupInfo_DeleteAndExit: String { return self._s[2699]! } public func Conversation_Moderate_DeleteAllMessages(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2681]!, self._r[2681]!, [_0]) + return formatWithArgumentRanges(self._s[2700]!, self._r[2700]!, [_0]) } - public var Call_ReportPlaceholder: String { return self._s[2682]! } - public var Chat_SlowmodeSendError: String { return self._s[2683]! } - public var MaskStickerSettings_Info: String { return self._s[2684]! } - public var EditTheme_Expand_TopInfo: String { return self._s[2685]! } + public var Call_ReportPlaceholder: String { return self._s[2701]! } + public var Chat_SlowmodeSendError: String { return self._s[2702]! } + public var MaskStickerSettings_Info: String { return self._s[2703]! } + public var EditTheme_Expand_TopInfo: String { return self._s[2704]! } public func GroupInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2686]!, self._r[2686]!, [_0]) + return formatWithArgumentRanges(self._s[2705]!, self._r[2705]!, [_0]) } - public var Checkout_NewCard_PostcodeTitle: String { return self._s[2687]! } - public var Passport_Address_RegionPlaceholder: String { return self._s[2689]! } - public var Contacts_ShareTelegram: String { return self._s[2690]! } - public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[2691]! } - public var Channel_ErrorAccessDenied: String { return self._s[2692]! } - public var UserInfo_ScamBotWarning: String { return self._s[2694]! } - public var Stickers_GroupChooseStickerPack: String { return self._s[2695]! } - public var Call_ConnectionErrorTitle: String { return self._s[2696]! } - public var UserInfo_NotificationsEnable: String { return self._s[2697]! } - public var ArchivedChats_IntroText1: String { return self._s[2698]! } - public var Tour_Text4: String { return self._s[2701]! } - public var WallpaperSearch_Recent: String { return self._s[2702]! } - public var GroupInfo_ScamGroupWarning: String { return self._s[2703]! } - public var Profile_MessageLifetime2s: String { return self._s[2705]! } - public var Appearance_ThemePreview_ChatList_5_Text: String { return self._s[2706]! } - public var Notification_MessageLifetime2s: String { return self._s[2707]! } + public var Checkout_NewCard_PostcodeTitle: String { return self._s[2706]! } + public var Passport_Address_RegionPlaceholder: String { return self._s[2708]! } + public var Contacts_ShareTelegram: String { return self._s[2709]! } + public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[2710]! } + public var Channel_ErrorAccessDenied: String { return self._s[2711]! } + public var UserInfo_ScamBotWarning: String { return self._s[2713]! } + public var Stickers_GroupChooseStickerPack: String { return self._s[2714]! } + public var Call_ConnectionErrorTitle: String { return self._s[2715]! } + public var UserInfo_NotificationsEnable: String { return self._s[2716]! } + public var ArchivedChats_IntroText1: String { return self._s[2717]! } + public var Tour_Text4: String { return self._s[2720]! } + public var WallpaperSearch_Recent: String { return self._s[2721]! } + public var GroupInfo_ScamGroupWarning: String { return self._s[2722]! } + public var Profile_MessageLifetime2s: String { return self._s[2724]! } + public var Appearance_ThemePreview_ChatList_5_Text: String { return self._s[2725]! } + public var Notification_MessageLifetime2s: String { return self._s[2726]! } public func Time_PreciseDate_m10(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2708]!, self._r[2708]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2727]!, self._r[2727]!, [_1, _2, _3]) } - public var Cache_ClearCache: String { return self._s[2709]! } - public var AutoNightTheme_UpdateLocation: String { return self._s[2710]! } - public var Permissions_NotificationsUnreachableText_v0: String { return self._s[2711]! } + public var Cache_ClearCache: String { return self._s[2728]! } + public var AutoNightTheme_UpdateLocation: String { return self._s[2729]! } + public var Permissions_NotificationsUnreachableText_v0: String { return self._s[2730]! } public func Channel_AdminLog_MessageChangedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2715]!, self._r[2715]!, [_0]) + return formatWithArgumentRanges(self._s[2734]!, self._r[2734]!, [_0]) } public func Conversation_ShareMyPhoneNumber_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2717]!, self._r[2717]!, [_0]) + return formatWithArgumentRanges(self._s[2736]!, self._r[2736]!, [_0]) } - public var LocalGroup_Text: String { return self._s[2718]! } - public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2719]! } - public var SocksProxySetup_TypeSocks: String { return self._s[2720]! } - public var ChatList_UnarchiveAction: String { return self._s[2721]! } - public var AutoNightTheme_Title: String { return self._s[2722]! } - public var InstantPage_FeedbackButton: String { return self._s[2723]! } - public var Passport_FieldAddress: String { return self._s[2724]! } + public var LocalGroup_Text: String { return self._s[2737]! } + public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2738]! } + public var SocksProxySetup_TypeSocks: String { return self._s[2739]! } + public var ChatList_UnarchiveAction: String { return self._s[2740]! } + public var AutoNightTheme_Title: String { return self._s[2741]! } + public var InstantPage_FeedbackButton: String { return self._s[2742]! } + public var Passport_FieldAddress: String { return self._s[2743]! } public func Channel_AdminLog_SetSlowmode(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2725]!, self._r[2725]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2744]!, self._r[2744]!, [_1, _2]) } - public var Month_ShortMarch: String { return self._s[2726]! } + public var Month_ShortMarch: String { return self._s[2745]! } public func PUSH_MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2727]!, self._r[2727]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2746]!, self._r[2746]!, [_1, _2]) } - public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2728]! } - public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2729]! } - public var Passport_FloodError: String { return self._s[2730]! } - public var SecretGif_Title: String { return self._s[2731]! } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2732]! } - public var Passport_Language_th: String { return self._s[2734]! } - public var Passport_Address_Address: String { return self._s[2735]! } - public var Login_InvalidLastNameError: String { return self._s[2736]! } - public var Notifications_InAppNotificationsPreview: String { return self._s[2737]! } - public var Notifications_PermissionsUnreachableTitle: String { return self._s[2738]! } - public var SettingsSearch_FAQ: String { return self._s[2739]! } - public var ShareMenu_Send: String { return self._s[2740]! } - public var WallpaperSearch_ColorYellow: String { return self._s[2742]! } - public var Month_GenNovember: String { return self._s[2744]! } - public var SettingsSearch_Synonyms_Appearance_LargeEmoji: String { return self._s[2746]! } + public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2747]! } + public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2748]! } + public var Passport_FloodError: String { return self._s[2749]! } + public var SecretGif_Title: String { return self._s[2750]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2751]! } + public var ChatList_Context_UnhideArchive: String { return self._s[2752]! } + public var Passport_Language_th: String { return self._s[2754]! } + public var Passport_Address_Address: String { return self._s[2755]! } + public var Login_InvalidLastNameError: String { return self._s[2756]! } + public var Notifications_InAppNotificationsPreview: String { return self._s[2757]! } + public var Notifications_PermissionsUnreachableTitle: String { return self._s[2758]! } + public var ChatList_Context_Archive: String { return self._s[2759]! } + public var SettingsSearch_FAQ: String { return self._s[2760]! } + public var ShareMenu_Send: String { return self._s[2761]! } + public var WallpaperSearch_ColorYellow: String { return self._s[2763]! } + public var Month_GenNovember: String { return self._s[2765]! } + public var SettingsSearch_Synonyms_Appearance_LargeEmoji: String { return self._s[2767]! } public func Conversation_ShareMyPhoneNumberConfirmation(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2747]!, self._r[2747]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2768]!, self._r[2768]!, [_1, _2]) } - public var Checkout_Email: String { return self._s[2748]! } - public var NotificationsSound_Tritone: String { return self._s[2749]! } - public var StickerPacksSettings_ManagingHelp: String { return self._s[2751]! } + public var Checkout_Email: String { return self._s[2769]! } + public var NotificationsSound_Tritone: String { return self._s[2770]! } + public var StickerPacksSettings_ManagingHelp: String { return self._s[2772]! } public func PUSH_PINNED_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2754]!, self._r[2754]!, [_1]) + return formatWithArgumentRanges(self._s[2775]!, self._r[2775]!, [_1]) } - public var ChangePhoneNumberNumber_Help: String { return self._s[2755]! } + public var ChangePhoneNumberNumber_Help: String { return self._s[2776]! } public func Checkout_LiabilityAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2756]!, self._r[2756]!, [_1, _1, _1, _2]) + return formatWithArgumentRanges(self._s[2777]!, self._r[2777]!, [_1, _1, _1, _2]) } - public var ChatList_UndoArchiveTitle: String { return self._s[2757]! } - public var Notification_Exceptions_Add: String { return self._s[2758]! } - public var DialogList_You: String { return self._s[2759]! } - public var MediaPicker_Send: String { return self._s[2762]! } - public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2763]! } - public var Appearance_ThemePreview_ChatList_4_Text: String { return self._s[2764]! } - public var Call_AudioRouteSpeaker: String { return self._s[2765]! } - public var Watch_UserInfo_Title: String { return self._s[2766]! } - public var VoiceOver_Chat_PollFinalResults: String { return self._s[2767]! } - public var Appearance_AccentColor: String { return self._s[2768]! } + public var ChatList_UndoArchiveTitle: String { return self._s[2778]! } + public var Notification_Exceptions_Add: String { return self._s[2779]! } + public var DialogList_You: String { return self._s[2780]! } + public var MediaPicker_Send: String { return self._s[2783]! } + public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2784]! } + public var Appearance_ThemePreview_ChatList_4_Text: String { return self._s[2785]! } + public var Call_AudioRouteSpeaker: String { return self._s[2786]! } + public var Watch_UserInfo_Title: String { return self._s[2787]! } + public var VoiceOver_Chat_PollFinalResults: String { return self._s[2788]! } + public var Appearance_AccentColor: String { return self._s[2789]! } public func Login_EmailPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2769]!, self._r[2769]!, [_0]) + return formatWithArgumentRanges(self._s[2790]!, self._r[2790]!, [_0]) } - public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2770]! } + public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2791]! } public func PUSH_CHANNEL_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2771]!, self._r[2771]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2792]!, self._r[2792]!, [_1, _2]) } - public var Conversation_ClousStorageInfo_Description2: String { return self._s[2772]! } - public var WebSearch_RecentClearConfirmation: String { return self._s[2773]! } - public var Notification_CallOutgoing: String { return self._s[2774]! } - public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2775]! } - public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[2776]! } - public var Call_RecordingDisabledMessage: String { return self._s[2777]! } - public var Message_Game: String { return self._s[2778]! } - public var Conversation_PressVolumeButtonForSound: String { return self._s[2779]! } - public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2780]! } - public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[2781]! } - public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2782]! } - public var Date_DialogDateFormat: String { return self._s[2783]! } - public var WallpaperColors_SetCustomColor: String { return self._s[2784]! } - public var Notifications_InAppNotifications: String { return self._s[2785]! } + public var Conversation_ClousStorageInfo_Description2: String { return self._s[2793]! } + public var WebSearch_RecentClearConfirmation: String { return self._s[2794]! } + public var Notification_CallOutgoing: String { return self._s[2795]! } + public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2796]! } + public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[2797]! } + public var Call_RecordingDisabledMessage: String { return self._s[2798]! } + public var Message_Game: String { return self._s[2799]! } + public var Conversation_PressVolumeButtonForSound: String { return self._s[2800]! } + public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2801]! } + public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[2802]! } + public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2803]! } + public var Date_DialogDateFormat: String { return self._s[2804]! } + public var WallpaperColors_SetCustomColor: String { return self._s[2805]! } + public var Notifications_InAppNotifications: String { return self._s[2806]! } public func Channel_Management_RemovedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2786]!, self._r[2786]!, [_0]) + return formatWithArgumentRanges(self._s[2807]!, self._r[2807]!, [_0]) } public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2787]!, self._r[2787]!, [_1, _2]) - } - public var NewContact_Title: String { return self._s[2788]! } - public func AutoDownloadSettings_UpToForAll(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2789]!, self._r[2789]!, [_0]) - } - public var Conversation_ViewContactDetails: String { return self._s[2790]! } - public func PUSH_CHANNEL_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2792]!, self._r[2792]!, [_1]) - } - public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2793]! } - public var Passport_Identity_ExpiryDateNone: String { return self._s[2794]! } - public var PrivacySettings_Title: String { return self._s[2795]! } - public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2798]! } - public var GroupRemoved_UsersSectionTitle: String { return self._s[2799]! } - public var VoiceOver_Chat_ContactEmail: String { return self._s[2800]! } - public var Contacts_PhoneNumber: String { return self._s[2801]! } - public var Map_ShowPlaces: String { return self._s[2803]! } - public var ChatAdmins_Title: String { return self._s[2804]! } - public var InstantPage_Reference: String { return self._s[2806]! } - public var ReportGroupLocation_Text: String { return self._s[2807]! } - public func PUSH_CHAT_MESSAGE_FWD(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2808]!, self._r[2808]!, [_1, _2]) } - public var Camera_FlashOff: String { return self._s[2809]! } - public var Watch_UserInfo_Block: String { return self._s[2810]! } - public var ChatSettings_Stickers: String { return self._s[2811]! } - public var ChatSettings_DownloadInBackground: String { return self._s[2812]! } - public var Appearance_ThemeCarouselTintedNight: String { return self._s[2813]! } + public var NewContact_Title: String { return self._s[2809]! } + public func AutoDownloadSettings_UpToForAll(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2810]!, self._r[2810]!, [_0]) + } + public var Conversation_ViewContactDetails: String { return self._s[2811]! } + public func PUSH_CHANNEL_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2813]!, self._r[2813]!, [_1]) + } + public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2814]! } + public var Passport_Identity_ExpiryDateNone: String { return self._s[2815]! } + public var PrivacySettings_Title: String { return self._s[2816]! } + public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2819]! } + public var GroupRemoved_UsersSectionTitle: String { return self._s[2820]! } + public var VoiceOver_Chat_ContactEmail: String { return self._s[2821]! } + public var Contacts_PhoneNumber: String { return self._s[2822]! } + public var Map_ShowPlaces: String { return self._s[2824]! } + public var ChatAdmins_Title: String { return self._s[2825]! } + public var InstantPage_Reference: String { return self._s[2827]! } + public var ReportGroupLocation_Text: String { return self._s[2828]! } + public func PUSH_CHAT_MESSAGE_FWD(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2829]!, self._r[2829]!, [_1, _2]) + } + public var Camera_FlashOff: String { return self._s[2830]! } + public var Watch_UserInfo_Block: String { return self._s[2831]! } + public var ChatSettings_Stickers: String { return self._s[2832]! } + public var ChatSettings_DownloadInBackground: String { return self._s[2833]! } + public var Appearance_ThemeCarouselTintedNight: String { return self._s[2834]! } public func UserInfo_BlockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2814]!, self._r[2814]!, [_0]) + return formatWithArgumentRanges(self._s[2835]!, self._r[2835]!, [_0]) } - public var Settings_ViewPhoto: String { return self._s[2815]! } - public var Login_CheckOtherSessionMessages: String { return self._s[2816]! } - public var AutoDownloadSettings_Cellular: String { return self._s[2817]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2818]! } - public var VoiceOver_MessageContextShare: String { return self._s[2819]! } + public var Settings_ViewPhoto: String { return self._s[2836]! } + public var Login_CheckOtherSessionMessages: String { return self._s[2837]! } + public var AutoDownloadSettings_Cellular: String { return self._s[2838]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2839]! } + public var VoiceOver_MessageContextShare: String { return self._s[2840]! } public func Target_InviteToGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2821]!, self._r[2821]!, [_0]) + return formatWithArgumentRanges(self._s[2842]!, self._r[2842]!, [_0]) } - public var Privacy_DeleteDrafts: String { return self._s[2822]! } - public var Wallpaper_SetCustomBackgroundInfo: String { return self._s[2823]! } + public var Privacy_DeleteDrafts: String { return self._s[2843]! } + public var Wallpaper_SetCustomBackgroundInfo: String { return self._s[2844]! } public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2824]!, self._r[2824]!, [_0]) + return formatWithArgumentRanges(self._s[2845]!, self._r[2845]!, [_0]) } - public var DialogList_SavedMessagesHelp: String { return self._s[2825]! } - public var DialogList_SavedMessages: String { return self._s[2826]! } - public var GroupInfo_UpgradeButton: String { return self._s[2827]! } - public var Appearance_ThemePreview_ChatList_3_Text: String { return self._s[2829]! } - public var DialogList_Pin: String { return self._s[2830]! } + public var DialogList_SavedMessagesHelp: String { return self._s[2846]! } + public var DialogList_SavedMessages: String { return self._s[2847]! } + public var GroupInfo_UpgradeButton: String { return self._s[2848]! } + public var Appearance_ThemePreview_ChatList_3_Text: String { return self._s[2850]! } + public var DialogList_Pin: String { return self._s[2851]! } public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2831]!, self._r[2831]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2852]!, self._r[2852]!, [_0, _1]) } public func Login_PhoneGenericEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2832]!, self._r[2832]!, [_0]) + return formatWithArgumentRanges(self._s[2853]!, self._r[2853]!, [_0]) } - public var Notification_Exceptions_AlwaysOn: String { return self._s[2833]! } - public var UserInfo_NotificationsDisable: String { return self._s[2834]! } - public var Paint_Outlined: String { return self._s[2835]! } - public var Activity_PlayingGame: String { return self._s[2836]! } - public var SearchImages_NoImagesFound: String { return self._s[2837]! } - public var SocksProxySetup_ProxyType: String { return self._s[2838]! } - public var AppleWatch_ReplyPresetsHelp: String { return self._s[2840]! } - public var Conversation_ContextMenuCancelSending: String { return self._s[2841]! } - public var Settings_AppLanguage: String { return self._s[2842]! } - public var TwoStepAuth_ResetAccountHelp: String { return self._s[2843]! } - public var Common_ChoosePhoto: String { return self._s[2844]! } - public var CallFeedback_ReasonEcho: String { return self._s[2845]! } + public var Notification_Exceptions_AlwaysOn: String { return self._s[2854]! } + public var UserInfo_NotificationsDisable: String { return self._s[2855]! } + public var Paint_Outlined: String { return self._s[2856]! } + public var Activity_PlayingGame: String { return self._s[2857]! } + public var SearchImages_NoImagesFound: String { return self._s[2858]! } + public var SocksProxySetup_ProxyType: String { return self._s[2859]! } + public var AppleWatch_ReplyPresetsHelp: String { return self._s[2861]! } + public var Conversation_ContextMenuCancelSending: String { return self._s[2862]! } + public var Settings_AppLanguage: String { return self._s[2863]! } + public var TwoStepAuth_ResetAccountHelp: String { return self._s[2864]! } + public var Common_ChoosePhoto: String { return self._s[2865]! } + public var CallFeedback_ReasonEcho: String { return self._s[2866]! } public func PUSH_PINNED_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2846]!, self._r[2846]!, [_1]) + return formatWithArgumentRanges(self._s[2867]!, self._r[2867]!, [_1]) } - public var Privacy_Calls_AlwaysAllow: String { return self._s[2847]! } - public var Activity_UploadingVideo: String { return self._s[2848]! } - public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2849]! } - public var NetworkUsageSettings_Wifi: String { return self._s[2850]! } - public var VoiceOver_Editing_ClearText: String { return self._s[2851]! } - public var Channel_BanUser_PermissionReadMessages: String { return self._s[2852]! } - public var Checkout_PayWithTouchId: String { return self._s[2853]! } - public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2854]! } + public var Privacy_Calls_AlwaysAllow: String { return self._s[2868]! } + public var Activity_UploadingVideo: String { return self._s[2869]! } + public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2870]! } + public var NetworkUsageSettings_Wifi: String { return self._s[2871]! } + public var VoiceOver_Editing_ClearText: String { return self._s[2872]! } + public var PUSH_SENDER_YOU: String { return self._s[2873]! } + public var Channel_BanUser_PermissionReadMessages: String { return self._s[2874]! } + public var Checkout_PayWithTouchId: String { return self._s[2875]! } + public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2876]! } public func PUSH_LOCKED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2856]!, self._r[2856]!, [_1]) + return formatWithArgumentRanges(self._s[2878]!, self._r[2878]!, [_1]) } - public var Notifications_ExceptionsNone: String { return self._s[2857]! } + public var Notifications_ExceptionsNone: String { return self._s[2879]! } public func Message_ForwardedMessageShort(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2858]!, self._r[2858]!, [_0]) + return formatWithArgumentRanges(self._s[2880]!, self._r[2880]!, [_0]) } public func PUSH_PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2859]!, self._r[2859]!, [_1]) + return formatWithArgumentRanges(self._s[2881]!, self._r[2881]!, [_1]) } - public var AuthSessions_IncompleteAttempts: String { return self._s[2861]! } - public var Passport_Address_Region: String { return self._s[2864]! } - public var ChatList_DeleteChat: String { return self._s[2865]! } - public var LogoutOptions_ClearCacheTitle: String { return self._s[2866]! } - public var PhotoEditor_TiltShift: String { return self._s[2867]! } - public var Settings_FAQ_URL: String { return self._s[2868]! } - public var Passport_Language_sl: String { return self._s[2869]! } - public var Settings_PrivacySettings: String { return self._s[2871]! } - public var SharedMedia_TitleLink: String { return self._s[2872]! } - public var Passport_Identity_TypePassportUploadScan: String { return self._s[2873]! } - public var Settings_SetProfilePhoto: String { return self._s[2874]! } - public var Channel_About_Help: String { return self._s[2875]! } - public var Contacts_PermissionsEnable: String { return self._s[2876]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsAlert: String { return self._s[2877]! } - public var AttachmentMenu_SendAsFiles: String { return self._s[2878]! } - public var CallFeedback_ReasonInterruption: String { return self._s[2880]! } - public var Passport_Address_AddTemporaryRegistration: String { return self._s[2881]! } - public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[2882]! } - public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[2883]! } - public var PrivacySettings_DeleteAccountTitle: String { return self._s[2884]! } - public var AccessDenied_VideoMessageCamera: String { return self._s[2886]! } - public var Map_OpenInYandexMaps: String { return self._s[2888]! } - public var CreateGroup_ErrorLocatedGroupsTooMuch: String { return self._s[2889]! } - public var VoiceOver_MessageContextReply: String { return self._s[2890]! } - public var PhotoEditor_SaturationTool: String { return self._s[2891]! } + public var AuthSessions_IncompleteAttempts: String { return self._s[2883]! } + public var Passport_Address_Region: String { return self._s[2886]! } + public var ChatList_DeleteChat: String { return self._s[2887]! } + public var LogoutOptions_ClearCacheTitle: String { return self._s[2888]! } + public var PhotoEditor_TiltShift: String { return self._s[2889]! } + public var Settings_FAQ_URL: String { return self._s[2890]! } + public var Passport_Language_sl: String { return self._s[2891]! } + public var Settings_PrivacySettings: String { return self._s[2893]! } + public var SharedMedia_TitleLink: String { return self._s[2894]! } + public var Passport_Identity_TypePassportUploadScan: String { return self._s[2895]! } + public var Settings_SetProfilePhoto: String { return self._s[2896]! } + public var Channel_About_Help: String { return self._s[2897]! } + public var Contacts_PermissionsEnable: String { return self._s[2898]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsAlert: String { return self._s[2899]! } + public var AttachmentMenu_SendAsFiles: String { return self._s[2900]! } + public var CallFeedback_ReasonInterruption: String { return self._s[2902]! } + public var Passport_Address_AddTemporaryRegistration: String { return self._s[2903]! } + public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[2904]! } + public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[2905]! } + public var PrivacySettings_DeleteAccountTitle: String { return self._s[2906]! } + public var AccessDenied_VideoMessageCamera: String { return self._s[2908]! } + public var Map_OpenInYandexMaps: String { return self._s[2910]! } + public var CreateGroup_ErrorLocatedGroupsTooMuch: String { return self._s[2911]! } + public var VoiceOver_MessageContextReply: String { return self._s[2912]! } + public var PhotoEditor_SaturationTool: String { return self._s[2913]! } public func PUSH_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2892]!, self._r[2892]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2914]!, self._r[2914]!, [_1, _2]) } - public var PrivacyPhoneNumberSettings_CustomHelp: String { return self._s[2893]! } - public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2894]! } - public var Group_OwnershipTransfer_ErrorLocatedGroupsTooMuch: String { return self._s[2895]! } - public var Appearance_TextSize: String { return self._s[2896]! } + public var PrivacyPhoneNumberSettings_CustomHelp: String { return self._s[2915]! } + public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2916]! } + public var Group_OwnershipTransfer_ErrorLocatedGroupsTooMuch: String { return self._s[2917]! } + public var Appearance_TextSize: String { return self._s[2918]! } public func LOCAL_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2897]!, self._r[2897]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[2919]!, self._r[2919]!, [_1, "\(_2)"]) } - public var Appearance_ThemePreview_ChatList_2_Text: String { return self._s[2898]! } - public var Channel_Username_InvalidTooShort: String { return self._s[2900]! } + public var Appearance_ThemePreview_ChatList_2_Text: String { return self._s[2920]! } + public var Channel_Username_InvalidTooShort: String { return self._s[2922]! } public func Group_OwnershipTransfer_DescriptionInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2901]!, self._r[2901]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2923]!, self._r[2923]!, [_1, _2]) } public func PUSH_CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2902]!, self._r[2902]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2924]!, self._r[2924]!, [_1, _2, _3]) } - public var GroupInfo_PublicLinkAdd: String { return self._s[2903]! } - public var Passport_PassportInformation: String { return self._s[2906]! } - public var Theme_Unsupported: String { return self._s[2907]! } - public var WatchRemote_AlertTitle: String { return self._s[2908]! } - public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2909]! } - public var ConvertToSupergroup_HelpText: String { return self._s[2911]! } + public var GroupInfo_PublicLinkAdd: String { return self._s[2925]! } + public var Passport_PassportInformation: String { return self._s[2928]! } + public var Theme_Unsupported: String { return self._s[2929]! } + public var WatchRemote_AlertTitle: String { return self._s[2930]! } + public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2931]! } + public var ConvertToSupergroup_HelpText: String { return self._s[2933]! } public func Time_MonthOfYear_m7(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2912]!, self._r[2912]!, [_0]) + return formatWithArgumentRanges(self._s[2934]!, self._r[2934]!, [_0]) } public func PUSH_PHONE_CALL_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2913]!, self._r[2913]!, [_1]) + return formatWithArgumentRanges(self._s[2935]!, self._r[2935]!, [_1]) } - public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2914]! } - public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2916]! } - public var AccessDenied_CameraDisabled: String { return self._s[2917]! } + public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2936]! } + public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2938]! } + public var AccessDenied_CameraDisabled: String { return self._s[2939]! } public func Channel_Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2918]!, self._r[2918]!, [_0]) + return formatWithArgumentRanges(self._s[2940]!, self._r[2940]!, [_0]) } - public var PhotoEditor_ContrastTool: String { return self._s[2921]! } + public var PhotoEditor_ContrastTool: String { return self._s[2943]! } public func PUSH_PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2922]!, self._r[2922]!, [_1]) + return formatWithArgumentRanges(self._s[2944]!, self._r[2944]!, [_1]) } - public var DialogList_Draft: String { return self._s[2923]! } - public var Privacy_TopPeersDelete: String { return self._s[2925]! } - public var LoginPassword_PasswordPlaceholder: String { return self._s[2926]! } - public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2927]! } - public var WebSearch_RecentSectionClear: String { return self._s[2928]! } - public var Watch_ChatList_NoConversationsTitle: String { return self._s[2930]! } - public var Common_Done: String { return self._s[2932]! } - public var AuthSessions_EmptyText: String { return self._s[2933]! } - public var Conversation_ShareBotContactConfirmation: String { return self._s[2934]! } - public var Tour_Title5: String { return self._s[2935]! } + public var DialogList_Draft: String { return self._s[2945]! } + public var Privacy_TopPeersDelete: String { return self._s[2947]! } + public var LoginPassword_PasswordPlaceholder: String { return self._s[2948]! } + public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2949]! } + public var WebSearch_RecentSectionClear: String { return self._s[2950]! } + public var EditTheme_ErrorInvalidCharacters: String { return self._s[2951]! } + public var Watch_ChatList_NoConversationsTitle: String { return self._s[2953]! } + public var Common_Done: String { return self._s[2955]! } + public var AuthSessions_EmptyText: String { return self._s[2956]! } + public var Conversation_ShareBotContactConfirmation: String { return self._s[2957]! } + public var Tour_Title5: String { return self._s[2958]! } public func Map_DirectionsDriveEta(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2936]!, self._r[2936]!, [_0]) + return formatWithArgumentRanges(self._s[2959]!, self._r[2959]!, [_0]) } - public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2937]! } - public var Conversation_LinkDialogSave: String { return self._s[2938]! } - public var GroupInfo_ActionRestrict: String { return self._s[2939]! } - public var Checkout_Title: String { return self._s[2940]! } - public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[2942]! } - public var Channel_AdminLog_CanChangeInfo: String { return self._s[2944]! } - public var Notification_RenamedGroup: String { return self._s[2945]! } - public var PeopleNearby_Groups: String { return self._s[2946]! } - public var Checkout_PayWithFaceId: String { return self._s[2947]! } - public var Channel_BanList_BlockedTitle: String { return self._s[2948]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2950]! } - public var Checkout_WebConfirmation_Title: String { return self._s[2951]! } - public var Notifications_MessageNotificationsAlert: String { return self._s[2952]! } + public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2960]! } + public var Conversation_LinkDialogSave: String { return self._s[2961]! } + public var GroupInfo_ActionRestrict: String { return self._s[2962]! } + public var Checkout_Title: String { return self._s[2963]! } + public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[2965]! } + public var Channel_AdminLog_CanChangeInfo: String { return self._s[2967]! } + public var Notification_RenamedGroup: String { return self._s[2968]! } + public var PeopleNearby_Groups: String { return self._s[2969]! } + public var Checkout_PayWithFaceId: String { return self._s[2970]! } + public var Channel_BanList_BlockedTitle: String { return self._s[2971]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2973]! } + public var Checkout_WebConfirmation_Title: String { return self._s[2974]! } + public var Notifications_MessageNotificationsAlert: String { return self._s[2975]! } public func Activity_RemindAboutGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2953]!, self._r[2953]!, [_0]) + return formatWithArgumentRanges(self._s[2976]!, self._r[2976]!, [_0]) } - public var Profile_AddToExisting: String { return self._s[2955]! } + public var Profile_AddToExisting: String { return self._s[2978]! } public func Profile_CreateEncryptedChatOutdatedError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2956]!, self._r[2956]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2979]!, self._r[2979]!, [_0, _1]) } - public var Cache_Files: String { return self._s[2958]! } - public var Permissions_PrivacyPolicy: String { return self._s[2959]! } - public var SocksProxySetup_ConnectAndSave: String { return self._s[2960]! } - public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2961]! } - public var AutoDownloadSettings_TypeContacts: String { return self._s[2963]! } - public var Appearance_ThemePreview_ChatList_1_Text: String { return self._s[2965]! } - public var Calls_NoCallsPlaceholder: String { return self._s[2966]! } - public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2967]! } - public var VoiceOver_AttachMedia: String { return self._s[2969]! } - public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2970]! } + public var Cache_Files: String { return self._s[2981]! } + public var Permissions_PrivacyPolicy: String { return self._s[2982]! } + public var SocksProxySetup_ConnectAndSave: String { return self._s[2983]! } + public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2984]! } + public var AutoDownloadSettings_TypeContacts: String { return self._s[2986]! } + public var Appearance_ThemePreview_ChatList_1_Text: String { return self._s[2988]! } + public var Calls_NoCallsPlaceholder: String { return self._s[2989]! } + public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2990]! } + public var VoiceOver_AttachMedia: String { return self._s[2992]! } + public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2993]! } public func PUSH_CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2971]!, self._r[2971]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2994]!, self._r[2994]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2972]! } - public var Conversation_SetReminder_Title: String { return self._s[2973]! } - public var Passport_FieldAddressHelp: String { return self._s[2974]! } - public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2975]! } - public var PUSH_REMINDER_TITLE: String { return self._s[2976]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2995]! } + public var Conversation_SetReminder_Title: String { return self._s[2996]! } + public var Passport_FieldAddressHelp: String { return self._s[2997]! } + public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2998]! } + public var PUSH_REMINDER_TITLE: String { return self._s[2999]! } public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2977]!, self._r[2977]!, [_0]) + return formatWithArgumentRanges(self._s[3000]!, self._r[3000]!, [_0]) } - public var Channel_AdminLog_EmptyTitle: String { return self._s[2978]! } - public var Privacy_Calls_NeverAllow_Title: String { return self._s[2979]! } - public var Login_UnknownError: String { return self._s[2980]! } - public var Group_UpgradeNoticeText2: String { return self._s[2983]! } - public var Watch_Compose_AddContact: String { return self._s[2984]! } - public var Web_Error: String { return self._s[2985]! } - public var Gif_Search: String { return self._s[2986]! } - public var Profile_MessageLifetime1h: String { return self._s[2987]! } - public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2988]! } - public var Channel_Username_CheckingUsername: String { return self._s[2989]! } - public var CallFeedback_ReasonSilentRemote: String { return self._s[2990]! } - public var AutoDownloadSettings_TypeChannels: String { return self._s[2991]! } - public var Channel_AboutItem: String { return self._s[2992]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2994]! } - public var VoiceOver_Chat_VoiceMessage: String { return self._s[2995]! } - public var GroupInfo_SharedMedia: String { return self._s[2996]! } + public var Channel_AdminLog_EmptyTitle: String { return self._s[3001]! } + public var Privacy_Calls_NeverAllow_Title: String { return self._s[3002]! } + public var Login_UnknownError: String { return self._s[3003]! } + public var Group_UpgradeNoticeText2: String { return self._s[3006]! } + public var Watch_Compose_AddContact: String { return self._s[3007]! } + public var Web_Error: String { return self._s[3008]! } + public var Gif_Search: String { return self._s[3009]! } + public var Profile_MessageLifetime1h: String { return self._s[3010]! } + public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[3011]! } + public var Channel_Username_CheckingUsername: String { return self._s[3012]! } + public var CallFeedback_ReasonSilentRemote: String { return self._s[3013]! } + public var AutoDownloadSettings_TypeChannels: String { return self._s[3014]! } + public var Channel_AboutItem: String { return self._s[3015]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[3017]! } + public var VoiceOver_Chat_VoiceMessage: String { return self._s[3018]! } + public var GroupInfo_SharedMedia: String { return self._s[3019]! } public func Channel_AdminLog_MessagePromotedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2997]!, self._r[2997]!, [_1]) + return formatWithArgumentRanges(self._s[3020]!, self._r[3020]!, [_1]) } - public var Call_PhoneCallInProgressMessage: String { return self._s[2998]! } + public var Call_PhoneCallInProgressMessage: String { return self._s[3021]! } public func PUSH_CHANNEL_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2999]!, self._r[2999]!, [_1]) + return formatWithArgumentRanges(self._s[3022]!, self._r[3022]!, [_1]) } - public var ChatList_UndoArchiveRevealedText: String { return self._s[3000]! } - public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[3001]! } - public var Conversation_SearchByName_Placeholder: String { return self._s[3002]! } - public var CreatePoll_AddOption: String { return self._s[3003]! } - public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[3004]! } - public var Group_UpgradeNoticeHeader: String { return self._s[3005]! } - public var Channel_Management_AddModerator: String { return self._s[3006]! } - public var AutoDownloadSettings_MaxFileSize: String { return self._s[3007]! } - public var StickerPacksSettings_ShowStickersButton: String { return self._s[3008]! } - public var NotificationsSound_Hello: String { return self._s[3009]! } - public var SocksProxySetup_SavedProxies: String { return self._s[3010]! } - public var Channel_Stickers_Placeholder: String { return self._s[3012]! } + public var ChatList_UndoArchiveRevealedText: String { return self._s[3023]! } + public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[3024]! } + public var Conversation_SearchByName_Placeholder: String { return self._s[3025]! } + public var CreatePoll_AddOption: String { return self._s[3026]! } + public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[3027]! } + public var Group_UpgradeNoticeHeader: String { return self._s[3028]! } + public var Channel_Management_AddModerator: String { return self._s[3029]! } + public var AutoDownloadSettings_MaxFileSize: String { return self._s[3030]! } + public var StickerPacksSettings_ShowStickersButton: String { return self._s[3031]! } + public var NotificationsSound_Hello: String { return self._s[3032]! } + public var SocksProxySetup_SavedProxies: String { return self._s[3033]! } + public var Channel_Stickers_Placeholder: String { return self._s[3035]! } public func Login_EmailCodeBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3013]!, self._r[3013]!, [_0]) + return formatWithArgumentRanges(self._s[3036]!, self._r[3036]!, [_0]) } - public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[3014]! } - public var Channel_Management_AddModeratorHelp: String { return self._s[3015]! } - public var ContactInfo_BirthdayLabel: String { return self._s[3016]! } - public var ChangePhoneNumberCode_RequestingACall: String { return self._s[3017]! } - public var AutoDownloadSettings_Channels: String { return self._s[3018]! } - public var Passport_Language_mn: String { return self._s[3019]! } - public var Notifications_ResetAllNotificationsHelp: String { return self._s[3022]! } - public var GroupInfo_Permissions_SlowmodeValue_Off: String { return self._s[3023]! } - public var Passport_Language_ja: String { return self._s[3025]! } - public var Settings_About_Title: String { return self._s[3026]! } - public var Settings_NotificationsAndSounds: String { return self._s[3027]! } - public var ChannelInfo_DeleteGroup: String { return self._s[3028]! } - public var Settings_BlockedUsers: String { return self._s[3029]! } + public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[3037]! } + public var Channel_Management_AddModeratorHelp: String { return self._s[3038]! } + public var ContactInfo_BirthdayLabel: String { return self._s[3039]! } + public var ChangePhoneNumberCode_RequestingACall: String { return self._s[3040]! } + public var AutoDownloadSettings_Channels: String { return self._s[3041]! } + public var Passport_Language_mn: String { return self._s[3042]! } + public var Notifications_ResetAllNotificationsHelp: String { return self._s[3045]! } + public var GroupInfo_Permissions_SlowmodeValue_Off: String { return self._s[3046]! } + public var Passport_Language_ja: String { return self._s[3048]! } + public var Settings_About_Title: String { return self._s[3049]! } + public var Settings_NotificationsAndSounds: String { return self._s[3050]! } + public var ChannelInfo_DeleteGroup: String { return self._s[3051]! } + public var Settings_BlockedUsers: String { return self._s[3052]! } public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3030]!, self._r[3030]!, [_0]) + return formatWithArgumentRanges(self._s[3053]!, self._r[3053]!, [_0]) } - public var EditTheme_Create_Preview_OutgoingText: String { return self._s[3031]! } - public var AutoDownloadSettings_PreloadVideo: String { return self._s[3032]! } - public var Passport_Address_AddResidentialAddress: String { return self._s[3033]! } - public var Channel_Username_Title: String { return self._s[3034]! } + public var EditTheme_Create_Preview_OutgoingText: String { return self._s[3054]! } + public var AutoDownloadSettings_PreloadVideo: String { return self._s[3055]! } + public var Passport_Address_AddResidentialAddress: String { return self._s[3056]! } + public var Channel_Username_Title: String { return self._s[3057]! } public func Notification_RemovedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3035]!, self._r[3035]!, [_0]) + return formatWithArgumentRanges(self._s[3058]!, self._r[3058]!, [_0]) } - public var AttachmentMenu_File: String { return self._s[3037]! } - public var AppleWatch_Title: String { return self._s[3038]! } - public var Activity_RecordingVideoMessage: String { return self._s[3039]! } + public var AttachmentMenu_File: String { return self._s[3060]! } + public var AppleWatch_Title: String { return self._s[3061]! } + public var Activity_RecordingVideoMessage: String { return self._s[3062]! } public func Channel_DiscussionGroup_PublicChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3040]!, self._r[3040]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3063]!, self._r[3063]!, [_1, _2]) } - public var Weekday_Saturday: String { return self._s[3041]! } - public var WallpaperPreview_SwipeColorsTopText: String { return self._s[3042]! } - public var Profile_CreateEncryptedChatError: String { return self._s[3043]! } - public var Common_Next: String { return self._s[3045]! } - public var Channel_Stickers_YourStickers: String { return self._s[3047]! } - public var Message_Theme: String { return self._s[3048]! } - public var Call_AudioRouteHeadphones: String { return self._s[3049]! } - public var TwoStepAuth_EnterPasswordForgot: String { return self._s[3051]! } - public var Watch_Contacts_NoResults: String { return self._s[3053]! } - public var PhotoEditor_TintTool: String { return self._s[3056]! } - public var LoginPassword_ResetAccount: String { return self._s[3058]! } - public var Settings_SavedMessages: String { return self._s[3059]! } - public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[3060]! } - public var Bot_GenericSupportStatus: String { return self._s[3061]! } - public var StickerPack_Add: String { return self._s[3062]! } - public var Checkout_TotalAmount: String { return self._s[3063]! } - public var Your_cards_number_is_invalid: String { return self._s[3064]! } - public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[3065]! } - public var VoiceOver_Chat_VideoMessage: String { return self._s[3066]! } + public var Weekday_Saturday: String { return self._s[3064]! } + public var WallpaperPreview_SwipeColorsTopText: String { return self._s[3065]! } + public var Profile_CreateEncryptedChatError: String { return self._s[3066]! } + public var Common_Next: String { return self._s[3068]! } + public var Channel_Stickers_YourStickers: String { return self._s[3070]! } + public var Message_Theme: String { return self._s[3071]! } + public var Call_AudioRouteHeadphones: String { return self._s[3072]! } + public var TwoStepAuth_EnterPasswordForgot: String { return self._s[3074]! } + public var Watch_Contacts_NoResults: String { return self._s[3076]! } + public var PhotoEditor_TintTool: String { return self._s[3079]! } + public var LoginPassword_ResetAccount: String { return self._s[3081]! } + public var Settings_SavedMessages: String { return self._s[3082]! } + public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[3083]! } + public var Bot_GenericSupportStatus: String { return self._s[3084]! } + public var StickerPack_Add: String { return self._s[3085]! } + public var Checkout_TotalAmount: String { return self._s[3086]! } + public var Your_cards_number_is_invalid: String { return self._s[3087]! } + public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[3088]! } + public var VoiceOver_Chat_VideoMessage: String { return self._s[3089]! } public func ChangePhoneNumberCode_CallTimer(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3067]!, self._r[3067]!, [_0]) + return formatWithArgumentRanges(self._s[3090]!, self._r[3090]!, [_0]) } public func GroupPermission_AddedInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3068]!, self._r[3068]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3091]!, self._r[3091]!, [_1, _2]) } - public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[3069]! } + public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[3092]! } public func PUSH_CHAT_PHOTO_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3071]!, self._r[3071]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3094]!, self._r[3094]!, [_1, _2]) } public func Conversation_RestrictedTextTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3072]!, self._r[3072]!, [_0]) + return formatWithArgumentRanges(self._s[3095]!, self._r[3095]!, [_0]) } - public var GroupInfo_InviteLink_ShareLink: String { return self._s[3073]! } - public var StickerPack_Share: String { return self._s[3074]! } - public var Passport_DeleteAddress: String { return self._s[3075]! } - public var Settings_Passport: String { return self._s[3076]! } - public var SharedMedia_EmptyFilesText: String { return self._s[3077]! } - public var Conversation_DeleteMessagesForMe: String { return self._s[3078]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[3079]! } - public var Contacts_PermissionsText: String { return self._s[3080]! } - public var Group_Setup_HistoryVisible: String { return self._s[3081]! } - public var Passport_Address_AddRentalAgreement: String { return self._s[3083]! } - public var SocksProxySetup_Title: String { return self._s[3084]! } - public var Notification_Mute1h: String { return self._s[3085]! } + public var GroupInfo_InviteLink_ShareLink: String { return self._s[3096]! } + public var StickerPack_Share: String { return self._s[3097]! } + public var Passport_DeleteAddress: String { return self._s[3098]! } + public var Settings_Passport: String { return self._s[3099]! } + public var SharedMedia_EmptyFilesText: String { return self._s[3100]! } + public var Conversation_DeleteMessagesForMe: String { return self._s[3101]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[3102]! } + public var Contacts_PermissionsText: String { return self._s[3103]! } + public var Group_Setup_HistoryVisible: String { return self._s[3104]! } + public var Passport_Address_AddRentalAgreement: String { return self._s[3106]! } + public var SocksProxySetup_Title: String { return self._s[3107]! } + public var Notification_Mute1h: String { return self._s[3108]! } public func Passport_Email_CodeHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3086]!, self._r[3086]!, [_0]) + return formatWithArgumentRanges(self._s[3109]!, self._r[3109]!, [_0]) } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[3087]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[3110]! } public func PUSH_PINNED_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3088]!, self._r[3088]!, [_1]) + return formatWithArgumentRanges(self._s[3111]!, self._r[3111]!, [_1]) } - public var FastTwoStepSetup_PasswordSection: String { return self._s[3089]! } - public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[3092]! } - public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[3094]! } - public var DialogList_NoMessagesText: String { return self._s[3095]! } - public var Privacy_ContactsResetConfirmation: String { return self._s[3096]! } - public var Privacy_Calls_P2PHelp: String { return self._s[3097]! } - public var Channel_DiscussionGroup_SearchPlaceholder: String { return self._s[3099]! } - public var Your_cards_expiration_year_is_invalid: String { return self._s[3100]! } - public var Common_TakePhotoOrVideo: String { return self._s[3101]! } - public var Call_StatusBusy: String { return self._s[3102]! } - public var Conversation_PinnedMessage: String { return self._s[3103]! } - public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[3104]! } - public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[3105]! } - public var Undo_ChatCleared: String { return self._s[3106]! } - public var AppleWatch_ReplyPresets: String { return self._s[3107]! } - public var Passport_DiscardMessageDescription: String { return self._s[3109]! } - public var Login_NetworkError: String { return self._s[3110]! } + public var FastTwoStepSetup_PasswordSection: String { return self._s[3112]! } + public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[3115]! } + public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[3117]! } + public var DialogList_NoMessagesText: String { return self._s[3118]! } + public var Privacy_ContactsResetConfirmation: String { return self._s[3119]! } + public var Privacy_Calls_P2PHelp: String { return self._s[3120]! } + public var Channel_DiscussionGroup_SearchPlaceholder: String { return self._s[3122]! } + public var Your_cards_expiration_year_is_invalid: String { return self._s[3123]! } + public var Common_TakePhotoOrVideo: String { return self._s[3124]! } + public var Call_StatusBusy: String { return self._s[3125]! } + public var Conversation_PinnedMessage: String { return self._s[3126]! } + public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[3127]! } + public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[3128]! } + public var Undo_ChatCleared: String { return self._s[3129]! } + public var AppleWatch_ReplyPresets: String { return self._s[3130]! } + public var Passport_DiscardMessageDescription: String { return self._s[3132]! } + public var Login_NetworkError: String { return self._s[3133]! } public func Notification_PinnedRoundMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3111]!, self._r[3111]!, [_0]) + return formatWithArgumentRanges(self._s[3134]!, self._r[3134]!, [_0]) } public func Channel_AdminLog_MessageRemovedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3112]!, self._r[3112]!, [_0]) + return formatWithArgumentRanges(self._s[3135]!, self._r[3135]!, [_0]) } - public var SocksProxySetup_PasswordPlaceholder: String { return self._s[3113]! } - public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[3115]! } + public var SocksProxySetup_PasswordPlaceholder: String { return self._s[3136]! } + public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[3138]! } public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3117]!, self._r[3117]!, [_0]) + return formatWithArgumentRanges(self._s[3140]!, self._r[3140]!, [_0]) } - public var Call_ConnectionErrorMessage: String { return self._s[3118]! } - public var VoiceOver_Chat_Music: String { return self._s[3119]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsSound: String { return self._s[3120]! } - public var Compose_GroupTokenListPlaceholder: String { return self._s[3122]! } - public var ConversationMedia_Title: String { return self._s[3123]! } - public var EncryptionKey_Title: String { return self._s[3125]! } - public var TwoStepAuth_EnterPasswordTitle: String { return self._s[3126]! } - public var Notification_Exceptions_AddException: String { return self._s[3127]! } - public var PrivacySettings_BlockedPeersEmpty: String { return self._s[3128]! } - public var Profile_MessageLifetime1m: String { return self._s[3129]! } + public var Call_ConnectionErrorMessage: String { return self._s[3141]! } + public var VoiceOver_Chat_Music: String { return self._s[3142]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsSound: String { return self._s[3143]! } + public var Compose_GroupTokenListPlaceholder: String { return self._s[3145]! } + public var ConversationMedia_Title: String { return self._s[3146]! } + public var EncryptionKey_Title: String { return self._s[3148]! } + public var TwoStepAuth_EnterPasswordTitle: String { return self._s[3149]! } + public var Notification_Exceptions_AddException: String { return self._s[3150]! } + public var PrivacySettings_BlockedPeersEmpty: String { return self._s[3151]! } + public var Profile_MessageLifetime1m: String { return self._s[3152]! } public func Channel_AdminLog_MessageUnkickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3130]!, self._r[3130]!, [_1]) + return formatWithArgumentRanges(self._s[3153]!, self._r[3153]!, [_1]) } - public var Month_GenMay: String { return self._s[3131]! } + public var Month_GenMay: String { return self._s[3154]! } public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3132]!, self._r[3132]!, [_0]) + return formatWithArgumentRanges(self._s[3155]!, self._r[3155]!, [_0]) } - public var PeopleNearby_Users: String { return self._s[3133]! } - public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[3134]! } - public var AutoDownloadSettings_ResetSettings: String { return self._s[3135]! } - public var Conversation_EmptyPlaceholder: String { return self._s[3137]! } - public var Passport_Address_AddPassportRegistration: String { return self._s[3138]! } - public var Notifications_ChannelNotificationsAlert: String { return self._s[3139]! } - public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[3140]! } - public var Camera_TapAndHoldForVideo: String { return self._s[3141]! } - public var Channel_JoinChannel: String { return self._s[3143]! } - public var Appearance_Animations: String { return self._s[3146]! } + public var PeopleNearby_Users: String { return self._s[3156]! } + public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[3157]! } + public var AutoDownloadSettings_ResetSettings: String { return self._s[3158]! } + public var Conversation_EmptyPlaceholder: String { return self._s[3160]! } + public var Passport_Address_AddPassportRegistration: String { return self._s[3161]! } + public var Notifications_ChannelNotificationsAlert: String { return self._s[3162]! } + public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[3163]! } + public var Camera_TapAndHoldForVideo: String { return self._s[3164]! } + public var Channel_JoinChannel: String { return self._s[3166]! } + public var Appearance_Animations: String { return self._s[3169]! } public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3147]!, self._r[3147]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3170]!, self._r[3170]!, [_1, _2]) } - public var Stickers_GroupStickers: String { return self._s[3149]! } - public var Appearance_ShareTheme: String { return self._s[3150]! } - public var ConvertToSupergroup_HelpTitle: String { return self._s[3152]! } - public var Passport_Address_Street: String { return self._s[3153]! } - public var Conversation_AddContact: String { return self._s[3154]! } - public var Login_PhonePlaceholder: String { return self._s[3155]! } - public var Channel_Members_InviteLink: String { return self._s[3157]! } - public var Bot_Stop: String { return self._s[3158]! } - public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[3160]! } - public var Notification_PassportValueAddress: String { return self._s[3161]! } - public var Month_ShortJuly: String { return self._s[3162]! } - public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[3163]! } - public var Channel_AdminLog_BanSendMedia: String { return self._s[3164]! } - public var Passport_Identity_ReverseSide: String { return self._s[3165]! } - public var Watch_Stickers_Recents: String { return self._s[3168]! } - public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[3170]! } - public var Map_SendThisLocation: String { return self._s[3171]! } + public var Stickers_GroupStickers: String { return self._s[3172]! } + public var Appearance_ShareTheme: String { return self._s[3173]! } + public var ConvertToSupergroup_HelpTitle: String { return self._s[3175]! } + public var Passport_Address_Street: String { return self._s[3176]! } + public var Conversation_AddContact: String { return self._s[3177]! } + public var Login_PhonePlaceholder: String { return self._s[3178]! } + public var Channel_Members_InviteLink: String { return self._s[3180]! } + public var Bot_Stop: String { return self._s[3181]! } + public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[3183]! } + public var Notification_PassportValueAddress: String { return self._s[3184]! } + public var Month_ShortJuly: String { return self._s[3185]! } + public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[3186]! } + public var Channel_AdminLog_BanSendMedia: String { return self._s[3187]! } + public var Passport_Identity_ReverseSide: String { return self._s[3188]! } + public var Watch_Stickers_Recents: String { return self._s[3191]! } + public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[3193]! } + public var Map_SendThisLocation: String { return self._s[3194]! } public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3172]!, self._r[3172]!, [_0]) + return formatWithArgumentRanges(self._s[3195]!, self._r[3195]!, [_0]) } public func InviteText_SingleContact(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3173]!, self._r[3173]!, [_0]) + return formatWithArgumentRanges(self._s[3196]!, self._r[3196]!, [_0]) } - public var ConvertToSupergroup_Note: String { return self._s[3174]! } + public var ConvertToSupergroup_Note: String { return self._s[3197]! } public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3175]!, self._r[3175]!, [_0]) + return formatWithArgumentRanges(self._s[3198]!, self._r[3198]!, [_0]) } - public var NetworkUsageSettings_GeneralDataSection: String { return self._s[3176]! } + public var NetworkUsageSettings_GeneralDataSection: String { return self._s[3199]! } public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3177]!, self._r[3177]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3200]!, self._r[3200]!, [_0, _1]) } - public var Login_CallRequestState3: String { return self._s[3179]! } - public var Wallpaper_SearchShort: String { return self._s[3180]! } - public var SettingsSearch_Synonyms_Appearance_ColorTheme: String { return self._s[3182]! } - public var PasscodeSettings_UnlockWithFaceId: String { return self._s[3183]! } - public var Channel_BotDoesntSupportGroups: String { return self._s[3184]! } + public var Login_CallRequestState3: String { return self._s[3202]! } + public var Wallpaper_SearchShort: String { return self._s[3203]! } + public var SettingsSearch_Synonyms_Appearance_ColorTheme: String { return self._s[3205]! } + public var PasscodeSettings_UnlockWithFaceId: String { return self._s[3206]! } + public var Channel_BotDoesntSupportGroups: String { return self._s[3207]! } public func PUSH_CHAT_MESSAGE_GEOLIVE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3185]!, self._r[3185]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3208]!, self._r[3208]!, [_1, _2]) } - public var Channel_AdminLogFilter_Title: String { return self._s[3186]! } - public var Notifications_GroupNotificationsExceptions: String { return self._s[3190]! } + public var Channel_AdminLogFilter_Title: String { return self._s[3209]! } + public var Notifications_GroupNotificationsExceptions: String { return self._s[3213]! } public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3191]!, self._r[3191]!, [_0]) + return formatWithArgumentRanges(self._s[3214]!, self._r[3214]!, [_0]) } - public var Passport_CorrectErrors: String { return self._s[3192]! } - public var VoiceOver_Chat_YourAnonymousPoll: String { return self._s[3193]! } + public var Passport_CorrectErrors: String { return self._s[3215]! } + public var VoiceOver_Chat_YourAnonymousPoll: String { return self._s[3216]! } public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3194]!, self._r[3194]!, [_0]) + return formatWithArgumentRanges(self._s[3217]!, self._r[3217]!, [_0]) } - public var Map_SendMyCurrentLocation: String { return self._s[3195]! } - public var Channel_DiscussionGroup: String { return self._s[3196]! } + public var Map_SendMyCurrentLocation: String { return self._s[3218]! } + public var Channel_DiscussionGroup: String { return self._s[3219]! } public func PUSH_PINNED_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3197]!, self._r[3197]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3220]!, self._r[3220]!, [_1, _2]) } - public var SharedMedia_SearchNoResults: String { return self._s[3198]! } - public var Permissions_NotificationsText_v0: String { return self._s[3199]! } - public var Appearance_AppIcon: String { return self._s[3200]! } - public var Appearance_ThemePreview_ChatList_3_AuthorName: String { return self._s[3201]! } - public var LoginPassword_FloodError: String { return self._s[3202]! } - public var Group_Setup_HistoryHiddenHelp: String { return self._s[3204]! } + public var SharedMedia_SearchNoResults: String { return self._s[3221]! } + public var Permissions_NotificationsText_v0: String { return self._s[3222]! } + public var Appearance_AppIcon: String { return self._s[3223]! } + public var Appearance_ThemePreview_ChatList_3_AuthorName: String { return self._s[3224]! } + public var LoginPassword_FloodError: String { return self._s[3225]! } + public var Group_Setup_HistoryHiddenHelp: String { return self._s[3227]! } public func TwoStepAuth_PendingEmailHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3205]!, self._r[3205]!, [_0]) + return formatWithArgumentRanges(self._s[3228]!, self._r[3228]!, [_0]) } - public var Passport_Language_bn: String { return self._s[3206]! } + public var Passport_Language_bn: String { return self._s[3229]! } public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3207]!, self._r[3207]!, [_0]) + return formatWithArgumentRanges(self._s[3230]!, self._r[3230]!, [_0]) } + public var ChatList_Context_Pin: String { return self._s[3231]! } public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3208]!, self._r[3208]!, [_0]) + return formatWithArgumentRanges(self._s[3232]!, self._r[3232]!, [_0]) } public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3209]!, self._r[3209]!, [_0]) + return formatWithArgumentRanges(self._s[3233]!, self._r[3233]!, [_0]) } - public var GroupInfo_InvitationLinkGroupFull: String { return self._s[3212]! } - public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[3214]! } - public var Contacts_PermissionsAllow: String { return self._s[3215]! } - public var ReportPeer_ReasonCopyright: String { return self._s[3216]! } - public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[3217]! } - public var WallpaperPreview_Pattern: String { return self._s[3218]! } - public var Paint_Duplicate: String { return self._s[3219]! } - public var Passport_Address_Country: String { return self._s[3220]! } - public var Notification_RenamedChannel: String { return self._s[3222]! } - public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[3223]! } - public var Group_MessagePhotoUpdated: String { return self._s[3224]! } - public var Channel_BanUser_PermissionSendMedia: String { return self._s[3225]! } - public var Conversation_ContextMenuBan: String { return self._s[3226]! } - public var TwoStepAuth_EmailSent: String { return self._s[3227]! } - public var MessagePoll_NoVotes: String { return self._s[3228]! } - public var Passport_Language_is: String { return self._s[3229]! } - public var PeopleNearby_UsersEmpty: String { return self._s[3231]! } - public var Tour_Text5: String { return self._s[3232]! } + public var GroupInfo_InvitationLinkGroupFull: String { return self._s[3236]! } + public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[3238]! } + public var Contacts_PermissionsAllow: String { return self._s[3239]! } + public var ReportPeer_ReasonCopyright: String { return self._s[3240]! } + public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[3241]! } + public var WallpaperPreview_Pattern: String { return self._s[3242]! } + public var Paint_Duplicate: String { return self._s[3243]! } + public var Passport_Address_Country: String { return self._s[3244]! } + public var Notification_RenamedChannel: String { return self._s[3246]! } + public var ChatList_Context_Unmute: String { return self._s[3247]! } + public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[3248]! } + public var Group_MessagePhotoUpdated: String { return self._s[3249]! } + public var Channel_BanUser_PermissionSendMedia: String { return self._s[3250]! } + public var Conversation_ContextMenuBan: String { return self._s[3251]! } + public var TwoStepAuth_EmailSent: String { return self._s[3252]! } + public var MessagePoll_NoVotes: String { return self._s[3253]! } + public var Passport_Language_is: String { return self._s[3254]! } + public var PeopleNearby_UsersEmpty: String { return self._s[3256]! } + public var Tour_Text5: String { return self._s[3257]! } public func Call_GroupFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3234]!, self._r[3234]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3259]!, self._r[3259]!, [_1, _2]) } - public var Undo_SecretChatDeleted: String { return self._s[3235]! } - public var SocksProxySetup_ShareQRCode: String { return self._s[3236]! } + public var Undo_SecretChatDeleted: String { return self._s[3260]! } + public var SocksProxySetup_ShareQRCode: String { return self._s[3261]! } public func VoiceOver_Chat_Size(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3237]!, self._r[3237]!, [_0]) + return formatWithArgumentRanges(self._s[3262]!, self._r[3262]!, [_0]) } - public var LogoutOptions_ChangePhoneNumberText: String { return self._s[3238]! } - public var Paint_Edit: String { return self._s[3240]! } - public var ScheduledMessages_ReminderNotification: String { return self._s[3242]! } - public var Undo_DeletedGroup: String { return self._s[3244]! } - public var LoginPassword_ForgotPassword: String { return self._s[3245]! } - public var GroupInfo_GroupNamePlaceholder: String { return self._s[3246]! } + public var LogoutOptions_ChangePhoneNumberText: String { return self._s[3263]! } + public var Paint_Edit: String { return self._s[3265]! } + public var ScheduledMessages_ReminderNotification: String { return self._s[3267]! } + public var Undo_DeletedGroup: String { return self._s[3269]! } + public var LoginPassword_ForgotPassword: String { return self._s[3270]! } + public var GroupInfo_GroupNamePlaceholder: String { return self._s[3271]! } public func Notification_Kicked(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3247]!, self._r[3247]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3272]!, self._r[3272]!, [_0, _1]) } - public var Conversation_InputTextCaptionPlaceholder: String { return self._s[3248]! } - public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[3249]! } - public var Passport_Language_uz: String { return self._s[3250]! } - public var Conversation_PinMessageAlertGroup: String { return self._s[3251]! } - public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[3252]! } - public var Map_StopLiveLocation: String { return self._s[3254]! } - public var VoiceOver_MessageContextSend: String { return self._s[3256]! } - public var PasscodeSettings_Help: String { return self._s[3257]! } - public var NotificationsSound_Input: String { return self._s[3258]! } - public var Share_Title: String { return self._s[3261]! } - public var LogoutOptions_Title: String { return self._s[3262]! } - public var Login_TermsOfServiceAgree: String { return self._s[3263]! } - public var Compose_NewEncryptedChatTitle: String { return self._s[3264]! } - public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[3265]! } - public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[3266]! } - public var EnterPasscode_EnterTitle: String { return self._s[3267]! } + public var Conversation_InputTextCaptionPlaceholder: String { return self._s[3273]! } + public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[3274]! } + public var Passport_Language_uz: String { return self._s[3275]! } + public var Conversation_PinMessageAlertGroup: String { return self._s[3276]! } + public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[3277]! } + public var Map_StopLiveLocation: String { return self._s[3279]! } + public var VoiceOver_MessageContextSend: String { return self._s[3281]! } + public var PasscodeSettings_Help: String { return self._s[3282]! } + public var NotificationsSound_Input: String { return self._s[3283]! } + public var Share_Title: String { return self._s[3286]! } + public var LogoutOptions_Title: String { return self._s[3287]! } + public var Login_TermsOfServiceAgree: String { return self._s[3288]! } + public var Compose_NewEncryptedChatTitle: String { return self._s[3289]! } + public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[3290]! } + public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[3291]! } + public var EnterPasscode_EnterTitle: String { return self._s[3292]! } public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3268]!, self._r[3268]!, [_0]) - } - public var Settings_CopyPhoneNumber: String { return self._s[3269]! } - public var Conversation_AddToContacts: String { return self._s[3270]! } - public func VoiceOver_Chat_ReplyFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3271]!, self._r[3271]!, [_0]) - } - public var NotificationsSound_Keys: String { return self._s[3272]! } - public func Call_ParticipantVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3273]!, self._r[3273]!, [_0]) - } - public var Notification_MessageLifetime1w: String { return self._s[3274]! } - public var Message_Video: String { return self._s[3275]! } - public var AutoDownloadSettings_CellularTitle: String { return self._s[3276]! } - public func PUSH_CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3277]!, self._r[3277]!, [_1]) - } - public func Notification_JoinedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3280]!, self._r[3280]!, [_0]) - } - public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3281]!, self._r[3281]!, [_0]) - } - public var Passport_Language_mk: String { return self._s[3282]! } - public var CreatePoll_CancelConfirmation: String { return self._s[3283]! } - public var Conversation_SilentBroadcastTooltipOn: String { return self._s[3285]! } - public var PrivacyPolicy_Decline: String { return self._s[3286]! } - public var Passport_Identity_DoesNotExpire: String { return self._s[3287]! } - public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[3288]! } - public var Permissions_SiriAllow_v0: String { return self._s[3290]! } - public var Appearance_ThemeCarouselNight: String { return self._s[3291]! } - public func LOCAL_CHAT_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3292]!, self._r[3292]!, [_1, "\(_2)"]) - } - public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3293]!, self._r[3293]!, [_0]) } - public var Paint_Regular: String { return self._s[3294]! } - public var ChatSettings_AutoDownloadReset: String { return self._s[3295]! } - public var SocksProxySetup_ShareLink: String { return self._s[3296]! } - public var BlockedUsers_SelectUserTitle: String { return self._s[3297]! } - public var VoiceOver_Chat_RecordModeVoiceMessage: String { return self._s[3299]! } - public var GroupInfo_InviteByLink: String { return self._s[3300]! } - public var MessageTimer_Custom: String { return self._s[3301]! } - public var UserInfo_NotificationsDefaultEnabled: String { return self._s[3302]! } - public var Passport_Address_TypeTemporaryRegistration: String { return self._s[3304]! } - public var Conversation_SendMessage_SetReminder: String { return self._s[3305]! } - public var VoiceOver_Chat_Selected: String { return self._s[3306]! } - public var ChatSettings_AutoDownloadUsingWiFi: String { return self._s[3307]! } - public var Channel_Username_InvalidTaken: String { return self._s[3308]! } - public var Conversation_ClousStorageInfo_Description3: String { return self._s[3309]! } - public var Settings_ChatBackground: String { return self._s[3310]! } - public var Channel_Subscribers_Title: String { return self._s[3311]! } - public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[3312]! } - public var Watch_ConnectionDescription: String { return self._s[3313]! } - public var ChatList_ArchivedChatsTitle: String { return self._s[3317]! } - public var Wallpaper_ResetWallpapers: String { return self._s[3318]! } - public var EditProfile_Title: String { return self._s[3319]! } - public var NotificationsSound_Bamboo: String { return self._s[3321]! } - public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[3323]! } - public var Login_SmsRequestState2: String { return self._s[3324]! } - public var Passport_Language_ar: String { return self._s[3325]! } + public var Settings_CopyPhoneNumber: String { return self._s[3294]! } + public var Conversation_AddToContacts: String { return self._s[3295]! } + public func VoiceOver_Chat_ReplyFrom(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3296]!, self._r[3296]!, [_0]) + } + public var NotificationsSound_Keys: String { return self._s[3297]! } + public func Call_ParticipantVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3298]!, self._r[3298]!, [_0]) + } + public var Notification_MessageLifetime1w: String { return self._s[3299]! } + public var Message_Video: String { return self._s[3300]! } + public var AutoDownloadSettings_CellularTitle: String { return self._s[3301]! } + public func PUSH_CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3302]!, self._r[3302]!, [_1]) + } + public func Notification_JoinedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3305]!, self._r[3305]!, [_0]) + } + public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3306]!, self._r[3306]!, [_0]) + } + public var Passport_Language_mk: String { return self._s[3307]! } + public var CreatePoll_CancelConfirmation: String { return self._s[3308]! } + public var Conversation_SilentBroadcastTooltipOn: String { return self._s[3310]! } + public var PrivacyPolicy_Decline: String { return self._s[3311]! } + public var Passport_Identity_DoesNotExpire: String { return self._s[3312]! } + public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[3313]! } + public var Permissions_SiriAllow_v0: String { return self._s[3315]! } + public var Appearance_ThemeCarouselNight: String { return self._s[3316]! } + public func LOCAL_CHAT_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3317]!, self._r[3317]!, [_1, "\(_2)"]) + } + public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3318]!, self._r[3318]!, [_0]) + } + public var Paint_Regular: String { return self._s[3319]! } + public var ChatSettings_AutoDownloadReset: String { return self._s[3320]! } + public var SocksProxySetup_ShareLink: String { return self._s[3321]! } + public var BlockedUsers_SelectUserTitle: String { return self._s[3322]! } + public var VoiceOver_Chat_RecordModeVoiceMessage: String { return self._s[3324]! } + public var GroupInfo_InviteByLink: String { return self._s[3325]! } + public var MessageTimer_Custom: String { return self._s[3326]! } + public var UserInfo_NotificationsDefaultEnabled: String { return self._s[3327]! } + public var Passport_Address_TypeTemporaryRegistration: String { return self._s[3329]! } + public var Conversation_SendMessage_SetReminder: String { return self._s[3330]! } + public var VoiceOver_Chat_Selected: String { return self._s[3331]! } + public var ChatSettings_AutoDownloadUsingWiFi: String { return self._s[3332]! } + public var Channel_Username_InvalidTaken: String { return self._s[3333]! } + public var Conversation_ClousStorageInfo_Description3: String { return self._s[3334]! } + public var Settings_ChatBackground: String { return self._s[3335]! } + public var Channel_Subscribers_Title: String { return self._s[3336]! } + public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[3337]! } + public var Watch_ConnectionDescription: String { return self._s[3338]! } + public var ChatList_ArchivedChatsTitle: String { return self._s[3342]! } + public var Wallpaper_ResetWallpapers: String { return self._s[3343]! } + public var EditProfile_Title: String { return self._s[3344]! } + public var NotificationsSound_Bamboo: String { return self._s[3346]! } + public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[3348]! } + public var Login_SmsRequestState2: String { return self._s[3349]! } + public var Passport_Language_ar: String { return self._s[3350]! } public func Message_AuthorPinnedGame(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3326]!, self._r[3326]!, [_0]) - } - public var SettingsSearch_Synonyms_EditProfile_Title: String { return self._s[3327]! } - public var Conversation_MessageDialogEdit: String { return self._s[3328]! } - public var VoiceOver_Media_PlaybackPause: String { return self._s[3329]! } - public func PUSH_AUTH_UNKNOWN(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3330]!, self._r[3330]!, [_1]) - } - public var Common_Close: String { return self._s[3331]! } - public var GroupInfo_PublicLink: String { return self._s[3332]! } - public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[3333]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsPreview: String { return self._s[3334]! } - public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3338]!, self._r[3338]!, [_0]) - } - public var UserInfo_About_Placeholder: String { return self._s[3339]! } - public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3340]!, self._r[3340]!, [_0]) - } - public var GroupInfo_Permissions_SectionTitle: String { return self._s[3341]! } - public var Channel_Info_Banned: String { return self._s[3343]! } - public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3344]!, self._r[3344]!, [_0]) - } - public var Appearance_Other: String { return self._s[3345]! } - public var Passport_Language_my: String { return self._s[3346]! } - public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3347]! } - public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3348]!, self._r[3348]!, [_1, _2, _3]) - } - public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[3349]! } - public var Preview_CopyAddress: String { return self._s[3350]! } - public func DialogList_SinglePlayingGameSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3351]!, self._r[3351]!, [_0]) } - public var KeyCommand_JumpToPreviousChat: String { return self._s[3352]! } - public var UserInfo_BotSettings: String { return self._s[3353]! } - public var LiveLocation_MenuStopAll: String { return self._s[3355]! } - public var Passport_PasswordCreate: String { return self._s[3356]! } - public var StickerSettings_MaskContextInfo: String { return self._s[3357]! } - public var Message_PinnedLocationMessage: String { return self._s[3358]! } - public var Map_Satellite: String { return self._s[3359]! } - public var Watch_Message_Unsupported: String { return self._s[3360]! } - public var Username_TooManyPublicUsernamesError: String { return self._s[3361]! } - public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[3362]! } + public var SettingsSearch_Synonyms_EditProfile_Title: String { return self._s[3352]! } + public var Conversation_MessageDialogEdit: String { return self._s[3353]! } + public var VoiceOver_Media_PlaybackPause: String { return self._s[3354]! } + public func PUSH_AUTH_UNKNOWN(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3355]!, self._r[3355]!, [_1]) + } + public var Common_Close: String { return self._s[3356]! } + public var GroupInfo_PublicLink: String { return self._s[3357]! } + public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[3358]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsPreview: String { return self._s[3359]! } + public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3363]!, self._r[3363]!, [_0]) + } + public var UserInfo_About_Placeholder: String { return self._s[3364]! } + public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3365]!, self._r[3365]!, [_0]) + } + public var GroupInfo_Permissions_SectionTitle: String { return self._s[3366]! } + public var Channel_Info_Banned: String { return self._s[3368]! } + public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3369]!, self._r[3369]!, [_0]) + } + public var Appearance_Other: String { return self._s[3370]! } + public var Passport_Language_my: String { return self._s[3371]! } + public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3372]! } + public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3373]!, self._r[3373]!, [_1, _2, _3]) + } + public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[3374]! } + public var Preview_CopyAddress: String { return self._s[3375]! } + public func DialogList_SinglePlayingGameSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3376]!, self._r[3376]!, [_0]) + } + public var KeyCommand_JumpToPreviousChat: String { return self._s[3377]! } + public var UserInfo_BotSettings: String { return self._s[3378]! } + public var LiveLocation_MenuStopAll: String { return self._s[3380]! } + public var Passport_PasswordCreate: String { return self._s[3381]! } + public var StickerSettings_MaskContextInfo: String { return self._s[3382]! } + public var Message_PinnedLocationMessage: String { return self._s[3383]! } + public var Map_Satellite: String { return self._s[3384]! } + public var Watch_Message_Unsupported: String { return self._s[3385]! } + public var Username_TooManyPublicUsernamesError: String { return self._s[3386]! } + public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[3387]! } public func Notification_PinnedTextMessage(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3363]!, self._r[3363]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3388]!, self._r[3388]!, [_0, _1]) } public func Conversation_OpenBotLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3364]!, self._r[3364]!, [_0]) + return formatWithArgumentRanges(self._s[3389]!, self._r[3389]!, [_0]) } - public var Notifications_ChannelNotificationsHelp: String { return self._s[3365]! } - public var Privacy_Calls_P2PContacts: String { return self._s[3366]! } - public var NotificationsSound_None: String { return self._s[3367]! } - public var Channel_DiscussionGroup_UnlinkGroup: String { return self._s[3369]! } - public var AccessDenied_VoiceMicrophone: String { return self._s[3370]! } + public var Notifications_ChannelNotificationsHelp: String { return self._s[3390]! } + public var Privacy_Calls_P2PContacts: String { return self._s[3391]! } + public var NotificationsSound_None: String { return self._s[3392]! } + public var Channel_DiscussionGroup_UnlinkGroup: String { return self._s[3394]! } + public var AccessDenied_VoiceMicrophone: String { return self._s[3395]! } public func ApplyLanguage_ChangeLanguageAlreadyActive(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3371]!, self._r[3371]!, [_1]) + return formatWithArgumentRanges(self._s[3396]!, self._r[3396]!, [_1]) } - public var Cache_Indexing: String { return self._s[3372]! } - public var DialogList_RecentTitlePeople: String { return self._s[3374]! } - public var DialogList_EncryptionRejected: String { return self._s[3375]! } - public var GroupInfo_Administrators: String { return self._s[3376]! } - public var Passport_ScanPassportHelp: String { return self._s[3377]! } - public var Application_Name: String { return self._s[3378]! } - public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[3379]! } - public var Appearance_ThemeCarouselDay: String { return self._s[3381]! } - public var Passport_Identity_TranslationHelp: String { return self._s[3382]! } + public var Cache_Indexing: String { return self._s[3397]! } + public var DialogList_RecentTitlePeople: String { return self._s[3399]! } + public var DialogList_EncryptionRejected: String { return self._s[3400]! } + public var GroupInfo_Administrators: String { return self._s[3401]! } + public var Passport_ScanPassportHelp: String { return self._s[3402]! } + public var Application_Name: String { return self._s[3403]! } + public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[3404]! } + public var Appearance_ThemeCarouselDay: String { return self._s[3406]! } + public var Passport_Identity_TranslationHelp: String { return self._s[3407]! } public func VoiceOver_Chat_VideoMessageFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3383]!, self._r[3383]!, [_0]) + return formatWithArgumentRanges(self._s[3408]!, self._r[3408]!, [_0]) } public func Notification_JoinedGroupByLink(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3384]!, self._r[3384]!, [_0]) + return formatWithArgumentRanges(self._s[3409]!, self._r[3409]!, [_0]) } public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3385]!, self._r[3385]!, [_0]) + return formatWithArgumentRanges(self._s[3410]!, self._r[3410]!, [_0]) } - public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[3386]! } - public var Privacy_ChatsTitle: String { return self._s[3387]! } - public var DialogList_ClearHistoryConfirmation: String { return self._s[3388]! } - public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[3389]! } - public var Watch_Suggestion_HoldOn: String { return self._s[3390]! } - public var Group_EditAdmin_TransferOwnership: String { return self._s[3391]! } - public var Group_LinkedChannel: String { return self._s[3392]! } - public var VoiceOver_Chat_SeenByRecipient: String { return self._s[3393]! } - public var SocksProxySetup_RequiredCredentials: String { return self._s[3394]! } - public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[3395]! } - public var TwoStepAuth_EmailSkipAlert: String { return self._s[3396]! } - public var ScheduledMessages_RemindersTitle: String { return self._s[3398]! } - public var Channel_Setup_TypePublic: String { return self._s[3400]! } + public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[3411]! } + public var Privacy_ChatsTitle: String { return self._s[3412]! } + public var DialogList_ClearHistoryConfirmation: String { return self._s[3413]! } + public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[3414]! } + public var Watch_Suggestion_HoldOn: String { return self._s[3415]! } + public var Group_EditAdmin_TransferOwnership: String { return self._s[3416]! } + public var Group_LinkedChannel: String { return self._s[3417]! } + public var VoiceOver_Chat_SeenByRecipient: String { return self._s[3418]! } + public var SocksProxySetup_RequiredCredentials: String { return self._s[3419]! } + public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[3420]! } + public var TwoStepAuth_EmailSkipAlert: String { return self._s[3421]! } + public var ScheduledMessages_RemindersTitle: String { return self._s[3423]! } + public var Channel_Setup_TypePublic: String { return self._s[3425]! } public func Channel_AdminLog_MessageToggleInvitesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3401]!, self._r[3401]!, [_0]) + return formatWithArgumentRanges(self._s[3426]!, self._r[3426]!, [_0]) } - public var Channel_TypeSetup_Title: String { return self._s[3403]! } - public var Map_OpenInMaps: String { return self._s[3405]! } + public var Channel_TypeSetup_Title: String { return self._s[3428]! } + public var Map_OpenInMaps: String { return self._s[3430]! } public func PUSH_PINNED_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3406]!, self._r[3406]!, [_1]) + return formatWithArgumentRanges(self._s[3431]!, self._r[3431]!, [_1]) } - public var NotificationsSound_Tremolo: String { return self._s[3408]! } + public var NotificationsSound_Tremolo: String { return self._s[3433]! } public func Date_ChatDateHeaderYear(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3409]!, self._r[3409]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3434]!, self._r[3434]!, [_1, _2, _3]) } - public var ConversationProfile_UnknownAddMemberError: String { return self._s[3410]! } - public var Channel_OwnershipTransfer_PasswordPlaceholder: String { return self._s[3411]! } - public var Passport_PasswordHelp: String { return self._s[3412]! } - public var Login_CodeExpiredError: String { return self._s[3413]! } - public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[3414]! } - public var Conversation_TitleUnmute: String { return self._s[3415]! } - public var Passport_Identity_ScansHelp: String { return self._s[3416]! } - public var Passport_Language_lo: String { return self._s[3417]! } - public var Camera_FlashAuto: String { return self._s[3418]! } - public var Conversation_OpenBotLinkOpen: String { return self._s[3419]! } - public var Common_Cancel: String { return self._s[3420]! } - public var DialogList_SavedMessagesTooltip: String { return self._s[3421]! } - public var TwoStepAuth_SetupPasswordTitle: String { return self._s[3422]! } - public var Appearance_TintAllColors: String { return self._s[3423]! } + public var ConversationProfile_UnknownAddMemberError: String { return self._s[3435]! } + public var Channel_OwnershipTransfer_PasswordPlaceholder: String { return self._s[3436]! } + public var Passport_PasswordHelp: String { return self._s[3437]! } + public var Login_CodeExpiredError: String { return self._s[3438]! } + public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[3439]! } + public var Conversation_TitleUnmute: String { return self._s[3440]! } + public var Passport_Identity_ScansHelp: String { return self._s[3441]! } + public var Passport_Language_lo: String { return self._s[3442]! } + public var Camera_FlashAuto: String { return self._s[3443]! } + public var Conversation_OpenBotLinkOpen: String { return self._s[3444]! } + public var Common_Cancel: String { return self._s[3445]! } + public var DialogList_SavedMessagesTooltip: String { return self._s[3446]! } + public var TwoStepAuth_SetupPasswordTitle: String { return self._s[3447]! } + public var Appearance_TintAllColors: String { return self._s[3448]! } public func PUSH_MESSAGE_FWD(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3424]!, self._r[3424]!, [_1]) + return formatWithArgumentRanges(self._s[3449]!, self._r[3449]!, [_1]) } - public var Conversation_ReportSpamConfirmation: String { return self._s[3425]! } - public var ChatSettings_Title: String { return self._s[3427]! } - public var Passport_PasswordReset: String { return self._s[3428]! } - public var SocksProxySetup_TypeNone: String { return self._s[3429]! } - public var EditTheme_Title: String { return self._s[3431]! } - public var PhoneNumberHelp_Help: String { return self._s[3432]! } - public var Checkout_EnterPassword: String { return self._s[3433]! } - public var Share_AuthTitle: String { return self._s[3435]! } - public var Activity_UploadingDocument: String { return self._s[3436]! } - public var State_Connecting: String { return self._s[3437]! } - public var Profile_MessageLifetime1w: String { return self._s[3438]! } - public var Conversation_ContextMenuReport: String { return self._s[3439]! } - public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[3440]! } - public var AutoNightTheme_ScheduledTo: String { return self._s[3441]! } + public var Conversation_ReportSpamConfirmation: String { return self._s[3450]! } + public var ChatSettings_Title: String { return self._s[3452]! } + public var Passport_PasswordReset: String { return self._s[3453]! } + public var SocksProxySetup_TypeNone: String { return self._s[3454]! } + public var EditTheme_Title: String { return self._s[3456]! } + public var PhoneNumberHelp_Help: String { return self._s[3457]! } + public var Checkout_EnterPassword: String { return self._s[3458]! } + public var Share_AuthTitle: String { return self._s[3460]! } + public var Activity_UploadingDocument: String { return self._s[3461]! } + public var State_Connecting: String { return self._s[3462]! } + public var Profile_MessageLifetime1w: String { return self._s[3463]! } + public var Conversation_ContextMenuReport: String { return self._s[3464]! } + public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[3465]! } + public var AutoNightTheme_ScheduledTo: String { return self._s[3466]! } public func VoiceOver_Chat_AnonymousPollFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3442]!, self._r[3442]!, [_0]) + return formatWithArgumentRanges(self._s[3467]!, self._r[3467]!, [_0]) } - public var AuthSessions_Terminate: String { return self._s[3443]! } - public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[3444]! } - public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[3445]! } - public var PhotoEditor_Set: String { return self._s[3446]! } - public var EmptyGroupInfo_Title: String { return self._s[3447]! } - public var Login_PadPhoneHelp: String { return self._s[3448]! } - public var AutoDownloadSettings_TypeGroupChats: String { return self._s[3450]! } - public var PrivacyPolicy_DeclineLastWarning: String { return self._s[3452]! } - public var NotificationsSound_Complete: String { return self._s[3453]! } - public var SettingsSearch_Synonyms_Privacy_Data_Title: String { return self._s[3454]! } - public var Group_Info_AdminLog: String { return self._s[3455]! } - public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[3456]! } - public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[3457]! } - public var Conversation_Admin: String { return self._s[3459]! } - public var Conversation_GifTooltip: String { return self._s[3460]! } - public var Passport_NotLoggedInMessage: String { return self._s[3461]! } + public var AuthSessions_Terminate: String { return self._s[3468]! } + public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[3469]! } + public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[3470]! } + public var PhotoEditor_Set: String { return self._s[3471]! } + public var EmptyGroupInfo_Title: String { return self._s[3472]! } + public var Login_PadPhoneHelp: String { return self._s[3473]! } + public var AutoDownloadSettings_TypeGroupChats: String { return self._s[3475]! } + public var PrivacyPolicy_DeclineLastWarning: String { return self._s[3477]! } + public var NotificationsSound_Complete: String { return self._s[3478]! } + public var SettingsSearch_Synonyms_Privacy_Data_Title: String { return self._s[3479]! } + public var Group_Info_AdminLog: String { return self._s[3480]! } + public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[3481]! } + public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[3482]! } + public var Conversation_Admin: String { return self._s[3484]! } + public var Conversation_GifTooltip: String { return self._s[3485]! } + public var Passport_NotLoggedInMessage: String { return self._s[3486]! } public func AutoDownloadSettings_OnFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3463]!, self._r[3463]!, [_0]) + return formatWithArgumentRanges(self._s[3488]!, self._r[3488]!, [_0]) } - public var Profile_MessageLifetimeForever: String { return self._s[3464]! } - public var SharedMedia_EmptyTitle: String { return self._s[3466]! } - public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[3468]! } - public var Username_Help: String { return self._s[3469]! } - public var DialogList_LanguageTooltip: String { return self._s[3471]! } - public var Map_LoadError: String { return self._s[3472]! } - public var Login_PhoneNumberAlreadyAuthorized: String { return self._s[3473]! } - public var Channel_AdminLog_AddMembers: String { return self._s[3474]! } - public var ArchivedChats_IntroTitle2: String { return self._s[3475]! } - public var Notification_Exceptions_NewException: String { return self._s[3476]! } - public var TwoStepAuth_EmailTitle: String { return self._s[3477]! } - public var WatchRemote_AlertText: String { return self._s[3478]! } - public var ChatSettings_ConnectionType_Title: String { return self._s[3481]! } + public var Profile_MessageLifetimeForever: String { return self._s[3489]! } + public var SharedMedia_EmptyTitle: String { return self._s[3491]! } + public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[3493]! } + public var Username_Help: String { return self._s[3494]! } + public var DialogList_LanguageTooltip: String { return self._s[3496]! } + public var Map_LoadError: String { return self._s[3497]! } + public var Login_PhoneNumberAlreadyAuthorized: String { return self._s[3498]! } + public var Channel_AdminLog_AddMembers: String { return self._s[3499]! } + public var ArchivedChats_IntroTitle2: String { return self._s[3500]! } + public var Notification_Exceptions_NewException: String { return self._s[3501]! } + public var TwoStepAuth_EmailTitle: String { return self._s[3502]! } + public var WatchRemote_AlertText: String { return self._s[3503]! } + public var ChatSettings_ConnectionType_Title: String { return self._s[3506]! } public func Settings_CheckPhoneNumberTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3482]!, self._r[3482]!, [_0]) + return formatWithArgumentRanges(self._s[3507]!, self._r[3507]!, [_0]) } - public var SettingsSearch_Synonyms_Calls_CallTab: String { return self._s[3483]! } - public var Passport_Address_CountryPlaceholder: String { return self._s[3484]! } + public var SettingsSearch_Synonyms_Calls_CallTab: String { return self._s[3508]! } + public var Passport_Address_CountryPlaceholder: String { return self._s[3509]! } public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3485]!, self._r[3485]!, [_0]) + return formatWithArgumentRanges(self._s[3510]!, self._r[3510]!, [_0]) } public func Time_PreciseDate_m6(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3486]!, self._r[3486]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3511]!, self._r[3511]!, [_1, _2, _3]) } - public var Group_AdminLog_EmptyText: String { return self._s[3487]! } - public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[3488]! } - public var Conversation_PrivateChannelTooltip: String { return self._s[3490]! } - public var ChatList_UndoArchiveText1: String { return self._s[3491]! } - public var AccessDenied_VideoMicrophone: String { return self._s[3492]! } - public var Conversation_ContextMenuStickerPackAdd: String { return self._s[3493]! } - public var Cache_ClearNone: String { return self._s[3494]! } - public var SocksProxySetup_FailedToConnect: String { return self._s[3495]! } - public var Permissions_NotificationsTitle_v0: String { return self._s[3496]! } + public var Group_AdminLog_EmptyText: String { return self._s[3512]! } + public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[3513]! } + public var Conversation_PrivateChannelTooltip: String { return self._s[3515]! } + public var ChatList_UndoArchiveText1: String { return self._s[3516]! } + public var AccessDenied_VideoMicrophone: String { return self._s[3517]! } + public var Conversation_ContextMenuStickerPackAdd: String { return self._s[3518]! } + public var Cache_ClearNone: String { return self._s[3519]! } + public var SocksProxySetup_FailedToConnect: String { return self._s[3520]! } + public var Permissions_NotificationsTitle_v0: String { return self._s[3521]! } public func Channel_AdminLog_MessageEdited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3497]!, self._r[3497]!, [_0]) + return formatWithArgumentRanges(self._s[3522]!, self._r[3522]!, [_0]) } - public var Passport_Identity_Country: String { return self._s[3498]! } + public var Passport_Identity_Country: String { return self._s[3523]! } public func ChatSettings_AutoDownloadSettings_TypeFile(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3499]!, self._r[3499]!, [_0]) + return formatWithArgumentRanges(self._s[3524]!, self._r[3524]!, [_0]) } public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3500]!, self._r[3500]!, [_0]) + return formatWithArgumentRanges(self._s[3525]!, self._r[3525]!, [_0]) } - public var Exceptions_AddToExceptions: String { return self._s[3501]! } - public var AccessDenied_Settings: String { return self._s[3502]! } - public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[3503]! } - public var Month_ShortMay: String { return self._s[3504]! } - public var Compose_NewGroup: String { return self._s[3506]! } - public var Group_Setup_TypePrivate: String { return self._s[3508]! } - public var Login_PadPhoneHelpTitle: String { return self._s[3510]! } - public var Appearance_ThemeDayClassic: String { return self._s[3511]! } - public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[3512]! } - public var AutoDownloadSettings_OffForAll: String { return self._s[3513]! } - public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[3514]! } - public var Conversation_typing: String { return self._s[3516]! } - public var Undo_ScheduledMessagesCleared: String { return self._s[3517]! } - public var Paint_Masks: String { return self._s[3518]! } - public var Contacts_DeselectAll: String { return self._s[3519]! } - public var Username_InvalidTaken: String { return self._s[3520]! } - public var Call_StatusNoAnswer: String { return self._s[3521]! } - public var TwoStepAuth_EmailAddSuccess: String { return self._s[3522]! } - public var SettingsSearch_Synonyms_Privacy_BlockedUsers: String { return self._s[3523]! } - public var Passport_Identity_Selfie: String { return self._s[3524]! } - public var Login_InfoLastNamePlaceholder: String { return self._s[3525]! } - public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[3526]! } - public var Conversation_ClearSecretHistory: String { return self._s[3527]! } - public var PeopleNearby_Description: String { return self._s[3529]! } - public var NetworkUsageSettings_Title: String { return self._s[3530]! } - public var Your_cards_security_code_is_invalid: String { return self._s[3532]! } + public var Exceptions_AddToExceptions: String { return self._s[3526]! } + public var AccessDenied_Settings: String { return self._s[3527]! } + public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[3528]! } + public var Month_ShortMay: String { return self._s[3529]! } + public var Compose_NewGroup: String { return self._s[3531]! } + public var Group_Setup_TypePrivate: String { return self._s[3533]! } + public var Login_PadPhoneHelpTitle: String { return self._s[3535]! } + public var Appearance_ThemeDayClassic: String { return self._s[3536]! } + public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[3537]! } + public var AutoDownloadSettings_OffForAll: String { return self._s[3538]! } + public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[3539]! } + public var Conversation_typing: String { return self._s[3541]! } + public var Undo_ScheduledMessagesCleared: String { return self._s[3542]! } + public var Paint_Masks: String { return self._s[3543]! } + public var Contacts_DeselectAll: String { return self._s[3544]! } + public var Username_InvalidTaken: String { return self._s[3545]! } + public var Call_StatusNoAnswer: String { return self._s[3546]! } + public var TwoStepAuth_EmailAddSuccess: String { return self._s[3547]! } + public var SettingsSearch_Synonyms_Privacy_BlockedUsers: String { return self._s[3548]! } + public var Passport_Identity_Selfie: String { return self._s[3549]! } + public var Login_InfoLastNamePlaceholder: String { return self._s[3550]! } + public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[3551]! } + public var Conversation_ClearSecretHistory: String { return self._s[3552]! } + public var PeopleNearby_Description: String { return self._s[3554]! } + public var NetworkUsageSettings_Title: String { return self._s[3555]! } + public var Your_cards_security_code_is_invalid: String { return self._s[3557]! } public func Notification_LeftChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3534]!, self._r[3534]!, [_0]) + return formatWithArgumentRanges(self._s[3559]!, self._r[3559]!, [_0]) } public func Call_CallInProgressMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3535]!, self._r[3535]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3560]!, self._r[3560]!, [_1, _2]) } - public var SaveIncomingPhotosSettings_From: String { return self._s[3537]! } - public var VoiceOver_Navigation_Search: String { return self._s[3538]! } - public var Map_LiveLocationTitle: String { return self._s[3539]! } - public var Login_InfoAvatarAdd: String { return self._s[3540]! } - public var Passport_Identity_FilesView: String { return self._s[3541]! } - public var UserInfo_GenericPhoneLabel: String { return self._s[3542]! } - public var Privacy_Calls_NeverAllow: String { return self._s[3543]! } - public var VoiceOver_Chat_File: String { return self._s[3544]! } + public var SaveIncomingPhotosSettings_From: String { return self._s[3562]! } + public var VoiceOver_Navigation_Search: String { return self._s[3563]! } + public var Map_LiveLocationTitle: String { return self._s[3564]! } + public var Login_InfoAvatarAdd: String { return self._s[3565]! } + public var Passport_Identity_FilesView: String { return self._s[3566]! } + public var UserInfo_GenericPhoneLabel: String { return self._s[3567]! } + public var Privacy_Calls_NeverAllow: String { return self._s[3568]! } + public var VoiceOver_Chat_File: String { return self._s[3569]! } public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3545]!, self._r[3545]!, [_0]) + return formatWithArgumentRanges(self._s[3570]!, self._r[3570]!, [_0]) } - public var ContactInfo_PhoneNumberHidden: String { return self._s[3546]! } - public var TwoStepAuth_ConfirmationText: String { return self._s[3547]! } - public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[3548]! } + public var ContactInfo_PhoneNumberHidden: String { return self._s[3571]! } + public var TwoStepAuth_ConfirmationText: String { return self._s[3572]! } + public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[3573]! } public func PUSH_CHAT_MESSAGE_VIDEOS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3549]!, self._r[3549]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3574]!, self._r[3574]!, [_1, _2, _3]) } - public var Channel_AdminLogFilter_AdminsAll: String { return self._s[3550]! } - public var Tour_Title2: String { return self._s[3551]! } - public var Conversation_FileOpenIn: String { return self._s[3552]! } - public var Checkout_ErrorPrecheckoutFailed: String { return self._s[3553]! } - public var Wallpaper_Set: String { return self._s[3554]! } - public var Passport_Identity_Translations: String { return self._s[3556]! } + public var Channel_AdminLogFilter_AdminsAll: String { return self._s[3575]! } + public var Tour_Title2: String { return self._s[3576]! } + public var Conversation_FileOpenIn: String { return self._s[3577]! } + public var Checkout_ErrorPrecheckoutFailed: String { return self._s[3578]! } + public var Wallpaper_Set: String { return self._s[3579]! } + public var Passport_Identity_Translations: String { return self._s[3581]! } public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3557]!, self._r[3557]!, [_0]) + return formatWithArgumentRanges(self._s[3582]!, self._r[3582]!, [_0]) } - public var Channel_LeaveChannel: String { return self._s[3558]! } + public var Channel_LeaveChannel: String { return self._s[3583]! } public func PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3559]!, self._r[3559]!, [_1]) + return formatWithArgumentRanges(self._s[3584]!, self._r[3584]!, [_1]) } - public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[3561]! } - public var PhotoEditor_HighlightsTint: String { return self._s[3562]! } - public var Passport_Email_Delete: String { return self._s[3563]! } - public var Conversation_Mute: String { return self._s[3565]! } - public var Channel_AddBotAsAdmin: String { return self._s[3566]! } - public var Channel_AdminLog_CanSendMessages: String { return self._s[3568]! } - public var Channel_Management_LabelOwner: String { return self._s[3570]! } + public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[3586]! } + public var PhotoEditor_HighlightsTint: String { return self._s[3587]! } + public var Passport_Email_Delete: String { return self._s[3588]! } + public var Conversation_Mute: String { return self._s[3590]! } + public var Channel_AddBotAsAdmin: String { return self._s[3591]! } + public var Channel_AdminLog_CanSendMessages: String { return self._s[3593]! } + public var Channel_Management_LabelOwner: String { return self._s[3595]! } public func Notification_PassportValuesSentMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3571]!, self._r[3571]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3596]!, self._r[3596]!, [_1, _2]) } - public var Calls_CallTabDescription: String { return self._s[3572]! } - public var Passport_Identity_NativeNameHelp: String { return self._s[3573]! } - public var Common_No: String { return self._s[3574]! } - public var Weekday_Sunday: String { return self._s[3575]! } - public var Notification_Reply: String { return self._s[3576]! } - public var Conversation_ViewMessage: String { return self._s[3577]! } + public var Calls_CallTabDescription: String { return self._s[3597]! } + public var Passport_Identity_NativeNameHelp: String { return self._s[3598]! } + public var Common_No: String { return self._s[3599]! } + public var Weekday_Sunday: String { return self._s[3600]! } + public var Notification_Reply: String { return self._s[3601]! } + public var Conversation_ViewMessage: String { return self._s[3602]! } public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3578]!, self._r[3578]!, [_0]) + return formatWithArgumentRanges(self._s[3603]!, self._r[3603]!, [_0]) } public func Map_LiveLocationPrivateDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3579]!, self._r[3579]!, [_0]) + return formatWithArgumentRanges(self._s[3604]!, self._r[3604]!, [_0]) } - public var SettingsSearch_Synonyms_EditProfile_AddAccount: String { return self._s[3580]! } - public var Message_PinnedDocumentMessage: String { return self._s[3581]! } - public var DialogList_TabTitle: String { return self._s[3583]! } - public var ChatSettings_AutoPlayTitle: String { return self._s[3584]! } - public var Passport_FieldEmail: String { return self._s[3585]! } - public var Conversation_UnpinMessageAlert: String { return self._s[3586]! } - public var Passport_Address_TypeBankStatement: String { return self._s[3587]! } - public var Passport_Identity_ExpiryDate: String { return self._s[3588]! } - public var Privacy_Calls_P2P: String { return self._s[3589]! } + public var SettingsSearch_Synonyms_EditProfile_AddAccount: String { return self._s[3605]! } + public var Message_PinnedDocumentMessage: String { return self._s[3606]! } + public var DialogList_TabTitle: String { return self._s[3608]! } + public var ChatSettings_AutoPlayTitle: String { return self._s[3609]! } + public var Passport_FieldEmail: String { return self._s[3610]! } + public var Conversation_UnpinMessageAlert: String { return self._s[3611]! } + public var Passport_Address_TypeBankStatement: String { return self._s[3612]! } + public var Passport_Identity_ExpiryDate: String { return self._s[3613]! } + public var Privacy_Calls_P2P: String { return self._s[3614]! } public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3591]!, self._r[3591]!, [_0]) - } - public var SocksProxySetup_UseForCallsHelp: String { return self._s[3592]! } - public func PUSH_CHAT_ALBUM(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3593]!, self._r[3593]!, [_1, _2]) - } - public var Stickers_ClearRecent: String { return self._s[3594]! } - public var EnterPasscode_ChangeTitle: String { return self._s[3595]! } - public var Passport_InfoText: String { return self._s[3596]! } - public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[3597]! } - public func Login_InvalidPhoneEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3598]!, self._r[3598]!, [_0]) - } - public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3599]!, self._r[3599]!, [_1, _2, _3]) - } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChannels: String { return self._s[3600]! } - public var ScheduledMessages_PollUnavailable: String { return self._s[3601]! } - public var VoiceOver_Navigation_Compose: String { return self._s[3602]! } - public var Passport_Identity_EditDriversLicense: String { return self._s[3603]! } - public var Conversation_TapAndHoldToRecord: String { return self._s[3605]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[3606]! } - public func Notification_CallTimeFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3607]!, self._r[3607]!, [_1, _2]) - } - public var Channel_EditAdmin_PermissionInviteViaLink: String { return self._s[3609]! } - public func Generic_OpenHiddenLinkAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3611]!, self._r[3611]!, [_0]) - } - public var DialogList_Unread: String { return self._s[3612]! } - public func PUSH_CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3613]!, self._r[3613]!, [_1, _2]) - } - public var User_DeletedAccount: String { return self._s[3614]! } - public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[3615]! } - public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3616]!, self._r[3616]!, [_0]) } - public var UserInfo_NotificationsDefault: String { return self._s[3617]! } - public var SharedMedia_CategoryMedia: String { return self._s[3618]! } - public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[3619]! } - public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[3620]! } - public var Watch_ChatList_Compose: String { return self._s[3621]! } - public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[3622]! } - public var AutoDownloadSettings_Delimeter: String { return self._s[3623]! } - public var Watch_Microphone_Access: String { return self._s[3624]! } - public var Group_Setup_HistoryHeader: String { return self._s[3625]! } - public var Map_SetThisLocation: String { return self._s[3626]! } - public var Appearance_ThemePreview_Chat_2_ReplyName: String { return self._s[3627]! } - public var Activity_UploadingPhoto: String { return self._s[3628]! } - public var Conversation_Edit: String { return self._s[3630]! } - public var Group_ErrorSendRestrictedMedia: String { return self._s[3631]! } - public var Login_TermsOfServiceDecline: String { return self._s[3632]! } - public var Message_PinnedContactMessage: String { return self._s[3633]! } + public var SocksProxySetup_UseForCallsHelp: String { return self._s[3617]! } + public func PUSH_CHAT_ALBUM(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3618]!, self._r[3618]!, [_1, _2]) + } + public var Stickers_ClearRecent: String { return self._s[3619]! } + public var EnterPasscode_ChangeTitle: String { return self._s[3620]! } + public var Passport_InfoText: String { return self._s[3621]! } + public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[3622]! } + public func Login_InvalidPhoneEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3623]!, self._r[3623]!, [_0]) + } + public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3624]!, self._r[3624]!, [_1, _2, _3]) + } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChannels: String { return self._s[3625]! } + public var ScheduledMessages_PollUnavailable: String { return self._s[3626]! } + public var VoiceOver_Navigation_Compose: String { return self._s[3627]! } + public var Passport_Identity_EditDriversLicense: String { return self._s[3628]! } + public var Conversation_TapAndHoldToRecord: String { return self._s[3630]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[3631]! } + public func Notification_CallTimeFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3632]!, self._r[3632]!, [_1, _2]) + } + public var Channel_EditAdmin_PermissionInviteViaLink: String { return self._s[3634]! } + public func Generic_OpenHiddenLinkAlert(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3636]!, self._r[3636]!, [_0]) + } + public var DialogList_Unread: String { return self._s[3637]! } + public func PUSH_CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3638]!, self._r[3638]!, [_1, _2]) + } + public var User_DeletedAccount: String { return self._s[3639]! } + public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[3640]! } + public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3641]!, self._r[3641]!, [_0]) + } + public var UserInfo_NotificationsDefault: String { return self._s[3642]! } + public var SharedMedia_CategoryMedia: String { return self._s[3643]! } + public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[3644]! } + public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[3645]! } + public var Watch_ChatList_Compose: String { return self._s[3646]! } + public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[3647]! } + public var AutoDownloadSettings_Delimeter: String { return self._s[3648]! } + public var Watch_Microphone_Access: String { return self._s[3649]! } + public var Group_Setup_HistoryHeader: String { return self._s[3650]! } + public var Map_SetThisLocation: String { return self._s[3651]! } + public var Appearance_ThemePreview_Chat_2_ReplyName: String { return self._s[3652]! } + public var Activity_UploadingPhoto: String { return self._s[3653]! } + public var Conversation_Edit: String { return self._s[3655]! } + public var Group_ErrorSendRestrictedMedia: String { return self._s[3656]! } + public var Login_TermsOfServiceDecline: String { return self._s[3657]! } + public var Message_PinnedContactMessage: String { return self._s[3658]! } public func Channel_AdminLog_MessageRestrictedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3634]!, self._r[3634]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3659]!, self._r[3659]!, [_1, _2]) } public func Login_PhoneBannedEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3635]!, self._r[3635]!, [_1, _2, _3, _4, _5]) + return formatWithArgumentRanges(self._s[3660]!, self._r[3660]!, [_1, _2, _3, _4, _5]) } - public var Appearance_LargeEmoji: String { return self._s[3636]! } - public var TwoStepAuth_AdditionalPassword: String { return self._s[3638]! } - public var EditTheme_Edit_Preview_IncomingReplyText: String { return self._s[3639]! } + public var Appearance_LargeEmoji: String { return self._s[3661]! } + public var TwoStepAuth_AdditionalPassword: String { return self._s[3663]! } + public var EditTheme_Edit_Preview_IncomingReplyText: String { return self._s[3664]! } public func PUSH_CHAT_DELETE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3640]!, self._r[3640]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3665]!, self._r[3665]!, [_1, _2]) } - public var Passport_Phone_EnterOtherNumber: String { return self._s[3641]! } - public var Message_PinnedPhotoMessage: String { return self._s[3642]! } - public var Passport_FieldPhone: String { return self._s[3643]! } - public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[3644]! } - public var ChatSettings_AutoPlayGifs: String { return self._s[3645]! } - public var InfoPlist_NSCameraUsageDescription: String { return self._s[3647]! } - public var Conversation_Call: String { return self._s[3648]! } - public var Common_TakePhoto: String { return self._s[3650]! } - public var Group_EditAdmin_RankTitle: String { return self._s[3651]! } - public var Channel_NotificationLoading: String { return self._s[3652]! } + public var Passport_Phone_EnterOtherNumber: String { return self._s[3666]! } + public var Message_PinnedPhotoMessage: String { return self._s[3667]! } + public var Passport_FieldPhone: String { return self._s[3668]! } + public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[3669]! } + public var ChatSettings_AutoPlayGifs: String { return self._s[3670]! } + public var InfoPlist_NSCameraUsageDescription: String { return self._s[3672]! } + public var Conversation_Call: String { return self._s[3673]! } + public var Common_TakePhoto: String { return self._s[3675]! } + public var Group_EditAdmin_RankTitle: String { return self._s[3676]! } + public var Channel_NotificationLoading: String { return self._s[3677]! } public func Notification_Exceptions_Sound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3653]!, self._r[3653]!, [_0]) + return formatWithArgumentRanges(self._s[3678]!, self._r[3678]!, [_0]) } public func ScheduledMessages_ScheduledDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3654]!, self._r[3654]!, [_0]) + return formatWithArgumentRanges(self._s[3679]!, self._r[3679]!, [_0]) } public func PUSH_CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3655]!, self._r[3655]!, [_1]) + return formatWithArgumentRanges(self._s[3680]!, self._r[3680]!, [_1]) } - public var Permissions_SiriTitle_v0: String { return self._s[3656]! } + public var Permissions_SiriTitle_v0: String { return self._s[3681]! } public func VoiceOver_Chat_VoiceMessageFrom(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3657]!, self._r[3657]!, [_0]) + return formatWithArgumentRanges(self._s[3682]!, self._r[3682]!, [_0]) } public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3658]!, self._r[3658]!, [_0]) + return formatWithArgumentRanges(self._s[3683]!, self._r[3683]!, [_0]) } - public var Channel_MessagePhotoRemoved: String { return self._s[3659]! } - public var Common_edit: String { return self._s[3660]! } - public var PrivacySettings_AuthSessions: String { return self._s[3661]! } - public var Month_ShortJune: String { return self._s[3662]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[3663]! } - public var Call_ReportSend: String { return self._s[3664]! } - public var Watch_LastSeen_JustNow: String { return self._s[3665]! } - public var Notifications_MessageNotifications: String { return self._s[3666]! } - public var WallpaperSearch_ColorGreen: String { return self._s[3667]! } - public var BroadcastListInfo_AddRecipient: String { return self._s[3669]! } - public var Group_Status: String { return self._s[3670]! } + public var Channel_MessagePhotoRemoved: String { return self._s[3684]! } + public var Common_edit: String { return self._s[3685]! } + public var PrivacySettings_AuthSessions: String { return self._s[3686]! } + public var Month_ShortJune: String { return self._s[3687]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[3688]! } + public var Call_ReportSend: String { return self._s[3689]! } + public var Watch_LastSeen_JustNow: String { return self._s[3690]! } + public var Notifications_MessageNotifications: String { return self._s[3691]! } + public var WallpaperSearch_ColorGreen: String { return self._s[3692]! } + public var BroadcastListInfo_AddRecipient: String { return self._s[3694]! } + public var Group_Status: String { return self._s[3695]! } public func AutoNightTheme_LocationHelp(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3671]!, self._r[3671]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3696]!, self._r[3696]!, [_0, _1]) } - public var TextFormat_AddLinkTitle: String { return self._s[3672]! } - public var ShareMenu_ShareTo: String { return self._s[3673]! } - public var Conversation_Moderate_Ban: String { return self._s[3674]! } + public var TextFormat_AddLinkTitle: String { return self._s[3697]! } + public var ShareMenu_ShareTo: String { return self._s[3698]! } + public var Conversation_Moderate_Ban: String { return self._s[3699]! } public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3675]!, self._r[3675]!, [_0]) + return formatWithArgumentRanges(self._s[3700]!, self._r[3700]!, [_0]) } - public var SharedMedia_ViewInChat: String { return self._s[3676]! } - public var Map_LiveLocationFor8Hours: String { return self._s[3677]! } + public var SharedMedia_ViewInChat: String { return self._s[3701]! } + public var Map_LiveLocationFor8Hours: String { return self._s[3702]! } public func PUSH_PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3678]!, self._r[3678]!, [_1]) + return formatWithArgumentRanges(self._s[3703]!, self._r[3703]!, [_1]) } public func PUSH_PINNED_POLL(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3679]!, self._r[3679]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3704]!, self._r[3704]!, [_1, _2]) } public func Map_AccurateTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3681]!, self._r[3681]!, [_0]) + return formatWithArgumentRanges(self._s[3706]!, self._r[3706]!, [_0]) } - public var Map_OpenInHereMaps: String { return self._s[3682]! } - public var Appearance_ReduceMotion: String { return self._s[3683]! } + public var Map_OpenInHereMaps: String { return self._s[3707]! } + public var Appearance_ReduceMotion: String { return self._s[3708]! } public func PUSH_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3684]!, self._r[3684]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3709]!, self._r[3709]!, [_1, _2]) } - public var Channel_Setup_TypePublicHelp: String { return self._s[3685]! } - public var Passport_Identity_EditInternalPassport: String { return self._s[3686]! } - public var PhotoEditor_Skip: String { return self._s[3687]! } - public func QuickSend_Photos(_ value: Int32) -> String { + public var Channel_Setup_TypePublicHelp: String { return self._s[3710]! } + public var Passport_Identity_EditInternalPassport: String { return self._s[3711]! } + public var PhotoEditor_Skip: String { return self._s[3712]! } + public func Map_ETAMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, stringValue) } - public func Call_ShortSeconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_ContactEmailCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue) - } - public func InviteText_ContactsCountText(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Seconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_DeleteConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedContacts(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedVideoMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendGif(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortMinutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func Contacts_ImportersCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteFor_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_AddMaskCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func StickerPack_AddStickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortHours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_ContactPhoneNumberCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_File(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_SharePhoto(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, _2, _1, _3) + return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, _1, _2) } public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Notifications_Exceptions(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Map_ETAHours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedFiles(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_PollVotes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_Seconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Theme_UsersCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteFor_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedStickers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusMembers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Years(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_StickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Video(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPolls(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortSeconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func MessagePoll_VotedCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_SelectedMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) - } - public func GroupInfo_ParticipantCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func UserCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusSubscribers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_ShareItem(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func ForwardedVideos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortDays(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_UserInfo_Mute(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_ShareVideo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Weeks(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Generic(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_SelectedChats(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Months(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue) - } - public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, _0, _1) - } - public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue) - } - public func VoiceOver_Chat_PollOptionCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LastSeen_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedGifs(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPhotos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedAudios(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Invitation_Members(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, _1, _2) } public func Call_ShortMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) } - public func AttachmentMenu_SendItem(_ value: Int32) -> String { + public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { + public func ForwardedContacts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) } - public func SharedMedia_Photo(_ value: Int32) -> String { + public func Media_SharePhoto(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedLocations(_ value: Int32) -> String { + public func ChatList_SelectedChats(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) } - public func Passport_Scans(_ value: Int32) -> String { + public func MessageTimer_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notification_GameScoreExtended(_ value: Int32) -> String { + public func MuteFor_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Video(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Contacts_ImportersCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) + } + public func QuickSend_Photos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Months(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func MessageTimer_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedFiles(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_ContactPhoneNumberCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Years(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedVideoMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_PollOptionCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) } public func MessageTimer_ShortWeeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Call_ShortSeconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedVideos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) + } + public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_DeleteConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func Notifications_Exceptions(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) + } + public func InviteText_ContactsCountText(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_AddStickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) } public func SharedMedia_Link(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusOnline(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) } public func AttachmentMenu_SendVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue) } - public func Map_ETAMinutes(_ value: Int32) -> String { + public func Media_ShareVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[108 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[109 * 6 + Int(form.rawValue)]!, _2, _1, _3) + return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, _1, _2) } - public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { + public func MessagePoll_VotedCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[110 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedGifs(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedStickers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Seconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Theme_UsersCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue) + } + public func UserCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortDays(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) + } + public func GroupInfo_ParticipantCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) } public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[111 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_StickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortHours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_PollVotes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func SharedMedia_Generic(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func Passport_Scans(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func Conversation_StatusOnline(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) } public func LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[112 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func SharedMedia_Photo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusSubscribers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_SelectedMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_File(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Invitation_Members(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedAudios(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusMembers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue) + } + public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Watch_UserInfo_Mute(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, _0, _1) + } + public func AttachmentMenu_SendGif(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) } public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[113 * 6 + Int(form.rawValue)]!, _1, _2) + return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_AddMaskCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Seconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedPhotos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, stringValue) + } + public func VoiceOver_Chat_ContactEmailCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LastSeen_MinutesAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteFor_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Weeks(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendItem(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedLocations(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[108 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Map_ETAHours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[109 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_ShareItem(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[110 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[111 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[112 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func ForwardedPolls(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[113 * 6 + Int(form.rawValue)]!, stringValue) } public init(primaryComponent: PresentationStringsComponent, secondaryComponent: PresentationStringsComponent?, groupingSeparator: String) { diff --git a/submodules/TelegramPresentationData/Sources/PresentationTheme.swift b/submodules/TelegramPresentationData/Sources/PresentationTheme.swift index 606f1f62f6..12c9d56dfe 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationTheme.swift @@ -19,10 +19,12 @@ public final class PresentationThemeGradientColors { } public final class PresentationThemeIntro { + public let statusBarStyle: PresentationThemeStatusBarStyle public let startButtonColor: UIColor public let dotColor: UIColor - public init(startButtonColor: UIColor, dotColor: UIColor) { + public init(statusBarStyle: PresentationThemeStatusBarStyle, startButtonColor: UIColor, dotColor: UIColor) { + self.statusBarStyle = statusBarStyle self.startButtonColor = startButtonColor self.dotColor = dotColor } diff --git a/submodules/TelegramPresentationData/Sources/PresentationThemeCodable.swift b/submodules/TelegramPresentationData/Sources/PresentationThemeCodable.swift index 15efb2bed3..590742ca56 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationThemeCodable.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationThemeCodable.swift @@ -237,18 +237,21 @@ extension PresentationThemeGradientColors: Codable { extension PresentationThemeIntro: Codable { enum CodingKeys: String, CodingKey { + case statusBar case startButton case dot } public convenience init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: CodingKeys.self) - self.init(startButtonColor: try decodeColor(values, .startButton), + self.init(statusBarStyle: try values.decode(PresentationThemeStatusBarStyle.self, forKey: .statusBar), + startButtonColor: try decodeColor(values, .startButton), dotColor: try decodeColor(values, .dot)) } public func encode(to encoder: Encoder) throws { var values = encoder.container(keyedBy: CodingKeys.self) + try values.encode(self.statusBarStyle, forKey: .statusBar) try encodeColor(&values, self.startButtonColor, .startButton) try encodeColor(&values, self.dotColor, .dot) } diff --git a/submodules/TelegramPresentationData/Sources/PresentationThemeCoder.swift b/submodules/TelegramPresentationData/Sources/PresentationThemeCoder.swift index 57858bea95..888417d512 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationThemeCoder.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationThemeCoder.swift @@ -1,4 +1,5 @@ import Foundation +import UIKit import TelegramCore public func encodePresentationTheme(_ theme: PresentationTheme) -> String? { diff --git a/submodules/TelegramPresentationData/Sources/PresentationThemeEssentialGraphics.swift b/submodules/TelegramPresentationData/Sources/PresentationThemeEssentialGraphics.swift index 93153d7aea..c825b31b52 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationThemeEssentialGraphics.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationThemeEssentialGraphics.swift @@ -4,6 +4,7 @@ import Display import Postbox import TelegramCore import TelegramUIPreferences +import AppBundle private func generateCheckImage(partial: Bool, color: UIColor) -> UIImage? { return generateImage(CGSize(width: 11.0, height: 9.0), rotatedContext: { size, context in diff --git a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesCallList.swift b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesCallList.swift index 89f5a4e0d7..519697a987 100644 --- a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesCallList.swift +++ b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesCallList.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import Display +import AppBundle public struct PresentationResourcesCallList { public static func outgoingIcon(_ theme: PresentationTheme) -> UIImage? { diff --git a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChat.swift b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChat.swift index 4c27cc528b..903f3c4419 100644 --- a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChat.swift +++ b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChat.swift @@ -3,6 +3,7 @@ import UIKit import Display import Postbox import TelegramCore +import AppBundle private func generateLineImage(color: UIColor) -> UIImage? { return generateImage(CGSize(width: 2.0, height: 3.0), contextGenerator: { size, context in diff --git a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChatList.swift b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChatList.swift index 6f4b5ee4fb..77dd16f219 100644 --- a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChatList.swift +++ b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesChatList.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import Display +import AppBundle private func generateStatusCheckImage(theme: PresentationTheme, single: Bool) -> UIImage? { return generateImage(CGSize(width: single ? 13.0 : 18.0, height: 13.0), rotatedContext: { size, context in diff --git a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesItemList.swift b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesItemList.swift index 84a91cad0f..54e893f7c4 100644 --- a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesItemList.swift +++ b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesItemList.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import Display +import AppBundle public func generateItemListCheckIcon(color: UIColor) -> UIImage? { return generateImage(CGSize(width: 12.0, height: 10.0), rotatedContext: { size, context in diff --git a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesRootController.swift b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesRootController.swift index ba4958757d..0e31cd52d3 100644 --- a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesRootController.swift +++ b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesRootController.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import Display +import AppBundle private func generateShareButtonImage(theme: PresentationTheme) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Chat List/NavigationShare"), color: theme.rootController.navigationBar.accentTextColor) diff --git a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesSettings.swift b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesSettings.swift index fd7466ff77..627ec72c56 100644 --- a/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesSettings.swift +++ b/submodules/TelegramPresentationData/Sources/Resources/PresentationResourcesSettings.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import Display +import AppBundle public struct PresentationResourcesSettings { public static let editProfile = UIImage(bundleImageName: "Settings/MenuIcons/EditProfile")?.precomposed() diff --git a/submodules/TelegramPresentationData/TelegramPresentationData.xcodeproj/project.pbxproj b/submodules/TelegramPresentationData/TelegramPresentationData.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..fd4e4ce018 --- /dev/null +++ b/submodules/TelegramPresentationData/TelegramPresentationData.xcodeproj/project.pbxproj @@ -0,0 +1,1056 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E297288B4F000000000 + + isa + PBXFileReference + name + TelegramPresentationData-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramPresentationData/TelegramPresentationData-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D851D05A00000000 + + isa + PBXFileReference + name + TelegramPresentationData-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramPresentationData/TelegramPresentationData-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294BE87BBC00000000 + + isa + PBXFileReference + name + TelegramPresentationData-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramPresentationData/TelegramPresentationData-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E297288B4F000000000 + 1DD70E29D851D05A00000000 + 1DD70E294BE87BBC00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E292395015100000000 + + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2984A59C1D00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2940A0D93C00000000 + + isa + PBXFileReference + name + PresentationResourceKey.swift + path + Sources/Resources/PresentationResourceKey.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E344CEAC00000000 + + isa + PBXFileReference + name + PresentationResourcesCallList.swift + path + Sources/Resources/PresentationResourcesCallList.swift + sourceTree + SOURCE_ROOT + + 1DD70E290003F26800000000 + + isa + PBXFileReference + name + PresentationResourcesChat.swift + path + Sources/Resources/PresentationResourcesChat.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BB5D772600000000 + + isa + PBXFileReference + name + PresentationResourcesChatList.swift + path + Sources/Resources/PresentationResourcesChatList.swift + sourceTree + SOURCE_ROOT + + 1DD70E29413A312100000000 + + isa + PBXFileReference + name + PresentationResourcesItemList.swift + path + Sources/Resources/PresentationResourcesItemList.swift + sourceTree + SOURCE_ROOT + + 1DD70E290FC276EE00000000 + + isa + PBXFileReference + name + PresentationResourcesRootController.swift + path + Sources/Resources/PresentationResourcesRootController.swift + sourceTree + SOURCE_ROOT + + 1DD70E291E13E97300000000 + + isa + PBXFileReference + name + PresentationResourcesSettings.swift + path + Sources/Resources/PresentationResourcesSettings.swift + sourceTree + SOURCE_ROOT + + B401C979013EDE0500000000 + + isa + PBXGroup + name + Resources + path + Sources/Resources + sourceTree + SOURCE_ROOT + children + + 1DD70E2940A0D93C00000000 + 1DD70E29E344CEAC00000000 + 1DD70E290003F26800000000 + 1DD70E29BB5D772600000000 + 1DD70E29413A312100000000 + 1DD70E290FC276EE00000000 + 1DD70E291E13E97300000000 + + + 1DD70E293AF8C24900000000 + + isa + PBXFileReference + name + ChatControllerBackgroundNode.swift + path + Sources/ChatControllerBackgroundNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D1D9219800000000 + + isa + PBXFileReference + name + ChatMessageBubbleImages.swift + path + Sources/ChatMessageBubbleImages.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DBD1814500000000 + + isa + PBXFileReference + name + ComponentsThemes.swift + path + Sources/ComponentsThemes.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E4C30AFD00000000 + + isa + PBXFileReference + name + DefaultDarkPresentationTheme.swift + path + Sources/DefaultDarkPresentationTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BC51060300000000 + + isa + PBXFileReference + name + DefaultDarkTintedPresentationTheme.swift + path + Sources/DefaultDarkTintedPresentationTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E29BA1E31F900000000 + + isa + PBXFileReference + name + DefaultDayPresentationTheme.swift + path + Sources/DefaultDayPresentationTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D460D78C00000000 + + isa + PBXFileReference + name + DefaultPresentationStrings.swift + path + Sources/DefaultPresentationStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D49E2A0600000000 + + isa + PBXFileReference + name + EDSunriseSet.h + path + Sources/EDSunriseSet.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D49E2A0B00000000 + + isa + PBXFileReference + name + EDSunriseSet.m + path + Sources/EDSunriseSet.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2975F0684600000000 + + isa + PBXFileReference + name + MakePresentationTheme.swift + path + Sources/MakePresentationTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E292EF9141500000000 + + isa + PBXFileReference + name + NumberPluralizationForm.h + path + Sources/NumberPluralizationForm.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292EF9141A00000000 + + isa + PBXFileReference + name + NumberPluralizationForm.m + path + Sources/NumberPluralizationForm.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29F91318E900000000 + + isa + PBXFileReference + name + NumericFormat.swift + path + Sources/NumericFormat.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E55B21A900000000 + + isa + PBXFileReference + name + PresentationData.swift + path + Sources/PresentationData.swift + sourceTree + SOURCE_ROOT + + 1DD70E296771CE8D00000000 + + isa + PBXFileReference + name + PresentationStrings.swift + path + Sources/PresentationStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D868521400000000 + + isa + PBXFileReference + name + PresentationTheme.swift + path + Sources/PresentationTheme.swift + sourceTree + SOURCE_ROOT + + 1DD70E2907087D8800000000 + + isa + PBXFileReference + name + PresentationThemeCodable.swift + path + Sources/PresentationThemeCodable.swift + sourceTree + SOURCE_ROOT + + 1DD70E29070398DB00000000 + + isa + PBXFileReference + name + PresentationThemeCoder.swift + path + Sources/PresentationThemeCoder.swift + sourceTree + SOURCE_ROOT + + 1DD70E2913777C2F00000000 + + isa + PBXFileReference + name + PresentationThemeEssentialGraphics.swift + path + Sources/PresentationThemeEssentialGraphics.swift + sourceTree + SOURCE_ROOT + + 1DD70E295646A68000000000 + + isa + PBXFileReference + name + PresentationsResourceCache.swift + path + Sources/PresentationsResourceCache.swift + sourceTree + SOURCE_ROOT + + 1DD70E293D3BD71400000000 + + isa + PBXFileReference + name + StringPluralization.swift + path + Sources/StringPluralization.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B4C8B5400000000 + + isa + PBXFileReference + name + WallpaperUtils.swift + path + Sources/WallpaperUtils.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C979013EDE0500000000 + 1DD70E293AF8C24900000000 + 1DD70E29D1D9219800000000 + 1DD70E29DBD1814500000000 + 1DD70E29E4C30AFD00000000 + 1DD70E29BC51060300000000 + 1DD70E29BA1E31F900000000 + 1DD70E29D460D78C00000000 + 1DD70E29D49E2A0600000000 + 1DD70E29D49E2A0B00000000 + 1DD70E2975F0684600000000 + 1DD70E292EF9141500000000 + 1DD70E292EF9141A00000000 + 1DD70E29F91318E900000000 + 1DD70E29E55B21A900000000 + 1DD70E296771CE8D00000000 + 1DD70E29D868521400000000 + 1DD70E2907087D8800000000 + 1DD70E29070398DB00000000 + 1DD70E2913777C2F00000000 + 1DD70E295646A68000000000 + 1DD70E293D3BD71400000000 + 1DD70E298B4C8B5400000000 + + + B401C97977B5752500000000 + + isa + PBXGroup + name + TelegramPresentationData + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97977B5752500000000 + + + E7A30F0440A0D93C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2940A0D93C00000000 + + E7A30F04E344CEAC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E344CEAC00000000 + + E7A30F040003F26800000000 + + isa + PBXBuildFile + fileRef + 1DD70E290003F26800000000 + + E7A30F04BB5D772600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BB5D772600000000 + + E7A30F04413A312100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29413A312100000000 + + E7A30F040FC276EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290FC276EE00000000 + + E7A30F041E13E97300000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E13E97300000000 + + E7A30F043AF8C24900000000 + + isa + PBXBuildFile + fileRef + 1DD70E293AF8C24900000000 + + E7A30F04D1D9219800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D1D9219800000000 + + E7A30F04DBD1814500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DBD1814500000000 + + E7A30F04E4C30AFD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E4C30AFD00000000 + + E7A30F04BC51060300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BC51060300000000 + + E7A30F04BA1E31F900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA1E31F900000000 + + E7A30F04D460D78C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D460D78C00000000 + + E7A30F04D49E2A0B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D49E2A0B00000000 + + E7A30F0475F0684600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2975F0684600000000 + + E7A30F042EF9141A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292EF9141A00000000 + + E7A30F04F91318E900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F91318E900000000 + + E7A30F04E55B21A900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E55B21A900000000 + + E7A30F046771CE8D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296771CE8D00000000 + + E7A30F04D868521400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D868521400000000 + + E7A30F0407087D8800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2907087D8800000000 + + E7A30F04070398DB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29070398DB00000000 + + E7A30F0413777C2F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2913777C2F00000000 + + E7A30F045646A68000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295646A68000000000 + + E7A30F043D3BD71400000000 + + isa + PBXBuildFile + fileRef + 1DD70E293D3BD71400000000 + + E7A30F048B4C8B5400000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B4C8B5400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0440A0D93C00000000 + E7A30F04E344CEAC00000000 + E7A30F040003F26800000000 + E7A30F04BB5D772600000000 + E7A30F04413A312100000000 + E7A30F040FC276EE00000000 + E7A30F041E13E97300000000 + E7A30F043AF8C24900000000 + E7A30F04D1D9219800000000 + E7A30F04DBD1814500000000 + E7A30F04E4C30AFD00000000 + E7A30F04BC51060300000000 + E7A30F04BA1E31F900000000 + E7A30F04D460D78C00000000 + E7A30F04D49E2A0B00000000 + E7A30F0475F0684600000000 + E7A30F042EF9141A00000000 + E7A30F04F91318E900000000 + E7A30F04E55B21A900000000 + E7A30F046771CE8D00000000 + E7A30F04D868521400000000 + E7A30F0407087D8800000000 + E7A30F04070398DB00000000 + E7A30F0413777C2F00000000 + E7A30F045646A68000000000 + E7A30F043D3BD71400000000 + E7A30F048B4C8B5400000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E297288B4F000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D851D05A00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294BE87BBC00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E77B5752500000000 + + isa + PBXNativeTarget + name + TelegramPresentationData + productName + TelegramPresentationData + productReference + 1DD70E2984A59C1D00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479377B5752500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E77B5752500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479377B5752500000000 + + \ No newline at end of file diff --git a/submodules/TelegramPresentationData/TelegramPresentationData.xcodeproj/xcshareddata/xcschemes/TelegramPresentationData.xcscheme b/submodules/TelegramPresentationData/TelegramPresentationData.xcodeproj/xcshareddata/xcschemes/TelegramPresentationData.xcscheme new file mode 100644 index 0000000000..ec5faa67a1 --- /dev/null +++ b/submodules/TelegramPresentationData/TelegramPresentationData.xcodeproj/xcshareddata/xcschemes/TelegramPresentationData.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramPresentationData/TelegramPresentationData_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramPresentationData/TelegramPresentationData_Xcode.xcodeproj/project.pbxproj index bda6b87d51..fd7acefd40 100644 --- a/submodules/TelegramPresentationData/TelegramPresentationData_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramPresentationData/TelegramPresentationData_Xcode.xcodeproj/project.pbxproj @@ -17,7 +17,6 @@ D06017EF22F3578200796784 /* PresentationResourceKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017E822F3578200796784 /* PresentationResourceKey.swift */; }; D06017F022F3578200796784 /* PresentationResourcesChatList.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017E922F3578200796784 /* PresentationResourcesChatList.swift */; }; D06017F122F3578200796784 /* PresentationResourcesItemList.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017EA22F3578200796784 /* PresentationResourcesItemList.swift */; }; - D06017F322F3583200796784 /* FrameworkSpecific.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017F222F3583200796784 /* FrameworkSpecific.swift */; }; D06017F522F35A4000796784 /* PresentationThemeEssentialGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017F422F35A4000796784 /* PresentationThemeEssentialGraphics.swift */; }; D06017F722F35A9200796784 /* ChatMessageBubbleImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017F622F35A9200796784 /* ChatMessageBubbleImages.swift */; }; D06017F922F35ACF00796784 /* WallpaperUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06017F822F35ACF00796784 /* WallpaperUtils.swift */; }; @@ -44,6 +43,7 @@ D0AE31D822B27AAF0058D3BC /* EDSunriseSet.h in Headers */ = {isa = PBXBuildFile; fileRef = D0AE31D622B27AAE0058D3BC /* EDSunriseSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0AE31D922B27AAF0058D3BC /* EDSunriseSet.m in Sources */ = {isa = PBXBuildFile; fileRef = D0AE31D722B27AAE0058D3BC /* EDSunriseSet.m */; }; D0AE321422B2826A0058D3BC /* ComponentsThemes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AE321322B282690058D3BC /* ComponentsThemes.swift */; }; + D0EFF2422319800700CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF2412319800700CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -57,7 +57,6 @@ D06017E822F3578200796784 /* PresentationResourceKey.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationResourceKey.swift; sourceTree = ""; }; D06017E922F3578200796784 /* PresentationResourcesChatList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationResourcesChatList.swift; sourceTree = ""; }; D06017EA22F3578200796784 /* PresentationResourcesItemList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationResourcesItemList.swift; sourceTree = ""; }; - D06017F222F3583200796784 /* FrameworkSpecific.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkSpecific.swift; sourceTree = ""; }; D06017F422F35A4000796784 /* PresentationThemeEssentialGraphics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationThemeEssentialGraphics.swift; sourceTree = ""; }; D06017F622F35A9200796784 /* ChatMessageBubbleImages.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatMessageBubbleImages.swift; sourceTree = ""; }; D06017F822F35ACF00796784 /* WallpaperUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WallpaperUtils.swift; sourceTree = ""; }; @@ -87,6 +86,7 @@ D0AE31D622B27AAE0058D3BC /* EDSunriseSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EDSunriseSet.h; sourceTree = ""; }; D0AE31D722B27AAE0058D3BC /* EDSunriseSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EDSunriseSet.m; sourceTree = ""; }; D0AE321322B282690058D3BC /* ComponentsThemes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComponentsThemes.swift; sourceTree = ""; }; + D0EFF2412319800700CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -94,6 +94,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF2422319800700CF5164 /* AppBundle.framework in Frameworks */, D068EE9022F4A9B60064E921 /* MediaResources.framework in Frameworks */, D0AE31C322B274E90058D3BC /* TelegramUIPreferences.framework in Frameworks */, D0AE31BF22B274950058D3BC /* Display.framework in Frameworks */, @@ -164,7 +165,6 @@ D06017F622F35A9200796784 /* ChatMessageBubbleImages.swift */, D06017F822F35ACF00796784 /* WallpaperUtils.swift */, D084F9EF22F3AEFD004874CE /* ChatControllerBackgroundNode.swift */, - D06017F222F3583200796784 /* FrameworkSpecific.swift */, D0AE31A922B273F20058D3BC /* TelegramPresentationData.h */, ); path = Sources; @@ -173,6 +173,7 @@ D0AE31B722B2747A0058D3BC /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF2412319800700CF5164 /* AppBundle.framework */, D068EE8F22F4A9B60064E921 /* MediaResources.framework */, D084F9F122F3AFEA004874CE /* AccountContext.framework */, D0AE31C222B274E90058D3BC /* TelegramUIPreferences.framework */, @@ -269,7 +270,6 @@ D06017F122F3578200796784 /* PresentationResourcesItemList.swift in Sources */, D06017EC22F3578200796784 /* PresentationResourcesChat.swift in Sources */, D0AE31D522B27A780058D3BC /* DefaultDayPresentationTheme.swift in Sources */, - D06017F322F3583200796784 /* FrameworkSpecific.swift in Sources */, D06017F022F3578200796784 /* PresentationResourcesChatList.swift in Sources */, D0AE31D422B27A780058D3BC /* DefaultPresentationStrings.swift in Sources */, 097A581B22D528680078B73C /* PresentationThemeCodable.swift in Sources */, diff --git a/submodules/TelegramStringFormatting/BUCK b/submodules/TelegramStringFormatting/BUCK new file mode 100644 index 0000000000..432cd2f422 --- /dev/null +++ b/submodules/TelegramStringFormatting/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramStringFormatting", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/Display:Display#shared", + "//submodules/PlatformRestrictionMatching:PlatformRestrictionMatching", + "//submodules/LocalizedPeerData:LocalizedPeerData", + "//submodules/TextFormat:TextFormat", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TelegramStringFormatting/Sources/CurrencyFormat.swift b/submodules/TelegramStringFormatting/Sources/CurrencyFormat.swift index b233f1bf4b..c673cecd03 100644 --- a/submodules/TelegramStringFormatting/Sources/CurrencyFormat.swift +++ b/submodules/TelegramStringFormatting/Sources/CurrencyFormat.swift @@ -1,4 +1,5 @@ import Foundation +import AppBundle private final class CurrencyFormatterEntry { let symbol: String @@ -19,7 +20,7 @@ private final class CurrencyFormatterEntry { } private func loadCurrencyFormatterEntries() -> [String: CurrencyFormatterEntry] { - guard let filePath = frameworkBundle.path(forResource: "currencies", ofType: "json") else { + guard let filePath = getAppBundle().path(forResource: "currencies", ofType: "json") else { return [:] } guard let data = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else { diff --git a/submodules/TelegramStringFormatting/Sources/FrameworkBundle.swift b/submodules/TelegramStringFormatting/Sources/FrameworkBundle.swift deleted file mode 100644 index 2d6a4df5c4..0000000000 --- a/submodules/TelegramStringFormatting/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,6 +0,0 @@ -import Foundation - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) diff --git a/submodules/TelegramStringFormatting/Sources/NumberFormat.swift b/submodules/TelegramStringFormatting/Sources/NumberFormat.swift index c4f218cc9f..489a7330ee 100644 --- a/submodules/TelegramStringFormatting/Sources/NumberFormat.swift +++ b/submodules/TelegramStringFormatting/Sources/NumberFormat.swift @@ -2,18 +2,36 @@ import Foundation public enum ArabicNumeralStringType { case western - case eastern + case arabic + case persian } public func normalizeArabicNumeralString(_ string: String, type: ArabicNumeralStringType) -> String { var string = string - let numerals = ["٠": "0", "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9"] - for (easternNumeral, westernNumeral) in numerals { + + let numerals = [ + ("0", "٠", "۰"), + ("1", "١", "۱"), + ("2", "٢", "۲"), + ("3", "٣", "۳"), + ("4", "٤", "۴"), + ("5", "٥", "۵"), + ("6", "٦", "۶"), + ("7", "٧", "۷"), + ("8", "٨", "۸"), + ("9", "٩", "۹"), + ] + for (western, arabic, persian) in numerals { switch type { case .western: - string = string.replacingOccurrences(of: easternNumeral, with: westernNumeral) - case .eastern: - string = string.replacingOccurrences(of: westernNumeral, with: easternNumeral) + string = string.replacingOccurrences(of: arabic, with: western) + string = string.replacingOccurrences(of: persian, with: western) + case .arabic: + string = string.replacingOccurrences(of: western, with: arabic) + string = string.replacingOccurrences(of: persian, with: arabic) + case .persian: + string = string.replacingOccurrences(of: western, with: persian) + string = string.replacingOccurrences(of: arabic, with: persian) } } diff --git a/submodules/TelegramStringFormatting/Sources/PresenceStrings.swift b/submodules/TelegramStringFormatting/Sources/PresenceStrings.swift index 5a3b88568c..ad1458ec0c 100644 --- a/submodules/TelegramStringFormatting/Sources/PresenceStrings.swift +++ b/submodules/TelegramStringFormatting/Sources/PresenceStrings.swift @@ -114,7 +114,7 @@ public func stringForUserPresence(strings: PresentationStrings, day: RelativeTim let dayString: String switch day { case .today: - dayString = strings.LastSeen_AtDate(strings.Time_TodayAt(stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)).0).0 + dayString = strings.LastSeen_TodayAt(stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)).0 case .yesterday: dayString = strings.LastSeen_YesterdayAt(stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)).0 } diff --git a/submodules/TelegramStringFormatting/TelegramStringFormatting.xcodeproj/project.pbxproj b/submodules/TelegramStringFormatting/TelegramStringFormatting.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e3e6d6daa2 --- /dev/null +++ b/submodules/TelegramStringFormatting/TelegramStringFormatting.xcodeproj/project.pbxproj @@ -0,0 +1,757 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29BEE3B63E00000000 + + isa + PBXFileReference + name + TelegramStringFormatting-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramStringFormatting/TelegramStringFormatting-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2979F1B62800000000 + + isa + PBXFileReference + name + TelegramStringFormatting-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramStringFormatting/TelegramStringFormatting-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29ED88618A00000000 + + isa + PBXFileReference + name + TelegramStringFormatting-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramStringFormatting/TelegramStringFormatting-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29BEE3B63E00000000 + 1DD70E2979F1B62800000000 + 1DD70E29ED88618A00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29DD3C940F00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29961DBD7900000000 + + isa + PBXFileReference + name + ContactInfoStrings.swift + path + Sources/ContactInfoStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FFA0F42D00000000 + + isa + PBXFileReference + name + CurrencyFormat.swift + path + Sources/CurrencyFormat.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A657804A00000000 + + isa + PBXFileReference + name + DateFormat.swift + path + Sources/DateFormat.swift + sourceTree + SOURCE_ROOT + + 1DD70E29851AE19F00000000 + + isa + PBXFileReference + name + Locale.swift + path + Sources/Locale.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FCB4876B00000000 + + isa + PBXFileReference + name + MessageContentKind.swift + path + Sources/MessageContentKind.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C34D536500000000 + + isa + PBXFileReference + name + NumberFormat.swift + path + Sources/NumberFormat.swift + sourceTree + SOURCE_ROOT + + 1DD70E298B699D4500000000 + + isa + PBXFileReference + name + PeerNotificationSoundStrings.swift + path + Sources/PeerNotificationSoundStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E290E15764C00000000 + + isa + PBXFileReference + name + PresenceStrings.swift + path + Sources/PresenceStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C2DC8D1500000000 + + isa + PBXFileReference + name + ServiceMessageStrings.swift + path + Sources/ServiceMessageStrings.swift + sourceTree + SOURCE_ROOT + + 1DD70E296AFD7A3100000000 + + isa + PBXFileReference + name + StringForDuration.swift + path + Sources/StringForDuration.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29961DBD7900000000 + 1DD70E29FFA0F42D00000000 + 1DD70E29A657804A00000000 + 1DD70E29851AE19F00000000 + 1DD70E29FCB4876B00000000 + 1DD70E29C34D536500000000 + 1DD70E298B699D4500000000 + 1DD70E290E15764C00000000 + 1DD70E29C2DC8D1500000000 + 1DD70E296AFD7A3100000000 + + + B401C9794D2DC19700000000 + + isa + PBXGroup + name + TelegramStringFormatting + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9794D2DC19700000000 + + + E7A30F04961DBD7900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29961DBD7900000000 + + E7A30F04FFA0F42D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FFA0F42D00000000 + + E7A30F04A657804A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A657804A00000000 + + E7A30F04851AE19F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29851AE19F00000000 + + E7A30F04FCB4876B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FCB4876B00000000 + + E7A30F04C34D536500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C34D536500000000 + + E7A30F048B699D4500000000 + + isa + PBXBuildFile + fileRef + 1DD70E298B699D4500000000 + + E7A30F040E15764C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E290E15764C00000000 + + E7A30F04C2DC8D1500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C2DC8D1500000000 + + E7A30F046AFD7A3100000000 + + isa + PBXBuildFile + fileRef + 1DD70E296AFD7A3100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04961DBD7900000000 + E7A30F04FFA0F42D00000000 + E7A30F04A657804A00000000 + E7A30F04851AE19F00000000 + E7A30F04FCB4876B00000000 + E7A30F04C34D536500000000 + E7A30F048B699D4500000000 + E7A30F040E15764C00000000 + E7A30F04C2DC8D1500000000 + E7A30F046AFD7A3100000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04119CDA0700000000 + E7A30F04D65BA68200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29BEE3B63E00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2979F1B62800000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29ED88618A00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E4D2DC19700000000 + + isa + PBXNativeTarget + name + TelegramStringFormatting + productName + TelegramStringFormatting + productReference + 1DD70E29DD3C940F00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847934D2DC19700000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E4D2DC19700000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847934D2DC19700000000 + + \ No newline at end of file diff --git a/submodules/TelegramStringFormatting/TelegramStringFormatting.xcodeproj/xcshareddata/xcschemes/TelegramStringFormatting.xcscheme b/submodules/TelegramStringFormatting/TelegramStringFormatting.xcodeproj/xcshareddata/xcschemes/TelegramStringFormatting.xcscheme new file mode 100644 index 0000000000..288c6c34bb --- /dev/null +++ b/submodules/TelegramStringFormatting/TelegramStringFormatting.xcodeproj/xcshareddata/xcschemes/TelegramStringFormatting.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramStringFormatting/TelegramStringFormatting_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramStringFormatting/TelegramStringFormatting_Xcode.xcodeproj/project.pbxproj index 5d6b2727fc..999904c6fc 100644 --- a/submodules/TelegramStringFormatting/TelegramStringFormatting_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramStringFormatting/TelegramStringFormatting_Xcode.xcodeproj/project.pbxproj @@ -28,8 +28,8 @@ D0C9C35C2300AEBA00FAB518 /* LocalizedPeerData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C35B2300AEBA00FAB518 /* LocalizedPeerData.framework */; }; D0C9C35E2300AEF100FAB518 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C35D2300AEF100FAB518 /* Display.framework */; }; D0C9C3622300AFCC00FAB518 /* CurrencyFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3612300AFCB00FAB518 /* CurrencyFormat.swift */; }; - D0C9C3642300AFE800FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3632300AFE800FAB518 /* FrameworkBundle.swift */; }; D0C9CA3823022A8300FAB518 /* NumberFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9CA3723022A8300FAB518 /* NumberFormat.swift */; }; + D0EFF23C23197F7700CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF23B23197F7700CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -56,8 +56,8 @@ D0C9C35B2300AEBA00FAB518 /* LocalizedPeerData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocalizedPeerData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C35D2300AEF100FAB518 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C3612300AFCB00FAB518 /* CurrencyFormat.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrencyFormat.swift; sourceTree = ""; }; - D0C9C3632300AFE800FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9CA3723022A8300FAB518 /* NumberFormat.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NumberFormat.swift; sourceTree = ""; }; + D0EFF23B23197F7700CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -65,6 +65,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF23C23197F7700CF5164 /* AppBundle.framework in Frameworks */, D03E41722304D6B80049C28B /* Contacts.framework in Frameworks */, D03E41702304D6970049C28B /* AddressBook.framework in Frameworks */, D03E3D4F23045E510049C28B /* PlatformRestrictionMatching.framework in Frameworks */, @@ -114,7 +115,6 @@ D0879AC922F7063300C4D6B3 /* DateFormat.swift */, D0879ABC22F705AE00C4D6B3 /* PresenceStrings.swift */, D0879AB022F7021000C4D6B3 /* TelegramStringFormatting.h */, - D0C9C3632300AFE800FAB518 /* FrameworkBundle.swift */, ); path = Sources; sourceTree = ""; @@ -122,6 +122,7 @@ D0879ABE22F705B700C4D6B3 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF23B23197F7700CF5164 /* AppBundle.framework */, D03E41712304D6B80049C28B /* Contacts.framework */, D03E416F2304D6970049C28B /* AddressBook.framework */, D03E3D4E23045E510049C28B /* PlatformRestrictionMatching.framework */, @@ -217,7 +218,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0C9C3642300AFE800FAB518 /* FrameworkBundle.swift in Sources */, D0C9C3622300AFCC00FAB518 /* CurrencyFormat.swift in Sources */, D03E41982304D7D60049C28B /* PeerNotificationSoundStrings.swift in Sources */, D0C9C3562300AD9900FAB518 /* MessageContentKind.swift in Sources */, diff --git a/submodules/TelegramUI/BUCK b/submodules/TelegramUI/BUCK index d1176c0a40..a5ed51d22f 100644 --- a/submodules/TelegramUI/BUCK +++ b/submodules/TelegramUI/BUCK @@ -1,148 +1,196 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'merge_maps', 'glob_map', 'glob_sub_map', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "framework") -apple_library( - name = 'TelegramUIPrivateModule', - srcs = glob([ - 'TelegramUI/**/*.m', - 'TelegramUI/**/*.mm', - 'TelegramUI/**/*.c', - 'TelegramUI/**/*.cpp', - 'third-party/opusenc/*.c', - 'third-party/opusenc/*.m', - 'third-party/opusfile/*.c', - 'third-party/ogg/ogg/*.c', - 'third-party/RMIntro/3rdparty/*.h', - 'third-party/RMIntro/core/*.c', - 'third-party/RMIntro/platform/common/*.c', - 'third-party/RMIntro/platform/ios/RMGeometry.m', - 'third-party/RMIntro/platform/ios/RMIntroPageView.m', - 'third-party/RMIntro/platform/ios/RMIntroViewController.m', - 'third-party/RMIntro/platform/ios/RMLoginViewController.m', - 'third-party/RMIntro/platform/ios/RMIntroViewController.m', - 'third-party/RMIntro/platform/ios/texture_helper.m', - ]), - headers = merge_maps([ - glob_map(glob([ - 'TelegramUI/**/*.h', - 'third-party/opusenc/*.h', - 'third-party/opusfile/*.h', - 'third-party/RMIntro/3rdparty/**/*.h', - 'third-party/RMIntro/core/*.h', - 'third-party/RMIntro/platform/common/*.h', - 'third-party/RMIntro/platform/ios/platform_gl.h', - 'third-party/RMIntro/platform/ios/RMGeometry.h', - 'third-party/RMIntro/platform/ios/RMIntroPageView.h', - 'third-party/RMIntro/platform/ios/RMIntroViewController.h', - 'third-party/RMIntro/platform/ios/RMLoginViewController.h', - 'third-party/RMIntro/platform/ios/texture_helper.h', - ])), - glob_sub_map('third-party/ogg/', [ - 'third-party/ogg/**/*.h', - ]), - ]), - header_namespace = 'TelegramUIPrivateModule', - exported_headers = [ - 'third-party/opusenc/opusenc.h', - 'TelegramUI/TGDataItem.h', - 'TelegramUI/FastBlur.h', - 'TelegramUI/RingBuffer.h', - 'TelegramUI/TelegramUIIncludes.h', - 'third-party/RMIntro/platform/ios/RMIntroViewController.h', - 'TelegramUI/STPPaymentCardTextField.h', - 'TelegramUI/STPAPIClient.h', - 'TelegramUI/STPAPIClient+ApplePay.h', - 'TelegramUI/STPPaymentConfiguration.h', - 'TelegramUI/STPCard.h', - 'TelegramUI/STPToken.h', - 'TelegramUI/STPBlocks.h', - 'TelegramUI/STPCardBrand.h', - 'TelegramUI/STPCardParams.h', - 'TelegramUI/STPCustomer.h', - 'TelegramUI/STPFormEncoder.h', - 'TelegramUI/STPFormEncodable.h', - 'TelegramUI/STPAddress.h', - 'TelegramUI/STPAPIResponseDecodable.h', - 'TelegramUI/STPPaymentMethod.h', - 'TelegramUI/STPSource.h', - 'TelegramUI/STPBackendAPIAdapter.h', - 'TelegramUI/OngoingCallThreadLocalContext.h', - 'TelegramUI/SecretChatKeyVisualization.h', - 'TelegramUI/NumberPluralizationForm.h', - 'TelegramUI/DeviceProximityManager.h', - 'TelegramUI/RaiseToListenActivator.h', - 'TelegramUI/TGMimeTypeMap.h', - 'TelegramUI/EDSunriseSet.h', - 'TelegramUI/TGBridgeAudioDecoder.h', - 'TelegramUI/TGBridgeAudioEncoder.h', - 'TelegramUI/GZip.h', - ], - modular = True, - #visibility = ['//submodules/TelegramUI:TelegramUI'], - visibility = ['PUBLIC'], - deps = [ - '//submodules/SSignalKit:SSignalKit', - '//submodules/LegacyComponents:LegacyComponents', - '//submodules/ffmpeg:opus', - '//submodules/MtProtoKit:MtProtoKit', - '//submodules/libtgvoip:tgvoip', - ], +apple_asset_catalog( + name = 'TelegramUIAssets', + dirs = [ + "Images.xcassets", + ], + visibility = ["PUBLIC"], ) apple_resource( name = "TelegramUIResources", files = glob([ + "TelegramUI/Sounds/**/*", "TelegramUI/Resources/**/*", - ]), + ], exclude = ["TelegramUI/**/.*"]), + visibility = ["PUBLIC"], ) -apple_asset_catalog( - name = 'Images', - dirs = [ - 'Images.xcassets', - ], -) - -apple_library( - name = 'TelegramUI', +framework( + name = "TelegramUI", srcs = glob([ - 'TelegramUI/**/*.swift' + "TelegramUI/**/*.swift", ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - #swift_compiler_flags = [ - # '-application-extension', - #], - visibility = ['PUBLIC'], deps = [ - ':TelegramUIResources', - ':Images', - ':TelegramUIPrivateModule', - '//submodules/SSignalKit:SwiftSignalKit', - '//submodules/SSignalKit:SSignalKit', - '//submodules/Postbox:Postbox', - '//submodules/TelegramCore:TelegramCore', - '//submodules/MtProtoKit:MtProtoKit', - '//submodules/ffmpeg:FFMpeg', - '//submodules/AsyncDisplayKit:AsyncDisplayKit', - '//submodules/Display:Display', - '//submodules/LegacyComponents:LegacyComponents', - '//submodules/lottie-ios:Lottie', - '//submodules/webp:WebPImage', + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/SSignalKit/SSignalKit:SSignalKit", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/libtgvoip:libtgvoip", + "//submodules/lottie-ios:Lottie", + "//submodules/FFMpeg:FFMpeg", + "//submodules/WebP:WebPImage", + "//submodules/RMIntro:RMIntro", + "//submodules/GZip:GZip", + "//submodules/TelegramCallsUI:TelegramCallsUI", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/MediaPlayer:UniversalMediaPlayer", + "//submodules/TelegramVoip:TelegramVoip", + "//submodules/DeviceAccess:DeviceAccess", + "//submodules/WatchCommon/Host:WatchCommon", + "//submodules/LightweightAccountData:LightweightAccountData", + "//submodules/HockeySDK-iOS:HockeySDK", + "//submodules/BuildConfig:BuildConfig", + "//submodules/rlottie:RLottieBinding", + "//submodules/TelegramUpdateUI:TelegramUpdateUI", + "//submodules/MergeLists:MergeLists", + "//submodules/ActivityIndicator:ActivityIndicator", + "//submodules/ProgressNavigationButtonNode:ProgressNavigationButtonNode", + "//submodules/ItemListUI:ItemListUI", + "//submodules/TelegramBaseController:TelegramBaseController", + "//submodules/DeviceLocationManager:DeviceLocationManager", + "//submodules/AvatarNode:AvatarNode", + "//submodules/OverlayStatusController:OverlayStatusController", + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/LiveLocationManager:LiveLocationManager", + "//submodules/LiveLocationTimerNode:LiveLocationTimerNode", + "//submodules/TemporaryCachedPeerDataManager:TemporaryCachedPeerDataManager", + "//submodules/ShareController:ShareController", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/PeerOnlineMarkerNode:PeerOnlineMarkerNode", + "//submodules/PeerPresenceStatusManager:PeerPresenceStatusManager", + "//submodules/ChatListSearchRecentPeersNode:ChatListSearchRecentPeersNode", + "//submodules/ImageBlur:ImageBlur", + "//submodules/ContextUI:ContextUI", + "//submodules/MediaResources:MediaResources", + "//submodules/TelegramAudio:TelegramAudio", + "//submodules/UrlEscaping:UrlEscaping", + "//submodules/Tuples:Tuples", + "//submodules/TextFormat:TextFormat", + "//submodules/SwitchNode:SwitchNode", + "//submodules/StickerResources:StickerResources", + "//submodules/SelectablePeerNode:SelectablePeerNode", + "//submodules/SaveToCameraRoll:SaveToCameraRoll", + "//submodules/LocalizedPeerData:LocalizedPeerData", + "//submodules/ListSectionHeaderNode:ListSectionHeaderNode", + "//submodules/HorizontalPeerItem:HorizontalPeerItem", + "//submodules/CheckNode:CheckNode", + "//submodules/AnimationUI:AnimationUI", + "//submodules/ActionSheetPeerItem:ActionSheetPeerItem", + "//submodules/AccountContext:AccountContext", + "//submodules/ComposePollUI:ComposePollUI", + "//submodules/AlertUI:AlertUI", + "//submodules/TouchDownGesture:TouchDownGesture", + "//submodules/SwipeToDismissGesture:SwipeToDismissGesture", + "//submodules/DirectionalPanGesture:DirectionalPanGesture", + "//submodules/UndoUI:UndoUI", + "//submodules/PhotoResources:PhotoResources", + "//submodules/TinyThumbnail:TinyThumbnail", + "//submodules/ImageTransparency:ImageTransparency", + "//submodules/TelegramNotices:TelegramNotices", + "//submodules/TelegramPermissions:TelegramPermissions", + "//submodules/GameUI:GameUI", + "//submodules/WebUI:WebUI", + "//submodules/PassportUI:PassportUI", + "//submodules/PhoneInputNode:PhoneInputNode", + "//submodules/CountrySelectionUI:CountrySelectionUI", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/GalleryUI:GalleryUI", + "//submodules/TelegramUniversalVideoContent:TelegramUniversalVideoContent", + "//submodules/WebsiteType:WebsiteType", + "//submodules/ScreenCaptureDetection:ScreenCaptureDetection", + "//submodules/OpenInExternalAppUI:OpenInExternalAppUI", + "//submodules/LegacyUI:LegacyUI", + "//submodules/ImageCompression:ImageCompression", + "//submodules/DateSelectionUI:DateSelectionUI", + "//submodules/PasswordSetupUI:PasswordSetupUI", + "//submodules/Pdf:Pdf", + "//submodules/InstantPageUI:InstantPageUI", + "//submodules/MusicAlbumArtResources:MusicAlbumArtResources", + "//submodules/LiveLocationPositionNode:LiveLocationPositionNode", + "//submodules/MosaicLayout:MosaicLayout", + "//submodules/LocationUI:LocationUI", + "//submodules/Stripe:Stripe", + "//submodules/BotPaymentsUI:BotPaymentsUI", + "//submodules/LocalAuth:LocalAuth", + "//submodules/ContactListUI:ContactListUI", + "//submodules/SearchUI:SearchUI", + "//submodules/ChatListSearchItemHeader:ChatListSearchItemHeader", + "//submodules/ItemListPeerItem:ItemListPeerItem", + "//submodules/ContactsPeerItem:ContactsPeerItem", + "//submodules/ChatListSearchItemNode:ChatListSearchItemNode", + "//submodules/TelegramPermissionsUI:TelegramPermissionsUI", + "//submodules/PeersNearbyIconNode:PeersNearbyIconNode", + "//submodules/SolidRoundedButtonNode:SolidRoundedButtonNode", + "//submodules/PasscodeUI:PasscodeUI", + "//submodules/CallListUI:CallListUI", + "//submodules/ChatListUI:ChatListUI", + "//submodules/ChatTitleActivityNode:ChatTitleActivityNode", + "//submodules/DeleteChatPeerActionSheetItem:DeleteChatPeerActionSheetItem", + "//submodules/LanguageSuggestionUI:LanguageSuggestionUI", + "//submodules/TextSelectionNode:TextSelectionNode", + "//submodules/PlatformRestrictionMatching:PlatformRestrictionMatching", + "//submodules/HashtagSearchUI:HashtagSearchUI", + "//submodules/ItemListAvatarAndNameInfoItem:ItemListAvatarAndNameInfoItem", + "//submodules/ItemListPeerActionItem:ItemListPeerActionItem", + "//submodules/StickerPackPreviewUI:StickerPackPreviewUI", + "//submodules/YuvConversion:YuvConversion", + "//submodules/JoinLinkPreviewUI:JoinLinkPreviewUI", + "//submodules/LanguageLinkPreviewUI:LanguageLinkPreviewUI", + "//submodules/WebSearchUI:WebSearchUI", + "//submodules/LegacyMediaPickerUI:LegacyMediaPickerUI", + "//submodules/MimeTypes:MimeTypes", + "//submodules/LocalMediaResources:LocalMediaResources", + "//submodules/PeersNearbyUI:PeersNearbyUI", + "//submodules/Geocoding:Geocoding", + "//submodules/PeerInfoUI:PeerInfoUI", + "//submodules/PeerAvatarGalleryUI:PeerAvatarGalleryUI", + "//submodules/Emoji:Emoji", + "//submodules/ItemListStickerPackItem:ItemListStickerPackItem", + "//submodules/NotificationMuteSettingsUI:NotificationMuteSettingsUI", + "//submodules/SinglePhoneInputNode:SinglePhoneInputNode", + "//submodules/MapResourceToAvatarSizes:MapResourceToAvatarSizes", + "//submodules/NotificationSoundSelectionUI:NotificationSoundSelectionUI", + "//submodules/EncryptionKeyVisualization:EncryptionKeyVisualization", + "//submodules/ItemListAddressItem:ItemListAddressItem", + "//submodules/DeviceProximity:DeviceProximity", + "//submodules/RaiseToListen:RaiseToListen", + "//submodules/OpusBinding:OpusBinding", + "//submodules/Opus:opus", + "//submodules/WatchBridgeAudio:WatchBridgeAudio", + "//submodules/WatchBridge:WatchBridge", + "//submodules/LegacyDataImport:LegacyDataImport", + "//submodules/ShareItems:ShareItems", + "//submodules/ReactionSelectionNode:ReactionSelectionNode", + "//submodules/SettingsUI:SettingsUI", + "//submodules/UrlHandling:UrlHandling", + "//submodules/HexColor:HexColor", + "//submodules/QrCode:QrCode", + "//submodules/WallpaperResources:WallpaperResources", + "//submodules/AuthorizationUI:AuthorizationUI", + "//submodules/CounterContollerTitleView:CounterContollerTitleView", + "//submodules/GridMessageSelectionNode:GridMessageSelectionNode", + "//submodules/InstantPageCache:InstantPageCache", + "//submodules/PersistentStringHash:PersistentStringHash", + "//submodules/MessageReactionListUI:MessageReactionListUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/CoreAudio.framework", + "$SDKROOT/System/Library/Frameworks/CallKit.framework", + "$SDKROOT/System/Library/Frameworks/Contacts.framework", + "$SDKROOT/System/Library/Frameworks/PassKit.framework", + "$SDKROOT/System/Library/Frameworks/WebKit.framework", + "$SDKROOT/System/Library/Frameworks/Vision.framework", + "$SDKROOT/System/Library/Frameworks/PushKit.framework", ], ) - -apple_bundle( - name = "TelegramUIFramework", - extension = "framework", - binary = ":TelegramUI#shared", - info_plist = 'TelegramUI/Info.plist', - info_plist_substitutions = { - 'DEVELOPMENT_LANGUAGE': 'en-us', - 'APP_NAME': 'Telegram', - 'EXECUTABLE_NAME': 'TelegramUI', - 'PRODUCT_BUNDLE_IDENTIFIER': 'org.telegram.TelegramUI', - 'PRODUCT_NAME': 'Telegram UI', - 'CURRENT_PROJECT_VERSION': '5.8', - }, - visibility = ['PUBLIC'], -) diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/AddUser.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/AddUser.imageset/Contents.json new file mode 100644 index 0000000000..d7f8a263fa --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/AddUser.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_lt_adduser.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/AddUser.imageset/ic_lt_adduser.pdf b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/AddUser.imageset/ic_lt_adduser.pdf new file mode 100644 index 0000000000..7803bbe7be Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/AddUser.imageset/ic_lt_adduser.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/ApplyTheme.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/ApplyTheme.imageset/Contents.json new file mode 100644 index 0000000000..743b06bb22 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/ApplyTheme.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_applytheme.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/ApplyTheme.imageset/ic_applytheme.pdf b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/ApplyTheme.imageset/ic_applytheme.pdf new file mode 100644 index 0000000000..2e4664af53 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/ApplyTheme.imageset/ic_applytheme.pdf differ diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/GoToMessage.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/GoToMessage.imageset/Contents.json new file mode 100644 index 0000000000..3c5b983ee3 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/GoToMessage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_viewinchat.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/GoToMessage.imageset/ic_viewinchat.pdf b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/GoToMessage.imageset/ic_viewinchat.pdf new file mode 100644 index 0000000000..546bc5b029 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Chat/Context Menu/GoToMessage.imageset/ic_viewinchat.pdf differ diff --git a/submodules/TelegramUI/TelegramUI/AppDelegate.swift b/submodules/TelegramUI/TelegramUI/AppDelegate.swift index a4f187f557..35e6f58f71 100644 --- a/submodules/TelegramUI/TelegramUI/AppDelegate.swift +++ b/submodules/TelegramUI/TelegramUI/AppDelegate.swift @@ -238,6 +238,7 @@ final class SharedApplicationContext { let launchStartTime = CFAbsoluteTimeGetCurrent() + let statusBarHost = ApplicationStatusBarHost() let (window, hostView, aboveStatusbarWindow) = nativeWindowHostView() self.mainWindow = Window1(hostView: hostView, statusBarHost: statusBarHost) diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceAwaitingAccountResetController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceAwaitingAccountResetController.swift index 378e9875f5..9f5b6e184c 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceAwaitingAccountResetController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceAwaitingAccountResetController.swift @@ -38,7 +38,7 @@ final class AuthorizationSequenceAwaitingAccountResetController: ViewController self.supportedOrientations = ViewControllerSupportedOrientations(regularSize: .all, compactSize: .portrait) - self.statusBar.statusBarStyle = theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.attemptNavigation = { _ in return false diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceCodeEntryController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceCodeEntryController.swift index 0e218780b8..7f894be7a6 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceCodeEntryController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceCodeEntryController.swift @@ -47,7 +47,7 @@ final class AuthorizationSequenceCodeEntryController: ViewController { self.hasActiveInput = true - self.statusBar.statusBarStyle = theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: self.strings.Common_Next, style: .done, target: self, action: #selector(self.nextPressed)) diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordEntryController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordEntryController.swift index 228047eb24..5d6523cc89 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordEntryController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordEntryController.swift @@ -54,7 +54,7 @@ final class AuthorizationSequencePasswordEntryController: ViewController { self.hasActiveInput = true - self.statusBar.statusBarStyle = theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.attemptNavigation = { _ in return false diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordRecoveryController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordRecoveryController.swift index ba281377ed..4b9a2bc5a4 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordRecoveryController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequencePasswordRecoveryController.swift @@ -42,7 +42,7 @@ final class AuthorizationSequencePasswordRecoveryController: ViewController { self.hasActiveInput = true - self.statusBar.statusBarStyle = theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.attemptNavigation = { _ in return false diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequencePhoneEntryController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequencePhoneEntryController.swift index 623c468c19..5321ea1cab 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequencePhoneEntryController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequencePhoneEntryController.swift @@ -61,7 +61,7 @@ final class AuthorizationSequencePhoneEntryController: ViewController { self.hasActiveInput = true - self.statusBar.statusBarStyle = theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.attemptNavigation = { _ in return false } diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSignUpController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSignUpController.swift index bb41da13fe..e7d751f90f 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSignUpController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSignUpController.swift @@ -47,7 +47,7 @@ final class AuthorizationSequenceSignUpController: ViewController { self.supportedOrientations = ViewControllerSupportedOrientations(regularSize: .all, compactSize: .portrait) - self.statusBar.statusBarStyle = self.theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: self.strings.Common_Next, style: .done, target: self, action: #selector(self.nextPressed)) diff --git a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSplashController.swift b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSplashController.swift index f3f687b4b6..eba3d7c3b8 100644 --- a/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSplashController.swift +++ b/submodules/TelegramUI/TelegramUI/AuthorizationSequenceSplashController.swift @@ -74,7 +74,7 @@ final class AuthorizationSequenceSplashController: ViewController { self.supportedOrientations = ViewControllerSupportedOrientations(regularSize: .all, compactSize: .portrait) - self.statusBar.statusBarStyle = theme.rootController.statusBarStyle.style + self.statusBar.statusBarStyle = theme.intro.statusBarStyle.style self.controller.startMessaging = { [weak self] in self?.activateLocalization("en") diff --git a/submodules/TelegramUI/TelegramUI/ChatContextResultPeekContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatContextResultPeekContentNode.swift index 75da7abeaa..22afefe400 100644 --- a/submodules/TelegramUI/TelegramUI/ChatContextResultPeekContentNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatContextResultPeekContentNode.swift @@ -7,6 +7,7 @@ import TelegramCore import SwiftSignalKit import AVFoundation import PhotoResources +import AppBundle final class ChatContextResultPeekContent: PeekControllerContent { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChatController.swift b/submodules/TelegramUI/TelegramUI/ChatController.swift index d2098f5c24..e90101e041 100644 --- a/submodules/TelegramUI/TelegramUI/ChatController.swift +++ b/submodules/TelegramUI/TelegramUI/ChatController.swift @@ -45,6 +45,7 @@ import RaiseToListen import UrlHandling import ReactionSelectionNode import MessageReactionListUI +import AppBundle public enum ChatControllerPeekActions { case standard @@ -539,7 +540,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G guard let strongSelf = self, !actions.isEmpty else { return } - /*let reactions: [(String, String, String)] = [ + let reactions: [(String, String, String)] = [ ("😔", "Sad", "sad"), ("😳", "Surprised", "surprised"), ("😂", "Fun", "lol"), @@ -552,18 +553,18 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G ("😐", "Poker", "poker"), ("💩", "Poop", "poop"), ("😊", "Smile", "smile") - ]*/ + ] var reactionItems: [ReactionContextItem] = [] - /*for (value, text, name) in reactions { - if let path = frameworkBundle.path(forResource: name, ofType: "tgs", inDirectory: "BuiltinReactions") { + for (value, text, name) in reactions { + if let path = getAppBundle().path(forResource: name, ofType: "tgs") { reactionItems.append(ReactionContextItem(value: value, text: text, path: path)) } - }*/ + } if Namespaces.Message.allScheduled.contains(message.id.namespace) { reactionItems = [] } - let controller = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .extracted(ChatMessageContextExtractedContentSource(chatNode: strongSelf.chatDisplayNode, message: message)), items: actions, reactionItems: reactionItems, recognizer: recognizer) + let controller = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .extracted(ChatMessageContextExtractedContentSource(chatNode: strongSelf.chatDisplayNode, message: message)), items: .single(actions), reactionItems: reactionItems, recognizer: recognizer) strongSelf.currentContextController = controller controller.reactionSelected = { [weak controller] value in guard let strongSelf = self, let message = updatedMessages.first else { @@ -591,6 +592,8 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G strongSelf.window?.presentInGlobalOverlay(controller) }) } + }, openMessageContextActions: { message, node, rect, gesture in + gesture?.cancel() }, navigateToMessage: { [weak self] fromId, id in self?.navigateToMessage(from: fromId, to: .id(id)) }, clickThroughMessage: { [weak self] in @@ -1392,7 +1395,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G } }))) - let controller = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .extracted(ChatMessageContextExtractedContentSource(chatNode: strongSelf.chatDisplayNode, message: message)), items: actions, reactionItems: [], recognizer: nil) + let controller = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .extracted(ChatMessageContextExtractedContentSource(chatNode: strongSelf.chatDisplayNode, message: message)), items: .single(actions), reactionItems: [], recognizer: nil) strongSelf.currentContextController = controller strongSelf.window?.presentInGlobalOverlay(controller) }) @@ -1432,7 +1435,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G f(.dismissWithoutContent) }))) - let controller = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .extracted(ChatMessageContextExtractedContentSource(chatNode: strongSelf.chatDisplayNode, message: message)), items: actions, reactionItems: [], recognizer: nil) + let controller = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .extracted(ChatMessageContextExtractedContentSource(chatNode: strongSelf.chatDisplayNode, message: message)), items: .single(actions), reactionItems: [], recognizer: nil) strongSelf.currentContextController = controller strongSelf.window?.presentInGlobalOverlay(controller) }) @@ -1554,10 +1557,11 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G let controller = ChatScheduleTimeController(context: strongSelf.context, mode: mode, minimalTime: strongSelf.presentationInterfaceState.slowmodeState?.timeout, completion: { [weak self] scheduleTime in if let strongSelf = self { - strongSelf.chatDisplayNode.sendCurrentMessage(scheduleTime: scheduleTime) - if !strongSelf.presentationInterfaceState.isScheduledMessages { - strongSelf.openScheduledMessages() - } + strongSelf.chatDisplayNode.sendCurrentMessage(scheduleTime: scheduleTime, completion: { [weak self] in + if let strongSelf = self, !strongSelf.presentationInterfaceState.isScheduledMessages { + strongSelf.openScheduledMessages() + } + }) } }) strongSelf.chatDisplayNode.dismissInput() @@ -7321,7 +7325,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G } if canDisplayContextMenu, let contextController = contextController { - contextController.setItems(contextItems) + contextController.setItems(.single(contextItems)) } else { actionSheet.setItemGroups([ActionSheetItemGroup(items: items), ActionSheetItemGroup(items: [ ActionSheetButtonItem(title: self.presentationData.strings.Common_Cancel, color: .accent, action: { [weak actionSheet] in diff --git a/submodules/TelegramUI/TelegramUI/ChatControllerInteraction.swift b/submodules/TelegramUI/TelegramUI/ChatControllerInteraction.swift index 4cdb6a14ff..9656295485 100644 --- a/submodules/TelegramUI/TelegramUI/ChatControllerInteraction.swift +++ b/submodules/TelegramUI/TelegramUI/ChatControllerInteraction.swift @@ -8,6 +8,7 @@ import TelegramUIPreferences import AccountContext import TextSelectionNode import ReactionSelectionNode +import ContextUI struct ChatInterfaceHighlightedState: Equatable { let messageStableId: UInt32 @@ -51,6 +52,7 @@ public final class ChatControllerInteraction { let openPeer: (PeerId?, ChatControllerInteractionNavigateToPeer, Message?) -> Void let openPeerMention: (String) -> Void let openMessageContextMenu: (Message, Bool, ASDisplayNode, CGRect, TapLongTapOrDoubleTapGestureRecognizer?) -> Void + let openMessageContextActions: (Message, ASDisplayNode, CGRect, ContextGesture?) -> Void let navigateToMessage: (MessageId, MessageId) -> Void let clickThroughMessage: () -> Void let toggleMessagesSelection: ([MessageId], Bool) -> Void @@ -111,11 +113,12 @@ public final class ChatControllerInteraction { var searchTextHighightState: String? var seenOneTimeAnimatedMedia = Set() - init(openMessage: @escaping (Message, ChatControllerInteractionOpenMessageMode) -> Bool, openPeer: @escaping (PeerId?, ChatControllerInteractionNavigateToPeer, Message?) -> Void, openPeerMention: @escaping (String) -> Void, openMessageContextMenu: @escaping (Message, Bool, ASDisplayNode, CGRect, TapLongTapOrDoubleTapGestureRecognizer?) -> Void, navigateToMessage: @escaping (MessageId, MessageId) -> Void, clickThroughMessage: @escaping () -> Void, toggleMessagesSelection: @escaping ([MessageId], Bool) -> Void, sendCurrentMessage: @escaping (Bool) -> Void, sendMessage: @escaping (String) -> Void, sendSticker: @escaping (FileMediaReference, Bool, ASDisplayNode, CGRect) -> Bool, sendGif: @escaping (FileMediaReference, ASDisplayNode, CGRect) -> Bool, requestMessageActionCallback: @escaping (MessageId, MemoryBuffer?, Bool) -> Void, requestMessageActionUrlAuth: @escaping (String, MessageId, Int32) -> Void, activateSwitchInline: @escaping (PeerId?, String) -> Void, openUrl: @escaping (String, Bool, Bool?) -> Void, shareCurrentLocation: @escaping () -> Void, shareAccountContact: @escaping () -> Void, sendBotCommand: @escaping (MessageId?, String) -> Void, openInstantPage: @escaping (Message, ChatMessageItemAssociatedData?) -> Void, openWallpaper: @escaping (Message) -> Void, openTheme: @escaping (Message) -> Void, openHashtag: @escaping (String?, String) -> Void, updateInputState: @escaping ((ChatTextInputState) -> ChatTextInputState) -> Void, updateInputMode: @escaping ((ChatInputMode) -> ChatInputMode) -> Void, openMessageShareMenu: @escaping (MessageId) -> Void, presentController: @escaping (ViewController, Any?) -> Void, navigationController: @escaping () -> NavigationController?, chatControllerNode: @escaping () -> ASDisplayNode?, reactionContainerNode: @escaping () -> ReactionSelectionParentNode?, presentGlobalOverlayController: @escaping (ViewController, Any?) -> Void, callPeer: @escaping (PeerId) -> Void, longTap: @escaping (ChatControllerInteractionLongTapAction, Message?) -> Void, openCheckoutOrReceipt: @escaping (MessageId) -> Void, openSearch: @escaping () -> Void, setupReply: @escaping (MessageId) -> Void, canSetupReply: @escaping (Message) -> Bool, navigateToFirstDateMessage: @escaping(Int32) ->Void, requestRedeliveryOfFailedMessages: @escaping (MessageId) -> Void, addContact: @escaping (String) -> Void, rateCall: @escaping (Message, CallId) -> Void, requestSelectMessagePollOption: @escaping (MessageId, Data) -> Void, openAppStorePage: @escaping () -> Void, displayMessageTooltip: @escaping (MessageId, String, ASDisplayNode?, CGRect?) -> Void, seekToTimecode: @escaping (Message, Double, Bool) -> Void, scheduleCurrentMessage: @escaping () -> Void, sendScheduledMessagesNow: @escaping ([MessageId]) -> Void, editScheduledMessagesTime: @escaping ([MessageId]) -> Void, performTextSelectionAction: @escaping (UInt32, String, TextSelectionAction) -> Void, updateMessageReaction: @escaping (MessageId, String) -> Void, openMessageReactions: @escaping (MessageId) -> Void, requestMessageUpdate: @escaping (MessageId) -> Void, cancelInteractiveKeyboardGestures: @escaping () -> Void, automaticMediaDownloadSettings: MediaAutoDownloadSettings, pollActionState: ChatInterfacePollActionState, stickerSettings: ChatInterfaceStickerSettings) { + init(openMessage: @escaping (Message, ChatControllerInteractionOpenMessageMode) -> Bool, openPeer: @escaping (PeerId?, ChatControllerInteractionNavigateToPeer, Message?) -> Void, openPeerMention: @escaping (String) -> Void, openMessageContextMenu: @escaping (Message, Bool, ASDisplayNode, CGRect, TapLongTapOrDoubleTapGestureRecognizer?) -> Void, openMessageContextActions: @escaping (Message, ASDisplayNode, CGRect, ContextGesture?) -> Void, navigateToMessage: @escaping (MessageId, MessageId) -> Void, clickThroughMessage: @escaping () -> Void, toggleMessagesSelection: @escaping ([MessageId], Bool) -> Void, sendCurrentMessage: @escaping (Bool) -> Void, sendMessage: @escaping (String) -> Void, sendSticker: @escaping (FileMediaReference, Bool, ASDisplayNode, CGRect) -> Bool, sendGif: @escaping (FileMediaReference, ASDisplayNode, CGRect) -> Bool, requestMessageActionCallback: @escaping (MessageId, MemoryBuffer?, Bool) -> Void, requestMessageActionUrlAuth: @escaping (String, MessageId, Int32) -> Void, activateSwitchInline: @escaping (PeerId?, String) -> Void, openUrl: @escaping (String, Bool, Bool?) -> Void, shareCurrentLocation: @escaping () -> Void, shareAccountContact: @escaping () -> Void, sendBotCommand: @escaping (MessageId?, String) -> Void, openInstantPage: @escaping (Message, ChatMessageItemAssociatedData?) -> Void, openWallpaper: @escaping (Message) -> Void, openTheme: @escaping (Message) -> Void, openHashtag: @escaping (String?, String) -> Void, updateInputState: @escaping ((ChatTextInputState) -> ChatTextInputState) -> Void, updateInputMode: @escaping ((ChatInputMode) -> ChatInputMode) -> Void, openMessageShareMenu: @escaping (MessageId) -> Void, presentController: @escaping (ViewController, Any?) -> Void, navigationController: @escaping () -> NavigationController?, chatControllerNode: @escaping () -> ASDisplayNode?, reactionContainerNode: @escaping () -> ReactionSelectionParentNode?, presentGlobalOverlayController: @escaping (ViewController, Any?) -> Void, callPeer: @escaping (PeerId) -> Void, longTap: @escaping (ChatControllerInteractionLongTapAction, Message?) -> Void, openCheckoutOrReceipt: @escaping (MessageId) -> Void, openSearch: @escaping () -> Void, setupReply: @escaping (MessageId) -> Void, canSetupReply: @escaping (Message) -> Bool, navigateToFirstDateMessage: @escaping(Int32) ->Void, requestRedeliveryOfFailedMessages: @escaping (MessageId) -> Void, addContact: @escaping (String) -> Void, rateCall: @escaping (Message, CallId) -> Void, requestSelectMessagePollOption: @escaping (MessageId, Data) -> Void, openAppStorePage: @escaping () -> Void, displayMessageTooltip: @escaping (MessageId, String, ASDisplayNode?, CGRect?) -> Void, seekToTimecode: @escaping (Message, Double, Bool) -> Void, scheduleCurrentMessage: @escaping () -> Void, sendScheduledMessagesNow: @escaping ([MessageId]) -> Void, editScheduledMessagesTime: @escaping ([MessageId]) -> Void, performTextSelectionAction: @escaping (UInt32, String, TextSelectionAction) -> Void, updateMessageReaction: @escaping (MessageId, String) -> Void, openMessageReactions: @escaping (MessageId) -> Void, requestMessageUpdate: @escaping (MessageId) -> Void, cancelInteractiveKeyboardGestures: @escaping () -> Void, automaticMediaDownloadSettings: MediaAutoDownloadSettings, pollActionState: ChatInterfacePollActionState, stickerSettings: ChatInterfaceStickerSettings) { self.openMessage = openMessage self.openPeer = openPeer self.openPeerMention = openPeerMention self.openMessageContextMenu = openMessageContextMenu + self.openMessageContextActions = openMessageContextActions self.navigateToMessage = navigateToMessage self.clickThroughMessage = clickThroughMessage self.toggleMessagesSelection = toggleMessagesSelection @@ -174,7 +177,7 @@ public final class ChatControllerInteraction { static var `default`: ChatControllerInteraction { return ChatControllerInteraction(openMessage: { _, _ in - return false }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendCurrentMessage: { _ in }, sendMessage: { _ in }, sendSticker: { _, _, _, _ in return false }, sendGif: { _, _, _ in return false }, requestMessageActionCallback: { _, _, _ in }, requestMessageActionUrlAuth: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { _, _, _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _, _ in }, openWallpaper: { _ in }, openTheme: { _ in }, openHashtag: { _, _ in }, updateInputState: { _ in }, updateInputMode: { _ in }, openMessageShareMenu: { _ in + return false }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _, _, _ in }, openMessageContextActions: { _, _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendCurrentMessage: { _ in }, sendMessage: { _ in }, sendSticker: { _, _, _, _ in return false }, sendGif: { _, _, _ in return false }, requestMessageActionCallback: { _, _, _ in }, requestMessageActionUrlAuth: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { _, _, _ in }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { _, _ in }, openWallpaper: { _ in }, openTheme: { _ in }, openHashtag: { _, _ in }, updateInputState: { _ in }, updateInputMode: { _ in }, openMessageShareMenu: { _ in }, presentController: { _, _ in }, navigationController: { return nil }, chatControllerNode: { diff --git a/submodules/TelegramUI/TelegramUI/ChatControllerNode.swift b/submodules/TelegramUI/TelegramUI/ChatControllerNode.swift index 775421bbf0..69b0fe0387 100644 --- a/submodules/TelegramUI/TelegramUI/ChatControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatControllerNode.swift @@ -1045,7 +1045,13 @@ class ChatControllerNode: ASDisplayNode, UIScrollViewDelegate { let previousInputPanelBackgroundFrame = self.inputPanelBackgroundNode.frame transition.updateFrame(node: self.inputPanelBackgroundNode, frame: apparentInputBackgroundFrame) - transition.updateFrame(node: self.inputPanelBackgroundSeparatorNode, frame: CGRect(origin: CGPoint(x: 0.0, y: apparentInputBackgroundFrame.origin.y - UIScreenPixel), size: CGSize(width: apparentInputBackgroundFrame.size.width, height: UIScreenPixel))) + let separatorOffset: CGFloat + if apparentInputBackgroundFrame.maxY >= layout.size.height { + separatorOffset = UIScreenPixel + } else { + separatorOffset = -UIScreenPixel + } + transition.updateFrame(node: self.inputPanelBackgroundSeparatorNode, frame: CGRect(origin: CGPoint(x: 0.0, y: apparentInputBackgroundFrame.origin.y + separatorOffset), size: CGSize(width: apparentInputBackgroundFrame.size.width, height: UIScreenPixel))) transition.updateFrame(node: self.navigateButtons, frame: apparentNavigateButtonsFrame) if let titleAccessoryPanelNode = self.titleAccessoryPanelNode, let titleAccessoryPanelFrame = titleAccessoryPanelFrame, !titleAccessoryPanelNode.frame.equalTo(titleAccessoryPanelFrame) { @@ -2057,7 +2063,7 @@ class ChatControllerNode: ASDisplayNode, UIScrollViewDelegate { } } - func sendCurrentMessage(silentPosting: Bool? = nil, scheduleTime: Int32? = nil) { + func sendCurrentMessage(silentPosting: Bool? = nil, scheduleTime: Int32? = nil, completion: @escaping () -> Void = {}) { if let textInputPanelNode = self.inputPanelNode as? ChatTextInputPanelNode { if textInputPanelNode.textInputNode?.isFirstResponder() ?? false { Keyboard.applyAutocorrection() @@ -2114,6 +2120,7 @@ class ChatControllerNode: ASDisplayNode, UIScrollViewDelegate { textInputPanelNode.text = "" strongSelf.requestUpdateChatInterfaceState(false, true, { $0.withUpdatedReplyMessageId(nil).withUpdatedForwardMessageIds(nil).withUpdatedComposeDisableUrlPreview(nil) }) strongSelf.ignoreUpdateHeight = false + completion() } }) diff --git a/submodules/TelegramUI/TelegramUI/ChatEmptyNode.swift b/submodules/TelegramUI/TelegramUI/ChatEmptyNode.swift index 3cfdd04a63..8758a09b3e 100644 --- a/submodules/TelegramUI/TelegramUI/ChatEmptyNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatEmptyNode.swift @@ -5,6 +5,7 @@ import Display import Postbox import TelegramCore import TelegramPresentationData +import AppBundle private protocol ChatEmptyNodeContent { func updateLayout(interfaceState: ChatPresentationInterfaceState, size: CGSize, transition: ContainedViewLayoutTransition) -> CGSize diff --git a/submodules/TelegramUI/TelegramUI/ChatInfoTitlePanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatInfoTitlePanelNode.swift index 2307d269dd..41e38db37b 100644 --- a/submodules/TelegramUI/TelegramUI/ChatInfoTitlePanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatInfoTitlePanelNode.swift @@ -145,8 +145,8 @@ final class ChatInfoTitlePanelNode: ChatTitleAccessoryPanelNode { let panelHeight: CGFloat = 55.0 if themeUpdated { - self.separatorNode.backgroundColor = interfaceState.theme.rootController.navigationBar.separatorColor - self.backgroundColor = interfaceState.theme.rootController.navigationBar.backgroundColor + self.backgroundColor = interfaceState.theme.chat.historyNavigation.fillColor + self.separatorNode.backgroundColor = interfaceState.theme.chat.historyNavigation.strokeColor } let updatedButtons: [ChatInfoTitleButton] @@ -157,8 +157,6 @@ final class ChatInfoTitlePanelNode: ChatTitleAccessoryPanelNode { } else { updatedButtons = [] } - /*case .group: - updatedButtons = groupButtons()*/ } var buttonsUpdated = false @@ -182,7 +180,7 @@ final class ChatInfoTitlePanelNode: ChatTitleAccessoryPanelNode { let buttonNode = ChatInfoTitlePanelButtonNode() buttonNode.laysOutHorizontally = false - buttonNode.setup(text: button.title(interfaceState.strings), color: interfaceState.theme.rootController.navigationBar.accentTextColor, icon: button.icon(interfaceState.theme)) + buttonNode.setup(text: button.title(interfaceState.strings), color: interfaceState.theme.chat.inputPanel.panelControlAccentColor, icon: button.icon(interfaceState.theme)) buttonNode.addTarget(self, action: #selector(self.buttonPressed(_:)), forControlEvents: [.touchUpInside]) self.addSubnode(buttonNode) diff --git a/submodules/TelegramUI/TelegramUI/ChatInterfaceStateContextMenus.swift b/submodules/TelegramUI/TelegramUI/ChatInterfaceStateContextMenus.swift index bf171889df..2a1c8ac392 100644 --- a/submodules/TelegramUI/TelegramUI/ChatInterfaceStateContextMenus.swift +++ b/submodules/TelegramUI/TelegramUI/ChatInterfaceStateContextMenus.swift @@ -11,6 +11,8 @@ import OverlayStatusController import AccountContext import ContextUI import LegacyUI +import AppBundle +import SaveToCameraRoll private struct MessageContextMenuData { let starStatus: Bool? @@ -23,6 +25,10 @@ private struct MessageContextMenuData { } func canEditMessage(context: AccountContext, limitsConfiguration: LimitsConfiguration, message: Message) -> Bool { + return canEditMessage(accountPeerId: context.account.peerId, limitsConfiguration: limitsConfiguration, message: message) +} + +private func canEditMessage(accountPeerId: PeerId, limitsConfiguration: LimitsConfiguration, message: Message) -> Bool { var hasEditRights = false var unlimitedInterval = false @@ -41,7 +47,7 @@ func canEditMessage(context: AccountContext, limitsConfiguration: LimitsConfigur } } else if message.id.peerId.namespace == Namespaces.Peer.SecretChat || message.id.namespace != Namespaces.Message.Cloud { hasEditRights = false - } else if let author = message.author, author.id == context.account.peerId { + } else if let author = message.author, author.id == accountPeerId { hasEditRights = true } else if message.author?.id == message.id.peerId, let peer = message.peers[message.id.peerId] { if let peer = peer as? TelegramChannel { @@ -100,7 +106,7 @@ func canEditMessage(context: AccountContext, limitsConfiguration: LimitsConfigur } if !hasUneditableAttributes { - if canPerformEditingActions(limits: limitsConfiguration, accountPeerId: context.account.peerId, message: message, unlimitedInterval: unlimitedInterval) { + if canPerformEditingActions(limits: limitsConfiguration, accountPeerId: accountPeerId, message: message, unlimitedInterval: unlimitedInterval) { return true } } @@ -373,6 +379,24 @@ func contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: }))) } + if data.messageActions.options.contains(.sendScheduledNow) { + actions.append(.action(ContextMenuActionItem(text: chatPresentationInterfaceState.strings.ScheduledMessages_SendNow, icon: { theme in + return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Resend"), color: theme.actionSheet.primaryTextColor) + }, action: { _, f in + controllerInteraction.sendScheduledMessagesNow(selectAll ? messages.map { $0.id } : [message.id]) + f(.dismissWithoutContent) + }))) + } + + if data.messageActions.options.contains(.editScheduledTime) { + actions.append(.action(ContextMenuActionItem(text: chatPresentationInterfaceState.strings.ScheduledMessages_EditTime, icon: { theme in + return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Schedule"), color: theme.actionSheet.primaryTextColor) + }, action: { _, f in + controllerInteraction.editScheduledMessagesTime(selectAll ? messages.map { $0.id } : [message.id]) + f(.dismissWithoutContent) + }))) + } + let resourceAvailable: Bool if let resourceStatus = data.resourceStatus, case .Local = resourceStatus { resourceAvailable = true @@ -423,24 +447,30 @@ func contextMenuForChatPresentationIntefaceState(chatPresentationInterfaceState: } f(.default) }))) - } - - if data.messageActions.options.contains(.sendScheduledNow) { - actions.append(.action(ContextMenuActionItem(text: chatPresentationInterfaceState.strings.ScheduledMessages_SendNow, icon: { theme in - return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Resend"), color: theme.actionSheet.primaryTextColor) - }, action: { _, f in - controllerInteraction.sendScheduledMessagesNow(selectAll ? messages.map { $0.id } : [message.id]) - f(.dismissWithoutContent) - }))) - } - - if data.messageActions.options.contains(.editScheduledTime) { - actions.append(.action(ContextMenuActionItem(text: chatPresentationInterfaceState.strings.ScheduledMessages_EditTime, icon: { theme in - return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Schedule"), color: theme.actionSheet.primaryTextColor) - }, action: { _, f in - controllerInteraction.editScheduledMessagesTime(selectAll ? messages.map { $0.id } : [message.id]) - f(.dismissWithoutContent) - }))) + if resourceAvailable, !message.containsSecretMedia { + var mediaReference: AnyMediaReference? + for media in message.media { + if let image = media as? TelegramMediaImage, let largest = largestImageRepresentation(image.representations) { + mediaReference = ImageMediaReference.standalone(media: image).abstract + break + } else if let file = media as? TelegramMediaFile, file.isVideo { + mediaReference = FileMediaReference.standalone(media: file).abstract + break + } + } + if let mediaReference = mediaReference { + actions.append(.action(ContextMenuActionItem(text: chatPresentationInterfaceState.strings.Preview_SaveToCameraRoll, icon: { theme in + return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Save"), color: theme.actionSheet.primaryTextColor) + }, action: { _, f in + let _ = (saveToCameraRoll(context: context, postbox: context.account.postbox, mediaReference: mediaReference) + |> deliverOnMainQueue).start(completed: { + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + controllerInteraction.presentGlobalOverlayController(OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .success), nil) + }) + f(.default) + }))) + } + } } if data.canEdit { @@ -738,8 +768,20 @@ func chatAvailableMessageActionsImpl(postbox: Postbox, accountPeerId: PeerId, me } if id.namespace == Namespaces.Message.ScheduledCloud { optionsMap[id]!.insert(.sendScheduledNow) - optionsMap[id]!.insert(.editScheduledTime) - optionsMap[id]!.insert(.deleteLocally) + if canEditMessage(accountPeerId: accountPeerId, limitsConfiguration: limitsConfiguration, message: message) { + optionsMap[id]!.insert(.editScheduledTime) + } + if let peer = transaction.getPeer(id.peerId), let channel = peer as? TelegramChannel { + if !message.flags.contains(.Incoming) { + optionsMap[id]!.insert(.deleteGlobally) + } else { + if channel.hasPermission(.deleteAllMessages) { + optionsMap[id]!.insert(.deleteGlobally) + } + } + } else { + optionsMap[id]!.insert(.deleteGlobally) + } } else if id.peerId == accountPeerId { if !(message.flags.isSending || message.flags.contains(.Failed)) { optionsMap[id]!.insert(.forward) diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift index 3e1f9ac642..b4bbe046a8 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift @@ -402,8 +402,7 @@ final class ChatMessageAttachedContentNode: ASDisplayNode { if let (media, flags) = mediaAndFlags { if let file = media as? TelegramMediaFile { if file.mimeType == "application/x-tgtheme-ios", let size = file.size, size < 16 * 1024 { - let automaticDownload = true - let (_, initialImageWidth, refineLayout) = contentImageLayout(context, presentationData.theme.theme, presentationData.strings, presentationData.dateTimeFormat, message, file, automaticDownload ? .full : .none, associatedData.automaticDownloadPeerType, .constrained(CGSize(width: constrainedSize.width - horizontalInsets.left - horizontalInsets.right, height: constrainedSize.height)), layoutConstants, contentMode) + let (_, initialImageWidth, refineLayout) = contentImageLayout(context, presentationData.theme.theme, presentationData.strings, presentationData.dateTimeFormat, message, file, .full, associatedData.automaticDownloadPeerType, .constrained(CGSize(width: constrainedSize.width - horizontalInsets.left - horizontalInsets.right, height: constrainedSize.height)), layoutConstants, contentMode) initialWidth = initialImageWidth + horizontalInsets.left + horizontalInsets.right refineContentImageLayout = refineLayout } else if file.isInstantVideo { @@ -521,7 +520,7 @@ final class ChatMessageAttachedContentNode: ASDisplayNode { if let count = webpageGalleryMediaCount { - additionalImageBadgeContent = .text(inset: 0.0, backgroundColor: presentationData.theme.theme.chat.message.mediaDateAndStatusFillColor, foregroundColor: presentationData.theme.theme.chat.message.mediaDateAndStatusTextColor, text: NSAttributedString(string: "1 \(presentationData.strings.Common_of) \(count)")) + additionalImageBadgeContent = .text(inset: 0.0, backgroundColor: presentationData.theme.theme.chat.message.mediaDateAndStatusFillColor, foregroundColor: presentationData.theme.theme.chat.message.mediaDateAndStatusTextColor, text: NSAttributedString(string: presentationData.strings.Items_NOfM("1", "\(count)").0)) skipStandardStatus = imageMode } else if let mediaBadge = mediaBadge { additionalImageBadgeContent = .text(inset: 0.0, backgroundColor: presentationData.theme.theme.chat.message.mediaDateAndStatusFillColor, foregroundColor: presentationData.theme.theme.chat.message.mediaDateAndStatusTextColor, text: NSAttributedString(string: mediaBadge)) diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift index f6a684e6e9..2a474aa1ae 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift @@ -19,6 +19,7 @@ import Emoji import ReactionSelectionNode import PersistentStringHash import GridMessageSelectionNode +import AppBundle private func contentNodeMessagesAndClassesForItem(_ item: ChatMessageItem) -> [(Message, AnyClass)] { var result: [(Message, AnyClass)] = [] @@ -381,7 +382,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePrevewItemNode self.tapRecognizer = recognizer self.view.addGestureRecognizer(recognizer) - let replyRecognizer = ChatSwipeToReplyRecognizer(target: self, action: #selector(self.swipeToReplyGesture(_:))) + /*let replyRecognizer = ChatSwipeToReplyRecognizer(target: self, action: #selector(self.swipeToReplyGesture(_:))) replyRecognizer.shouldBegin = { [weak self] in if let strongSelf = self, let item = strongSelf.item { if strongSelf.selectionNode != nil { @@ -403,9 +404,9 @@ class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePrevewItemNode } return false } - self.view.addGestureRecognizer(replyRecognizer) + self.view.addGestureRecognizer(replyRecognizer)*/ - /*let reactionRecognizer = ReactionSwipeGestureRecognizer(target: nil, action: nil) + let reactionRecognizer = ReactionSwipeGestureRecognizer(target: nil, action: nil) self.reactionRecognizer = reactionRecognizer reactionRecognizer.availableReactions = { [weak self] in guard let strongSelf = self, let item = strongSelf.item, !item.presentationData.isPreview && !Namespaces.Message.allScheduled.contains(item.message.id.namespace) else { @@ -436,7 +437,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePrevewItemNode var reactionItems: [ReactionGestureItem] = [] for (value, text, name) in reactions { - if let path = frameworkBundle.path(forResource: name, ofType: "tgs", inDirectory: "BuiltinReactions") { + if let path = getAppBundle().path(forResource: name, ofType: "tgs") { reactionItems.append(.reaction(value: value, text: text, path: path)) } } @@ -550,7 +551,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePrevewItemNode } } } - self.view.addGestureRecognizer(reactionRecognizer)*/ + self.view.addGestureRecognizer(reactionRecognizer) } override func asyncLayout() -> (_ item: ChatMessageItem, _ params: ListViewItemLayoutParams, _ mergedTop: ChatMessageMerge, _ mergedBottom: ChatMessageMerge, _ dateHeaderAtBottom: Bool) -> (ListViewItemNodeLayout, (ListViewItemUpdateAnimation, Bool) -> Void) { @@ -2729,7 +2730,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePrevewItemNode } @objc func swipeToReplyGesture(_ recognizer: ChatSwipeToReplyRecognizer) { - switch recognizer.state { + /*switch recognizer.state { case .began: self.currentSwipeToReplyTranslation = 0.0 if self.swipeToReplyFeedback == nil { @@ -2788,7 +2789,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePrevewItemNode } default: break - } + }*/ } private var absoluteRect: (CGRect, CGSize)? diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageCallBubbleContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageCallBubbleContentNode.swift index 387be91901..f7d145cb86 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageCallBubbleContentNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageCallBubbleContentNode.swift @@ -5,6 +5,7 @@ import Display import TelegramCore import Postbox import TelegramPresentationData +import AppBundle private let titleFont: UIFont = Font.medium(16.0) private let labelFont: UIFont = Font.regular(13.0) diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaBadge.swift b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaBadge.swift index 70f5a39887..d71b6f4a6f 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaBadge.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaBadge.swift @@ -5,6 +5,7 @@ import AsyncDisplayKit import TelegramPresentationData import TextFormat import RadialStatusNode +import AppBundle enum ChatMessageInteractiveMediaDownloadState: Equatable { case remote diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageSelectionInputPanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageSelectionInputPanelNode.swift index 4661cd3b29..7266c79424 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageSelectionInputPanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageSelectionInputPanelNode.swift @@ -7,6 +7,7 @@ import TelegramCore import SwiftSignalKit import TelegramPresentationData import AccountContext +import AppBundle final class ChatMessageSelectionInputPanelNode: ChatInputPanelNode { private let deleteButton: HighlightableButtonNode diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageSwipeToReplyNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageSwipeToReplyNode.swift index c6bf45f11a..e1fec4bd6a 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageSwipeToReplyNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageSwipeToReplyNode.swift @@ -2,6 +2,7 @@ import Foundation import UIKit import Display import AsyncDisplayKit +import AppBundle final class ChatMessageSwipeToReplyNode: ASDisplayNode { private let backgroundNode: ASImageNode diff --git a/submodules/TelegramUI/TelegramUI/ChatPinnedMessageTitlePanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatPinnedMessageTitlePanelNode.swift index 73727d4f0e..68a08104a1 100644 --- a/submodules/TelegramUI/TelegramUI/ChatPinnedMessageTitlePanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatPinnedMessageTitlePanelNode.swift @@ -110,8 +110,8 @@ final class ChatPinnedMessageTitlePanelNode: ChatTitleAccessoryPanelNode { self.theme = interfaceState.theme self.closeButton.setImage(PresentationResourcesChat.chatInputPanelCloseIconImage(interfaceState.theme), for: []) self.lineNode.image = PresentationResourcesChat.chatInputPanelVerticalSeparatorLineImage(interfaceState.theme) - self.backgroundColor = interfaceState.theme.rootController.navigationBar.backgroundColor - self.separatorNode.backgroundColor = interfaceState.theme.rootController.navigationBar.separatorColor + self.backgroundColor = interfaceState.theme.chat.historyNavigation.fillColor + self.separatorNode.backgroundColor = interfaceState.theme.chat.historyNavigation.strokeColor } var messageUpdated = false diff --git a/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift b/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift index 21e4515c16..946953d6d7 100644 --- a/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift @@ -192,6 +192,7 @@ final class ChatRecentActionsControllerNode: ViewControllerTracingNode { self?.openPeerMention(name) }, openMessageContextMenu: { [weak self] message, selectAll, node, frame, _ in self?.openMessageContextMenu(message: message, selectAll: selectAll, node: node, frame: frame) + }, openMessageContextActions: { _, _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in }, sendCurrentMessage: { _ in }, sendMessage: { _ in }, sendSticker: { _, _, _, _ in return false }, sendGif: { _, _, _ in return false }, requestMessageActionCallback: { _, _, _ in }, requestMessageActionUrlAuth: { _, _, _ in }, activateSwitchInline: { _, _ in }, openUrl: { [weak self] url, _, _ in self?.openUrl(url) }, shareCurrentLocation: {}, shareAccountContact: {}, sendBotCommand: { _, _ in }, openInstantPage: { [weak self] message, associatedData in diff --git a/submodules/TelegramUI/TelegramUI/ChatRecordingPreviewInputPanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatRecordingPreviewInputPanelNode.swift index 8d3e9efee5..737ee1cdba 100644 --- a/submodules/TelegramUI/TelegramUI/ChatRecordingPreviewInputPanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatRecordingPreviewInputPanelNode.swift @@ -7,6 +7,7 @@ import Postbox import SwiftSignalKit import TelegramPresentationData import UniversalMediaPlayer +import AppBundle private func generatePauseIcon(_ theme: PresentationTheme) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "GlobalMusicPlayer/MinimizedPause"), color: theme.chat.inputPanel.actionControlForegroundColor) diff --git a/submodules/TelegramUI/TelegramUI/ChatReportPeerTitlePanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatReportPeerTitlePanelNode.swift index 63ff68c6bc..fb8f187f1b 100644 --- a/submodules/TelegramUI/TelegramUI/ChatReportPeerTitlePanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatReportPeerTitlePanelNode.swift @@ -92,8 +92,8 @@ final class ChatReportPeerTitlePanelNode: ChatTitleAccessoryPanelNode { self.theme = interfaceState.theme self.closeButton.setImage(PresentationResourcesChat.chatInputPanelEncircledCloseIconImage(interfaceState.theme), for: []) - self.backgroundColor = interfaceState.theme.rootController.navigationBar.backgroundColor - self.separatorNode.backgroundColor = interfaceState.theme.rootController.navigationBar.separatorColor + self.backgroundColor = interfaceState.theme.chat.historyNavigation.fillColor + self.separatorNode.backgroundColor = interfaceState.theme.chat.historyNavigation.strokeColor } let panelHeight: CGFloat = 40.0 diff --git a/submodules/TelegramUI/TelegramUI/ChatRequestInProgressTitlePanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatRequestInProgressTitlePanelNode.swift index 040658ab6a..8d3795cad8 100644 --- a/submodules/TelegramUI/TelegramUI/ChatRequestInProgressTitlePanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatRequestInProgressTitlePanelNode.swift @@ -34,8 +34,8 @@ final class ChatRequestInProgressTitlePanelNode: ChatTitleAccessoryPanelNode { if interfaceState.theme !== self.theme { self.theme = interfaceState.theme - self.backgroundColor = interfaceState.theme.rootController.navigationBar.backgroundColor - self.separatorNode.backgroundColor = interfaceState.theme.rootController.navigationBar.separatorColor + self.backgroundColor = interfaceState.theme.chat.historyNavigation.fillColor + self.separatorNode.backgroundColor = interfaceState.theme.chat.historyNavigation.strokeColor } let panelHeight: CGFloat = 40.0 diff --git a/submodules/TelegramUI/TelegramUI/ChatScheduleTimeControllerNode.swift b/submodules/TelegramUI/TelegramUI/ChatScheduleTimeControllerNode.swift index 2a3a2ea7f5..b3fb49ae6f 100644 --- a/submodules/TelegramUI/TelegramUI/ChatScheduleTimeControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatScheduleTimeControllerNode.swift @@ -125,7 +125,7 @@ class ChatScheduleTimeControllerNode: ViewControllerTracingNode, UIScrollViewDel let pickerView = UIDatePicker() pickerView.timeZone = TimeZone(secondsFromGMT: 0) pickerView.datePickerMode = .dateAndTime - pickerView.locale = localeWithStrings(self.presentationData.strings) + pickerView.locale = Locale.current pickerView.timeZone = TimeZone.current pickerView.minuteInterval = 1 pickerView.setValue(self.presentationData.theme.actionSheet.primaryTextColor, forKey: "textColor") diff --git a/submodules/TelegramUI/TelegramUI/ChatSearchInputPanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatSearchInputPanelNode.swift index e848b74b32..72819a1bb4 100644 --- a/submodules/TelegramUI/TelegramUI/ChatSearchInputPanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatSearchInputPanelNode.swift @@ -128,7 +128,7 @@ final class ChatSearchInputPanelNode: ChatInputPanelNode { if let currentId = results.currentId, let index = results.messageIndices.firstIndex(where: { $0.id == currentId }) { let adjustedIndex = results.messageIndices.count - 1 - index resultIndex = index - resultsText = NSAttributedString(string: "\(adjustedIndex + 1) \(interfaceState.strings.Common_of) \(displayTotalCount)", font: labelFont, textColor: interfaceState.theme.chat.inputPanel.primaryTextColor) + resultsText = NSAttributedString(string: interfaceState.strings.Items_NOfM("\(adjustedIndex + 1)", "\(displayTotalCount)").0, font: labelFont, textColor: interfaceState.theme.chat.inputPanel.primaryTextColor) } else { resultsText = NSAttributedString(string: interfaceState.strings.Conversation_SearchNoResults, font: labelFont, textColor: interfaceState.theme.chat.inputPanel.primaryTextColor) } diff --git a/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift b/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift index 11cc202126..9d994b83d6 100644 --- a/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift @@ -7,6 +7,7 @@ import Postbox import TelegramCore import TelegramPresentationData import AccountContext +import AppBundle private let leftInset: CGFloat = 16.0 private let rightInset: CGFloat = 16.0 @@ -384,9 +385,14 @@ final class ChatSendMessageActionSheetControllerNode: ViewControllerTracingNode, self.messageBackgroundNode.layer.animateBounds(from: fromFrame, to: self.messageBackgroundNode.bounds, duration: duration, timingFunction: kCAMediaTimingFunctionSpring) self.messageBackgroundNode.layer.animatePosition(from: CGPoint(x: (initialWidth - self.messageClipNode.bounds.width) / 2.0, y: delta), to: CGPoint(), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, additive: true) - let textOffset = self.textInputNode.textView.contentSize.height - self.textInputNode.textView.contentOffset.y - self.textInputNode.textView.frame.height - self.fromMessageTextNode.layer.animatePosition(from: CGPoint(x: 0.0, y: delta * 2.0 + textOffset), to: CGPoint(), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, additive: true) - self.toMessageTextNode.layer.animatePosition(from: CGPoint(x: 0.0, y: delta * 2.0 + textOffset), to: CGPoint(), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, additive: true) + + var textXOffset: CGFloat = 0.0 + let textYOffset = self.textInputNode.textView.contentSize.height - self.textInputNode.textView.contentOffset.y - self.textInputNode.textView.frame.height + if self.textInputNode.textView.numberOfLines == 1 && self.textInputNode.isRTL { + textXOffset = initialWidth - self.messageClipNode.bounds.width + } + self.fromMessageTextNode.layer.animatePosition(from: CGPoint(x: textXOffset, y: delta * 2.0 + textYOffset), to: CGPoint(), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, additive: true) + self.toMessageTextNode.layer.animatePosition(from: CGPoint(x: textXOffset, y: delta * 2.0 + textYOffset), to: CGPoint(), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, additive: true) let springDuration: Double = 0.42 let springDamping: CGFloat = 104.0 @@ -480,9 +486,13 @@ final class ChatSendMessageActionSheetControllerNode: ViewControllerTracingNode, self.messageBackgroundNode.layer.animateBounds(from: self.messageBackgroundNode.bounds, to: toFrame, duration: duration, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false) self.messageBackgroundNode.layer.animatePosition(from: CGPoint(), to: CGPoint(x: (initialWidth - self.messageClipNode.bounds.width) / 2.0, y: delta), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, additive: true) - let textOffset = self.textInputNode.textView.contentSize.height - self.textInputNode.textView.contentOffset.y - self.textInputNode.textView.frame.height - self.fromMessageTextNode.layer.animatePosition(from: CGPoint(), to: CGPoint(x: 0.0, y: delta * 2.0 + textOffset), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, additive: true) - self.toMessageTextNode.layer.animatePosition(from: CGPoint(), to: CGPoint(x: 0.0, y: delta * 2.0 + textOffset), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, additive: true) + var textXOffset: CGFloat = 0.0 + let textYOffset = self.textInputNode.textView.contentSize.height - self.textInputNode.textView.contentOffset.y - self.textInputNode.textView.frame.height + if self.textInputNode.textView.numberOfLines == 1 && self.textInputNode.isRTL { + textXOffset = initialWidth - self.messageClipNode.bounds.width + } + self.fromMessageTextNode.layer.animatePosition(from: CGPoint(), to: CGPoint(x: textXOffset, y: delta * 2.0 + textYOffset), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, additive: true) + self.toMessageTextNode.layer.animatePosition(from: CGPoint(), to: CGPoint(x: textXOffset, y: delta * 2.0 + textYOffset), duration: duration, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, additive: true) } else { completedBubble = true } @@ -560,9 +570,11 @@ final class ChatSendMessageActionSheetControllerNode: ViewControllerTracingNode, messageFrame.size.width = ceil(layout.size.width - messageFrame.origin.x - sendButtonFrame.width - layout.safeInsets.left - layout.safeInsets.right + 8.0) } + var messageOriginDelta: CGFloat = 0.0 if self.textInputNode.textView.numberOfLines == 1 || self.textInputNode.textView.attributedText.string.isEmpty { let textWidth = min(self.toMessageTextNode.textView.sizeThatFits(layout.size).width + 36.0, messageFrame.width) - messageFrame.origin.x += messageFrame.width - textWidth + messageOriginDelta = messageFrame.width - textWidth + messageFrame.origin.x += messageOriginDelta messageFrame.size.width = textWidth } @@ -586,6 +598,11 @@ final class ChatSendMessageActionSheetControllerNode: ViewControllerTracingNode, var textFrame = self.textFieldFrame textFrame.origin = CGPoint(x: 13.0, y: 6.0 - UIScreenPixel) textFrame.size.height = self.textInputNode.textView.contentSize.height + + if self.textInputNode.isRTL { + textFrame.origin.x -= messageOriginDelta + } + self.fromMessageTextNode.frame = textFrame self.toMessageTextNode.frame = textFrame diff --git a/submodules/TelegramUI/TelegramUI/ChatTextInputAudioRecordingOverlayButton.swift b/submodules/TelegramUI/TelegramUI/ChatTextInputAudioRecordingOverlayButton.swift index 6b56c873e0..ab14602ab7 100644 --- a/submodules/TelegramUI/TelegramUI/ChatTextInputAudioRecordingOverlayButton.swift +++ b/submodules/TelegramUI/TelegramUI/ChatTextInputAudioRecordingOverlayButton.swift @@ -2,6 +2,7 @@ import Foundation import UIKit import Display import AsyncDisplayKit +import AppBundle private let innerCircleDiameter: CGFloat = 110.0 private let outerCircleDiameter = innerCircleDiameter + 50.0 diff --git a/submodules/TelegramUI/TelegramUI/ChatTextInputSlowmodePlaceholderNode.swift b/submodules/TelegramUI/TelegramUI/ChatTextInputSlowmodePlaceholderNode.swift index 4dbdd5f730..8249baab92 100644 --- a/submodules/TelegramUI/TelegramUI/ChatTextInputSlowmodePlaceholderNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatTextInputSlowmodePlaceholderNode.swift @@ -3,6 +3,7 @@ import Display import SwiftSignalKit import TelegramPresentationData import TelegramStringFormatting +import AppBundle final class ChatTextInputSlowmodePlaceholderNode: ASDisplayNode { private var theme: PresentationTheme diff --git a/submodules/TelegramUI/TelegramUI/ChatToastAlertPanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatToastAlertPanelNode.swift index e49b528b2e..9f22021bc4 100644 --- a/submodules/TelegramUI/TelegramUI/ChatToastAlertPanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatToastAlertPanelNode.swift @@ -42,8 +42,8 @@ final class ChatToastAlertPanelNode: ChatTitleAccessoryPanelNode { let panelHeight: CGFloat = 40.0 self.textColor = interfaceState.theme.rootController.navigationBar.primaryTextColor - self.backgroundColor = interfaceState.theme.rootController.navigationBar.backgroundColor - self.separatorNode.backgroundColor = interfaceState.theme.rootController.navigationBar.separatorColor + self.backgroundColor = interfaceState.theme.chat.historyNavigation.fillColor + self.separatorNode.backgroundColor = interfaceState.theme.chat.historyNavigation.strokeColor transition.updateFrame(node: self.separatorNode, frame: CGRect(origin: CGPoint(x: 0.0, y: panelHeight - UIScreenPixel), size: CGSize(width: width, height: UIScreenPixel))) diff --git a/submodules/TelegramUI/TelegramUI/ComposeController.swift b/submodules/TelegramUI/TelegramUI/ComposeController.swift index 080321eaca..5d23d76649 100644 --- a/submodules/TelegramUI/TelegramUI/ComposeController.swift +++ b/submodules/TelegramUI/TelegramUI/ComposeController.swift @@ -10,6 +10,7 @@ import AccountContext import AlertUI import SearchUI import TelegramPermissionsUI +import AppBundle public class ComposeController: ViewController { private let context: AccountContext diff --git a/submodules/TelegramUI/TelegramUI/ComposeControllerNode.swift b/submodules/TelegramUI/TelegramUI/ComposeControllerNode.swift index d2cc0f34e2..3481cd10c7 100644 --- a/submodules/TelegramUI/TelegramUI/ComposeControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ComposeControllerNode.swift @@ -9,6 +9,7 @@ import AccountContext import SearchBarNode import SearchUI import ContactListUI +import AppBundle final class ComposeControllerNode: ASDisplayNode { let contactListNode: ContactListNode diff --git a/submodules/TelegramUI/TelegramUI/Config/TelegramUI.xcconfig b/submodules/TelegramUI/TelegramUI/Config/TelegramUI.xcconfig deleted file mode 100644 index f54392eba9..0000000000 --- a/submodules/TelegramUI/TelegramUI/Config/TelegramUI.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -SWIFT_INCLUDE_PATHS = $(SRCROOT)/TelegramUI -MODULEMAP_PRIVATE_FILE = $(SRCROOT)/TelegramUI/module.private.modulemap diff --git a/submodules/TelegramUI/TelegramUI/EmojiResources.swift b/submodules/TelegramUI/TelegramUI/EmojiResources.swift index aa529686af..ca74e2a34b 100644 --- a/submodules/TelegramUI/TelegramUI/EmojiResources.swift +++ b/submodules/TelegramUI/TelegramUI/EmojiResources.swift @@ -11,6 +11,7 @@ import WebP #endif import MediaResources import Emoji +import AppBundle public struct EmojiThumbnailResourceId: MediaResourceId { public let emoji: String @@ -114,7 +115,7 @@ public class EmojiSpriteResource: TelegramMediaResource { } private var emojiMapping: [String: (UInt8, UInt8, UInt8)] = { - let path = frameworkBundle.path(forResource: "Emoji", ofType: "mapping")! + let path = getAppBundle().path(forResource: "Emoji", ofType: "mapping")! var mapping: [String: (UInt8, UInt8, UInt8)] = [:] if let data = try? Data(contentsOf: URL(fileURLWithPath: path)) { diff --git a/submodules/TelegramUI/TelegramUI/FrameworkBundle.swift b/submodules/TelegramUI/TelegramUI/FrameworkBundle.swift deleted file mode 100644 index 3f7a202833..0000000000 --- a/submodules/TelegramUI/TelegramUI/FrameworkBundle.swift +++ /dev/null @@ -1,14 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) -private let screenScaleFactor = Int(UIScreen.main.scale) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/TelegramUI/TelegramUI/GifPaneSearchContentNode.swift b/submodules/TelegramUI/TelegramUI/GifPaneSearchContentNode.swift index 7938ea2828..99b34cd924 100644 --- a/submodules/TelegramUI/TelegramUI/GifPaneSearchContentNode.swift +++ b/submodules/TelegramUI/TelegramUI/GifPaneSearchContentNode.swift @@ -8,6 +8,7 @@ import TelegramCore import TelegramPresentationData import AccountContext import WebSearchUI +import AppBundle func paneGifSearchForQuery(account: Account, query: String, updateActivity: ((Bool) -> Void)?) -> Signal<[FileMediaReference]?, NoError> { let delayRequest = true diff --git a/submodules/TelegramUI/TelegramUI/GridMessageItem.swift b/submodules/TelegramUI/TelegramUI/GridMessageItem.swift index 0f8326e261..485dd4c83d 100644 --- a/submodules/TelegramUI/TelegramUI/GridMessageItem.swift +++ b/submodules/TelegramUI/TelegramUI/GridMessageItem.swift @@ -11,6 +11,7 @@ import AccountContext import RadialStatusNode import PhotoResources import GridMessageSelectionNode +import ContextUI private func mediaForMessage(_ message: Message) -> Media? { for media in message.media { @@ -145,6 +146,7 @@ final class GridMessageItem: GridItem { final class GridMessageItemNode: GridItemNode { private var currentState: (AccountContext, Media, CGSize)? + private let containerNode: ContextControllerSourceNode private let imageNode: TransformImageNode private(set) var messageId: MessageId? private var item: GridMessageItem? @@ -159,6 +161,7 @@ final class GridMessageItemNode: GridItemNode { private var resourceStatus: MediaResourceStatus? override init() { + self.containerNode = ContextControllerSourceNode() self.imageNode = TransformImageNode() self.statusNode = RadialStatusNode(backgroundNodeColor: UIColor(white: 0.0, alpha: 0.6)) let progressDiameter: CGFloat = 40.0 @@ -170,8 +173,17 @@ final class GridMessageItemNode: GridItemNode { super.init() - self.addSubnode(self.imageNode) - self.addSubnode(self.mediaBadgeNode) + self.addSubnode(self.containerNode) + self.containerNode.addSubnode(self.imageNode) + self.containerNode.addSubnode(self.mediaBadgeNode) + + self.containerNode.activated = { [weak self] gesture in + guard let strongSelf = self, let item = strongSelf.item, let controllerInteraction = strongSelf.controllerInteraction else { + gesture.cancel() + return + } + controllerInteraction.openMessageContextActions(item.message, strongSelf.containerNode, strongSelf.containerNode.bounds, gesture) + } } deinit { @@ -302,6 +314,9 @@ final class GridMessageItemNode: GridItemNode { super.layout() let imageFrame = self.bounds + + self.containerNode.frame = imageFrame + self.imageNode.frame = imageFrame if let item = self.item, let (_, _, mediaDimensions) = self.currentState { @@ -336,7 +351,7 @@ final class GridMessageItemNode: GridItemNode { }) selectionNode.frame = CGRect(origin: CGPoint(), size: self.bounds.size) - self.addSubnode(selectionNode) + self.containerNode.addSubnode(selectionNode) self.selectionNode = selectionNode selectionNode.updateSelected(selected, animated: false) if animated { @@ -437,7 +452,8 @@ final class GridMessageItemNode: GridItemNode { let _ = controllerInteraction.openMessage(message, .default) } case .longTap: - controllerInteraction.openMessageContextMenu(message, false, self, self.bounds, nil) + break + //controllerInteraction.openMessageContextMenu(message, false, self, self.bounds, nil) default: break } diff --git a/submodules/TelegramUI/TelegramUI/LegacyInstantVideoController.swift b/submodules/TelegramUI/TelegramUI/LegacyInstantVideoController.swift index 4e19401c7f..c274d8502b 100644 --- a/submodules/TelegramUI/TelegramUI/LegacyInstantVideoController.swift +++ b/submodules/TelegramUI/TelegramUI/LegacyInstantVideoController.swift @@ -11,6 +11,7 @@ import AccountContext import LegacyUI import ImageCompression import LocalMediaResources +import AppBundle final class InstantVideoControllerRecordingStatus { let micLevel: Signal diff --git a/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift b/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift index f66ae8b42e..7f99aab120 100644 --- a/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift +++ b/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift @@ -282,7 +282,32 @@ func openResolvedUrlImpl(_ resolvedUrl: ResolvedUrl, context: AccountContext, ur let controller = OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .loading(cancelled: nil)) present(controller, nil) - let _ = (signal + var cancelImpl: (() -> Void)? + let progressSignal = Signal { subscriber in + let controller = OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .loading(cancelled: { + cancelImpl?() + })) + present(controller, nil) + return ActionDisposable { [weak controller] in + Queue.mainQueue().async() { + controller?.dismiss() + } + } + } + |> runOn(Queue.mainQueue()) + |> delay(0.35, queue: Queue.mainQueue()) + + let disposable = MetaDisposable() + let progressDisposable = progressSignal.start() + cancelImpl = { + disposable.set(nil) + } + disposable.set((signal + |> afterDisposed { + Queue.mainQueue().async { + progressDisposable.dispose() + } + } |> deliverOnMainQueue).start(next: { [weak controller] dataAndTheme in controller?.dismiss() @@ -300,7 +325,7 @@ func openResolvedUrlImpl(_ resolvedUrl: ResolvedUrl, context: AccountContext, ur } present(textAlertController(context: context, title: nil, text: errorText, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_OK, action: {})]), nil) controller?.dismiss() - }) + })) dismissInput() } } diff --git a/submodules/TelegramUI/TelegramUI/OverlayInstantVideoDecoration.swift b/submodules/TelegramUI/TelegramUI/OverlayInstantVideoDecoration.swift index 2b9f365df3..8ac041dde8 100644 --- a/submodules/TelegramUI/TelegramUI/OverlayInstantVideoDecoration.swift +++ b/submodules/TelegramUI/TelegramUI/OverlayInstantVideoDecoration.swift @@ -5,6 +5,7 @@ import Display import SwiftSignalKit import UniversalMediaPlayer import AccountContext +import AppBundle private let backgroundImage = UIImage(bundleImageName: "Chat/Message/OverlayInstantVideoShadow")?.precomposed() diff --git a/submodules/TelegramUI/TelegramUI/OverlayPlayerControllerNode.swift b/submodules/TelegramUI/TelegramUI/OverlayPlayerControllerNode.swift index 5e3b95c6d6..ae30637840 100644 --- a/submodules/TelegramUI/TelegramUI/OverlayPlayerControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/OverlayPlayerControllerNode.swift @@ -63,6 +63,7 @@ final class OverlayAudioPlayerControllerNode: ViewControllerTracingNode, UIGestu }, openPeer: { _, _, _ in }, openPeerMention: { _ in }, openMessageContextMenu: { _, _, _, _, _ in + }, openMessageContextActions: { _, _, _, _ in }, navigateToMessage: { _, _ in }, clickThroughMessage: { }, toggleMessagesSelection: { _, _ in diff --git a/submodules/TelegramUI/TelegramUI/OverlayPlayerControlsNode.swift b/submodules/TelegramUI/TelegramUI/OverlayPlayerControlsNode.swift index 7a2160a066..57cd6daef7 100644 --- a/submodules/TelegramUI/TelegramUI/OverlayPlayerControlsNode.swift +++ b/submodules/TelegramUI/TelegramUI/OverlayPlayerControlsNode.swift @@ -10,6 +10,7 @@ import UniversalMediaPlayer import TelegramUIPreferences import AccountContext import PhotoResources +import AppBundle private func generateBackground(theme: PresentationTheme) -> UIImage? { return generateImage(CGSize(width: 20.0, height: 10.0 + 8.0), rotatedContext: { size, context in diff --git a/submodules/TelegramUI/TelegramUI/PaneSearchBarNode.swift b/submodules/TelegramUI/TelegramUI/PaneSearchBarNode.swift index b4890cd0ff..c7837b742d 100644 --- a/submodules/TelegramUI/TelegramUI/PaneSearchBarNode.swift +++ b/submodules/TelegramUI/TelegramUI/PaneSearchBarNode.swift @@ -5,6 +5,7 @@ import AsyncDisplayKit import Display import TelegramPresentationData import ActivityIndicator +import AppBundle private func generateLoupeIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Loupe"), color: color) diff --git a/submodules/TelegramUI/TelegramUI/PaneSearchBarPlaceholderItem.swift b/submodules/TelegramUI/TelegramUI/PaneSearchBarPlaceholderItem.swift index 84c0ff76f7..2f175126c7 100644 --- a/submodules/TelegramUI/TelegramUI/PaneSearchBarPlaceholderItem.swift +++ b/submodules/TelegramUI/TelegramUI/PaneSearchBarPlaceholderItem.swift @@ -3,6 +3,7 @@ import UIKit import AsyncDisplayKit import Display import TelegramPresentationData +import AppBundle private let templateLoupeIcon = UIImage(bundleImageName: "Components/Search Bar/Loupe") diff --git a/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift b/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift index ae18dd209a..99b8942f8d 100644 --- a/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift +++ b/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift @@ -14,6 +14,7 @@ import AccountContext import ShareController import OpenInExternalAppUI import PeerInfoUI +import ContextUI public class PeerMediaCollectionController: TelegramBaseController { private var validLayout: ContainerViewLayout? @@ -156,6 +157,105 @@ public class PeerMediaCollectionController: TelegramBaseController { strongSelf.present(actionSheet, in: .window(.root)) } } + }, openMessageContextActions: { [weak self] message, node, rect, gesture in + guard let strongSelf = self else { + gesture?.cancel() + return + } + if let previewData = chatMessagePreviewControllerData(context: strongSelf.context, message: message, standalone: false, reverseMessageGalleryOrder: false, navigationController: strongSelf.navigationController as? NavigationController) { + let context = strongSelf.context + let strings = strongSelf.presentationData.strings + let items = chatAvailableMessageActionsImpl(postbox: strongSelf.context.account.postbox, accountPeerId: strongSelf.context.account.peerId, messageIds: [message.id]) + |> map { actions -> [ContextMenuItem] in + var items: [ContextMenuItem] = [] + + items.append(.action(ContextMenuActionItem(text: strings.SharedMedia_ViewInChat, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/GoToMessage"), color: theme.contextMenu.primaryColor) }, action: { c, f in + c.dismiss(completion: { + if let strongSelf = self, let navigationController = strongSelf.navigationController as? NavigationController { + strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: navigationController, context: strongSelf.context, chatLocation: .peer(strongSelf.peerId), subject: .message(message.id))) + } + }) + }))) + + items.append(.action(ContextMenuActionItem(text: strings.Conversation_ContextMenuForward, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Forward"), color: theme.contextMenu.primaryColor) }, action: { c, f in + c.dismiss(completion: { + if let strongSelf = self { + strongSelf.forwardMessages([message.id]) + } + }) + }))) + + if actions.options.contains(.deleteLocally) || actions.options.contains(.deleteGlobally) { + items.append(.action(ContextMenuActionItem(text: strings.Conversation_ContextMenuDelete, textColor: .destructive, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Delete"), color: theme.contextMenu.destructiveColor) }, action: { c, f in + c.setItems(context.account.postbox.transaction { transaction -> [ContextMenuItem] in + var items: [ContextMenuItem] = [] + let messageIds = [message.id] + + if let peer = transaction.getPeer(message.id.peerId) { + var personalPeerName: String? + var isChannel = false + if let user = peer as? TelegramUser { + personalPeerName = user.compactDisplayTitle + } else if let channel = peer as? TelegramChannel, case .broadcast = channel.info { + isChannel = true + } + + if actions.options.contains(.deleteGlobally) { + let globalTitle: String + if isChannel { + globalTitle = strongSelf.presentationData.strings.Conversation_DeleteMessagesForMe + } else if let personalPeerName = personalPeerName { + globalTitle = strongSelf.presentationData.strings.Conversation_DeleteMessagesFor(personalPeerName).0 + } else { + globalTitle = strongSelf.presentationData.strings.Conversation_DeleteMessagesForEveryone + } + items.append(.action(ContextMenuActionItem(text: globalTitle, textColor: .destructive, icon: { _ in nil }, action: { c, f in + c.dismiss(completion: { + if let strongSelf = self { + strongSelf.updateInterfaceState(animated: true, { $0.withoutSelectionState() }) + let _ = deleteMessagesInteractively(postbox: strongSelf.context.account.postbox, messageIds: Array(messageIds), type: .forEveryone).start() + } + }) + }))) + } + + if actions.options.contains(.deleteLocally) { + var localOptionText = strongSelf.presentationData.strings.Conversation_DeleteMessagesForMe + if strongSelf.context.account.peerId == strongSelf.peerId { + if messageIds.count == 1 { + localOptionText = strongSelf.presentationData.strings.Conversation_Moderate_Delete + } else { + localOptionText = strongSelf.presentationData.strings.Conversation_DeleteManyMessages + } + } + items.append(.action(ContextMenuActionItem(text: localOptionText, textColor: .destructive, icon: { _ in nil }, action: { c, f in + c.dismiss(completion: { + if let strongSelf = self { + strongSelf.updateInterfaceState(animated: true, { $0.withoutSelectionState() }) + let _ = deleteMessagesInteractively(postbox: strongSelf.context.account.postbox, messageIds: Array(messageIds), type: .forLocalPeer).start() + } + }) + }))) + } + } + + return items + }) + }))) + } + + return items + } + + switch previewData { + case let .gallery(gallery): + gallery.setHintWillBePresentedInPreviewingContext(true) + let contextController = ContextController(account: strongSelf.context.account, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, source: .controller(ContextControllerContentSourceImpl(controller: gallery, sourceNode: node)), items: items, reactionItems: [], gesture: gesture) + strongSelf.presentInGlobalOverlay(contextController) + case .instantPage: + break + } + } }, navigateToMessage: { [weak self] fromId, id in if let strongSelf = self, strongSelf.isNodeLoaded { if id.peerId == strongSelf.peerId { @@ -786,3 +886,24 @@ public class PeerMediaCollectionController: TelegramBaseController { } } } + +private final class ContextControllerContentSourceImpl: ContextControllerContentSource { + let controller: ViewController + weak var sourceNode: ASDisplayNode? + + init(controller: ViewController, sourceNode: ASDisplayNode?) { + self.controller = controller + self.sourceNode = sourceNode + } + + func transitionInfo() -> ContextControllerTakeControllerInfo? { + let sourceNode = self.sourceNode + return ContextControllerTakeControllerInfo(contentAreaInScreenSpace: CGRect(origin: CGPoint(), size: CGSize(width: 10.0, height: 10.0)), sourceNode: { [weak sourceNode] in + if let sourceNode = sourceNode { + return (sourceNode, sourceNode.bounds) + } else { + return nil + } + }) + } +} diff --git a/submodules/TelegramUI/TelegramUI/PeerMediaCollectionEmptyNode.swift b/submodules/TelegramUI/TelegramUI/PeerMediaCollectionEmptyNode.swift index 66ee3035b4..c9eb63bf1a 100644 --- a/submodules/TelegramUI/TelegramUI/PeerMediaCollectionEmptyNode.swift +++ b/submodules/TelegramUI/TelegramUI/PeerMediaCollectionEmptyNode.swift @@ -4,6 +4,7 @@ import AsyncDisplayKit import Display import TelegramPresentationData import ActivityIndicator +import AppBundle final class PeerMediaCollectionEmptyNode: ASDisplayNode { private let mode: PeerMediaCollectionMode diff --git a/submodules/TelegramUI/TelegramUI/PeerSelectionControllerNode.swift b/submodules/TelegramUI/TelegramUI/PeerSelectionControllerNode.swift index 4a44cd0267..8fa2a3c876 100644 --- a/submodules/TelegramUI/TelegramUI/PeerSelectionControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/PeerSelectionControllerNode.swift @@ -232,7 +232,7 @@ final class PeerSelectionControllerNode: ASDisplayNode { if let requestOpenMessageFromSearch = self?.requestOpenMessageFromSearch { requestOpenMessageFromSearch(peer, messageId) } - }, addContact: nil), cancel: { [weak self] in + }, addContact: nil, peerContextAction: nil), cancel: { [weak self] in if let requestDeactivateSearch = self?.requestDeactivateSearch { requestDeactivateSearch() } diff --git a/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping b/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping index 9b895c0dd6..86b928ee9d 100644 Binary files a/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping and b/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping differ diff --git a/submodules/TelegramUI/TelegramUI/ServiceSoundManager.swift b/submodules/TelegramUI/TelegramUI/ServiceSoundManager.swift index c4ba6b38f7..6a856ca430 100644 --- a/submodules/TelegramUI/TelegramUI/ServiceSoundManager.swift +++ b/submodules/TelegramUI/TelegramUI/ServiceSoundManager.swift @@ -1,9 +1,10 @@ import Foundation import SwiftSignalKit import AudioToolbox +import AppBundle private func loadSystemSoundFromBundle(name: String) -> SystemSoundID? { - let path = "\(frameworkBundle.resourcePath!)/\(name)" + let path = "\(getAppBundle().resourcePath!)/\(name)" let url = URL(fileURLWithPath: path) var sound: SystemSoundID = 0 if AudioServicesCreateSystemSoundID(url as CFURL, &sound) == noErr { diff --git a/submodules/TelegramUI/TelegramUI/SharedAccountContext.swift b/submodules/TelegramUI/TelegramUI/SharedAccountContext.swift index 7e2eefda4e..89226d864f 100644 --- a/submodules/TelegramUI/TelegramUI/SharedAccountContext.swift +++ b/submodules/TelegramUI/TelegramUI/SharedAccountContext.swift @@ -995,6 +995,10 @@ public final class SharedAccountContextImpl: SharedAccountContext { openAddContactImpl(context: context, firstName: firstName, lastName: lastName, phoneNumber: phoneNumber, label: label, present: present, pushController: pushController, completed: completed) } + public func openAddPersonContact(context: AccountContext, peerId: PeerId, present: @escaping (ViewController, Any?) -> Void) { + openAddPersonContactImpl(context: context, peerId: peerId, present: present) + } + public func makeCreateGroupController(context: AccountContext, peerIds: [PeerId], initialTitle: String?, mode: CreateGroupMode, completion: ((PeerId, @escaping () -> Void) -> Void)?) -> ViewController { return createGroupControllerImpl(context: context, peerIds: peerIds, initialTitle: initialTitle, mode: mode, completion: completion) } diff --git a/submodules/TelegramUI/TelegramUI/StickerPaneSearchContentNode.swift b/submodules/TelegramUI/TelegramUI/StickerPaneSearchContentNode.swift index 9913c3bb61..2cf75faa78 100644 --- a/submodules/TelegramUI/TelegramUI/StickerPaneSearchContentNode.swift +++ b/submodules/TelegramUI/TelegramUI/StickerPaneSearchContentNode.swift @@ -11,6 +11,7 @@ import MergeLists import AccountContext import StickerPackPreviewUI import Emoji +import AppBundle final class StickerPaneSearchInteraction { let open: (StickerPackCollectionInfo) -> Void diff --git a/submodules/TelegramUI/TelegramUI/TelegramRootController.swift b/submodules/TelegramUI/TelegramUI/TelegramRootController.swift index 2c5e678bdb..50cff99aea 100644 --- a/submodules/TelegramUI/TelegramUI/TelegramRootController.swift +++ b/submodules/TelegramUI/TelegramUI/TelegramRootController.swift @@ -10,6 +10,7 @@ import ContactListUI import CallListUI import ChatListUI import SettingsUI +import AppBundle public final class TelegramRootController: NavigationController { private let context: AccountContext @@ -48,18 +49,15 @@ public final class TelegramRootController: NavigationController { if presentationData.chatWallpaper != strongSelf.presentationData.chatWallpaper { let navigationDetailsBackgroundMode: NavigationEmptyDetailsBackgoundMode? switch presentationData.chatWallpaper { - case .color: - let image = generateTintedImage(image: UIImage(bundleImageName: "Chat List/EmptyMasterDetailIcon"), color: presentationData.theme.chatList.messageTextColor.withAlphaComponent(0.2)) - navigationDetailsBackgroundMode = image != nil ? .image(image!) : nil - default: - let image = chatControllerBackgroundImage(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper, mediaBox: strongSelf.context.account.postbox.mediaBox, knockoutMode: strongSelf.context.sharedContext.immediateExperimentalUISettings.knockoutWallpaper) - navigationDetailsBackgroundMode = image != nil ? .wallpaper(image!) : nil + case .color: + let image = generateTintedImage(image: UIImage(bundleImageName: "Chat List/EmptyMasterDetailIcon"), color: presentationData.theme.chatList.messageTextColor.withAlphaComponent(0.2)) + navigationDetailsBackgroundMode = image != nil ? .image(image!) : nil + default: + navigationDetailsBackgroundMode = chatControllerBackgroundImage(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper, mediaBox: strongSelf.context.sharedContext.accountManager.mediaBox, knockoutMode: strongSelf.context.sharedContext.immediateExperimentalUISettings.knockoutWallpaper).flatMap(NavigationEmptyDetailsBackgoundMode.wallpaper) } strongSelf.updateBackgroundDetailsMode(navigationDetailsBackgroundMode, transition: .immediate) } - - - + let previousTheme = strongSelf.presentationData.theme strongSelf.presentationData = presentationData if previousTheme !== presentationData.theme { diff --git a/submodules/TelegramUI/TelegramUI/ThemeUpdateManager.swift b/submodules/TelegramUI/TelegramUI/ThemeUpdateManager.swift index 79b60e573e..be6dc72e98 100644 --- a/submodules/TelegramUI/TelegramUI/ThemeUpdateManager.swift +++ b/submodules/TelegramUI/TelegramUI/ThemeUpdateManager.swift @@ -66,6 +66,10 @@ final class ThemeUpdateManagerImpl: ThemeUpdateManager { validIds.insert(themeSettings.theme.index) themes[themeSettings.theme.index] = (themeSettings.theme, false) } + if case .cloud = themeSettings.automaticThemeSwitchSetting.theme, themeSettings.automaticThemeSwitchSetting.trigger != .none { + validIds.insert(themeSettings.automaticThemeSwitchSetting.theme.index) + themes[themeSettings.automaticThemeSwitchSetting.theme.index] = (themeSettings.automaticThemeSwitchSetting.theme, true) + } if previousIds != validIds { for id in validIds { @@ -126,20 +130,25 @@ final class ThemeUpdateManagerImpl: ThemeUpdateManager { current = PresentationThemeSettings.defaultSettings } - let chatWallpaper: TelegramWallpaper - if let themeSpecificWallpaper = current.themeSpecificChatWallpapers[updatedTheme.index] { - chatWallpaper = themeSpecificWallpaper - } else if let presentationTheme = presentationTheme { - if case let .cloud(info) = updatedTheme, let resolvedWallpaper = info.resolvedWallpaper { - chatWallpaper = resolvedWallpaper - } else { - chatWallpaper = presentationTheme.chat.defaultWallpaper - } + var chatWallpaper = current.chatWallpaper + var automaticThemeSwitchSetting = current.automaticThemeSwitchSetting + if isAutoNight { + automaticThemeSwitchSetting.theme = updatedTheme } else { - chatWallpaper = current.chatWallpaper + if let themeSpecificWallpaper = current.themeSpecificChatWallpapers[updatedTheme.index] { + chatWallpaper = themeSpecificWallpaper + } else if let presentationTheme = presentationTheme { + if case let .cloud(info) = updatedTheme, let resolvedWallpaper = info.resolvedWallpaper { + chatWallpaper = resolvedWallpaper + } else { + chatWallpaper = presentationTheme.chat.defaultWallpaper + } + } else { + chatWallpaper = current.chatWallpaper + } } - return PresentationThemeSettings(chatWallpaper: chatWallpaper, theme: updatedTheme, themeSpecificAccentColors: current.themeSpecificAccentColors, themeSpecificChatWallpapers: current.themeSpecificChatWallpapers, fontSize: current.fontSize, automaticThemeSwitchSetting: current.automaticThemeSwitchSetting, largeEmoji: current.largeEmoji, disableAnimations: current.disableAnimations) + return PresentationThemeSettings(chatWallpaper: chatWallpaper, theme: updatedTheme, themeSpecificAccentColors: current.themeSpecificAccentColors, themeSpecificChatWallpapers: current.themeSpecificChatWallpapers, fontSize: current.fontSize, automaticThemeSwitchSetting: automaticThemeSwitchSetting, largeEmoji: current.largeEmoji, disableAnimations: current.disableAnimations) }) }).start() } diff --git a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj index c0c9d96e98..c818777216 100644 --- a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj @@ -1117,7 +1117,6 @@ D0F53BF61E79593500117362 /* AuthorizationSequenceSignUpController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthorizationSequenceSignUpController.swift; sourceTree = ""; }; D0F53BF81E79593F00117362 /* AuthorizationSequenceSignUpControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthorizationSequenceSignUpControllerNode.swift; sourceTree = ""; }; D0F69CD61D6B87D30046BCD6 /* MediaManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediaManager.swift; sourceTree = ""; }; - D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = TelegramUI.xcconfig; path = TelegramUI/Config/TelegramUI.xcconfig; sourceTree = ""; }; D0F69DC41D6B89E10046BCD6 /* RadialProgressNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadialProgressNode.swift; sourceTree = ""; }; D0F69E0E1D6B8ACF0046BCD6 /* ChatController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatController.swift; sourceTree = ""; }; D0F69E0F1D6B8ACF0046BCD6 /* ChatControllerInteraction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatControllerInteraction.swift; sourceTree = ""; }; @@ -2569,7 +2568,6 @@ isa = PBXGroup; children = ( D0EB42041F3143AB00838FE6 /* LegacyComponentsResources.bundle */, - D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */, D0AB0BBA1D6719B5002C78E7 /* Images.xcassets */, D0471B521EFD8EBC0074D609 /* Resources */, D073CE611DCBBE09007511FD /* Sounds */, @@ -3138,7 +3136,6 @@ /* Begin XCBuildConfiguration section */ D021D510219CB2240064BEBA /* DebugFork */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3201,7 +3198,6 @@ }; D021D511219CB2240064BEBA /* DebugFork */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; DEVELOPMENT_TEAM = X834Q8SBVP; @@ -3265,7 +3261,6 @@ }; D0400EDB1D5B900A007931CE /* ReleaseAppStore */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3321,7 +3316,6 @@ }; D0400EDD1D5B900A007931CE /* ReleaseAppStore */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; COPY_PHASE_STRIP = YES; @@ -3338,7 +3332,6 @@ }; D079FD261F06BEF70038FADE /* DebugAppStore */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3401,7 +3394,6 @@ }; D079FD271F06BEF70038FADE /* DebugAppStore */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; DEVELOPMENT_TEAM = X834Q8SBVP; @@ -3465,7 +3457,6 @@ }; D0924FEE1FE52C29003F693F /* ReleaseHockeyappInternal */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3521,7 +3512,6 @@ }; D0924FEF1FE52C29003F693F /* ReleaseHockeyappInternal */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; COPY_PHASE_STRIP = YES; @@ -3585,7 +3575,6 @@ }; D0ADF948212B3B0000310BBC /* DebugAppStoreLLC */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3648,7 +3637,6 @@ }; D0ADF949212B3B0000310BBC /* DebugAppStoreLLC */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; DEVELOPMENT_TEAM = X834Q8SBVP; @@ -3712,7 +3700,6 @@ }; D0CE6F02213DC32300BCD44B /* ReleaseAppStoreLLC */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -3768,7 +3755,6 @@ }; D0CE6F03213DC32300BCD44B /* ReleaseAppStoreLLC */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; COPY_PHASE_STRIP = YES; @@ -3973,7 +3959,6 @@ }; D0FC40911D5B8E7500261D9D /* DebugHockeyapp */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -4036,7 +4021,6 @@ }; D0FC40921D5B8E7500261D9D /* ReleaseHockeyapp */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -4092,7 +4076,6 @@ }; D0FC40971D5B8E7500261D9D /* DebugHockeyapp */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; DEVELOPMENT_TEAM = X834Q8SBVP; @@ -4108,7 +4091,6 @@ }; D0FC40981D5B8E7500261D9D /* ReleaseHockeyapp */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F69DB91D6B88190046BCD6 /* TelegramUI.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; COPY_PHASE_STRIP = YES; diff --git a/submodules/TelegramUIPreferences/BUCK b/submodules/TelegramUIPreferences/BUCK new file mode 100644 index 0000000000..8bb03414dc --- /dev/null +++ b/submodules/TelegramUIPreferences/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramUIPreferences", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TelegramUIPreferences/Sources/PresentationThemeSettings.swift b/submodules/TelegramUIPreferences/Sources/PresentationThemeSettings.swift index e8eae936c2..b3d2a9cde4 100644 --- a/submodules/TelegramUIPreferences/Sources/PresentationThemeSettings.swift +++ b/submodules/TelegramUIPreferences/Sources/PresentationThemeSettings.swift @@ -271,21 +271,27 @@ public enum AutomaticThemeSwitchTrigger: PostboxCoding, Equatable { public struct AutomaticThemeSwitchSetting: PostboxCoding, Equatable { public var trigger: AutomaticThemeSwitchTrigger - public var theme: PresentationBuiltinThemeReference + public var theme: PresentationThemeReference - public init(trigger: AutomaticThemeSwitchTrigger, theme: PresentationBuiltinThemeReference) { + public init(trigger: AutomaticThemeSwitchTrigger, theme: PresentationThemeReference) { self.trigger = trigger self.theme = theme } public init(decoder: PostboxDecoder) { self.trigger = decoder.decodeObjectForKey("trigger", decoder: { AutomaticThemeSwitchTrigger(decoder: $0) }) as! AutomaticThemeSwitchTrigger - self.theme = PresentationBuiltinThemeReference(rawValue: decoder.decodeInt32ForKey("theme", orElse: 0))! + if let theme = decoder.decodeObjectForKey("theme_v2", decoder: { PresentationThemeReference(decoder: $0) }) as? PresentationThemeReference { + self.theme = theme + } else if let legacyValue = decoder.decodeOptionalInt32ForKey("theme") { + self.theme = .builtin(PresentationBuiltinThemeReference(rawValue: legacyValue) ?? .nightAccent) + } else { + self.theme = .builtin(.nightAccent) + } } public func encode(_ encoder: PostboxEncoder) { encoder.encodeObject(self.trigger, forKey: "trigger") - encoder.encodeInt32(self.theme.rawValue, forKey: "theme") + encoder.encodeObject(self.theme, forKey: "theme_v2") } } @@ -443,7 +449,7 @@ public struct PresentationThemeSettings: PreferencesEntry { } public static var defaultSettings: PresentationThemeSettings { - return PresentationThemeSettings(chatWallpaper: .builtin(WallpaperSettings()), theme: .builtin(.dayClassic), themeSpecificAccentColors: [:], themeSpecificChatWallpapers: [:], fontSize: .regular, automaticThemeSwitchSetting: AutomaticThemeSwitchSetting(trigger: .none, theme: .nightAccent), largeEmoji: true, disableAnimations: true) + return PresentationThemeSettings(chatWallpaper: .builtin(WallpaperSettings()), theme: .builtin(.dayClassic), themeSpecificAccentColors: [:], themeSpecificChatWallpapers: [:], fontSize: .regular, automaticThemeSwitchSetting: AutomaticThemeSwitchSetting(trigger: .none, theme: .builtin(.nightAccent)), largeEmoji: true, disableAnimations: true) } public init(chatWallpaper: TelegramWallpaper, theme: PresentationThemeReference, themeSpecificAccentColors: [Int64: PresentationThemeAccentColor], themeSpecificChatWallpapers: [Int64: TelegramWallpaper], fontSize: PresentationFontSize, automaticThemeSwitchSetting: AutomaticThemeSwitchSetting, largeEmoji: Bool, disableAnimations: Bool) { @@ -499,7 +505,7 @@ public struct PresentationThemeSettings: PreferencesEntry { } self.fontSize = PresentationFontSize(rawValue: decoder.decodeInt32ForKey("f", orElse: PresentationFontSize.regular.rawValue)) ?? .regular - self.automaticThemeSwitchSetting = (decoder.decodeObjectForKey("automaticThemeSwitchSetting", decoder: { AutomaticThemeSwitchSetting(decoder: $0) }) as? AutomaticThemeSwitchSetting) ?? AutomaticThemeSwitchSetting(trigger: .none, theme: .nightAccent) + self.automaticThemeSwitchSetting = (decoder.decodeObjectForKey("automaticThemeSwitchSetting", decoder: { AutomaticThemeSwitchSetting(decoder: $0) }) as? AutomaticThemeSwitchSetting) ?? AutomaticThemeSwitchSetting(trigger: .none, theme: .builtin(.nightAccent)) self.largeEmoji = decoder.decodeBoolForKey("largeEmoji", orElse: true) self.disableAnimations = decoder.decodeBoolForKey("disableAnimations", orElse: true) } diff --git a/submodules/TelegramUIPreferences/TelegramUIPreferences.xcodeproj/project.pbxproj b/submodules/TelegramUIPreferences/TelegramUIPreferences.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1a1e4ae594 --- /dev/null +++ b/submodules/TelegramUIPreferences/TelegramUIPreferences.xcodeproj/project.pbxproj @@ -0,0 +1,845 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2919E3221200000000 + + isa + PBXFileReference + name + TelegramUIPreferences-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramUIPreferences/TelegramUIPreferences-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2912C57CFC00000000 + + isa + PBXFileReference + name + TelegramUIPreferences-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramUIPreferences/TelegramUIPreferences-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29865C285E00000000 + + isa + PBXFileReference + name + TelegramUIPreferences-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramUIPreferences/TelegramUIPreferences-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2919E3221200000000 + 1DD70E2912C57CFC00000000 + 1DD70E29865C285E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E292395015100000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29085C57E400000000 + + isa + PBXFileReference + name + CallListSettings.swift + path + Sources/CallListSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E295E84555200000000 + + isa + PBXFileReference + name + ChatArchiveSettings.swift + path + Sources/ChatArchiveSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E3614AE800000000 + + isa + PBXFileReference + name + ContactSynchronizationSettings.swift + path + Sources/ContactSynchronizationSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E294BB18FB000000000 + + isa + PBXFileReference + name + ExperimentalSettings.swift + path + Sources/ExperimentalSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E2977CCE54400000000 + + isa + PBXFileReference + name + ExperimentalUISettings.swift + path + Sources/ExperimentalUISettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E291F4F4DD400000000 + + isa + PBXFileReference + name + GeneratedMediaStoreSettings.swift + path + Sources/GeneratedMediaStoreSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E2998C4E60F00000000 + + isa + PBXFileReference + name + InAppNotificationSettings.swift + path + Sources/InAppNotificationSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B75EB25200000000 + + isa + PBXFileReference + name + InstantPagePresentationSettings.swift + path + Sources/InstantPagePresentationSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C1C3E69200000000 + + isa + PBXFileReference + name + LegacyAutomaticMediaDownloadSettings.swift + path + Sources/LegacyAutomaticMediaDownloadSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29380BC2A300000000 + + isa + PBXFileReference + name + MediaAutoDownloadSettings.swift + path + Sources/MediaAutoDownloadSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D753C48E00000000 + + isa + PBXFileReference + name + MediaInputSettings.swift + path + Sources/MediaInputSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29880B7FE800000000 + + isa + PBXFileReference + name + MusicPlaybackSettings.swift + path + Sources/MusicPlaybackSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E296B31950400000000 + + isa + PBXFileReference + name + PostboxKeys.swift + path + Sources/PostboxKeys.swift + sourceTree + SOURCE_ROOT + + 1DD70E2936AE718000000000 + + isa + PBXFileReference + name + PresentationPasscodeSettings.swift + path + Sources/PresentationPasscodeSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29A144151700000000 + + isa + PBXFileReference + name + PresentationThemeSettings.swift + path + Sources/PresentationThemeSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E29999D3D9600000000 + + isa + PBXFileReference + name + RenderedTotalUnreadCount.swift + path + Sources/RenderedTotalUnreadCount.swift + sourceTree + SOURCE_ROOT + + 1DD70E2937CCB70500000000 + + isa + PBXFileReference + name + StickerSettings.swift + path + Sources/StickerSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E294C28173800000000 + + isa + PBXFileReference + name + VoiceCallSettings.swift + path + Sources/VoiceCallSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E299D781DF900000000 + + isa + PBXFileReference + name + VoipDerivedState.swift + path + Sources/VoipDerivedState.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B7EF989600000000 + + isa + PBXFileReference + name + WatchPresetSettings.swift + path + Sources/WatchPresetSettings.swift + sourceTree + SOURCE_ROOT + + 1DD70E2991A611A400000000 + + isa + PBXFileReference + name + WebSearchSettings.swift + path + Sources/WebSearchSettings.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29085C57E400000000 + 1DD70E295E84555200000000 + 1DD70E29E3614AE800000000 + 1DD70E294BB18FB000000000 + 1DD70E2977CCE54400000000 + 1DD70E291F4F4DD400000000 + 1DD70E2998C4E60F00000000 + 1DD70E29B75EB25200000000 + 1DD70E29C1C3E69200000000 + 1DD70E29380BC2A300000000 + 1DD70E29D753C48E00000000 + 1DD70E29880B7FE800000000 + 1DD70E296B31950400000000 + 1DD70E2936AE718000000000 + 1DD70E29A144151700000000 + 1DD70E29999D3D9600000000 + 1DD70E2937CCB70500000000 + 1DD70E294C28173800000000 + 1DD70E299D781DF900000000 + 1DD70E29B7EF989600000000 + 1DD70E2991A611A400000000 + + + B401C9793286A84300000000 + + isa + PBXGroup + name + TelegramUIPreferences + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9793286A84300000000 + + + E7A30F04085C57E400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29085C57E400000000 + + E7A30F045E84555200000000 + + isa + PBXBuildFile + fileRef + 1DD70E295E84555200000000 + + E7A30F04E3614AE800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3614AE800000000 + + E7A30F044BB18FB000000000 + + isa + PBXBuildFile + fileRef + 1DD70E294BB18FB000000000 + + E7A30F0477CCE54400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2977CCE54400000000 + + E7A30F041F4F4DD400000000 + + isa + PBXBuildFile + fileRef + 1DD70E291F4F4DD400000000 + + E7A30F0498C4E60F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2998C4E60F00000000 + + E7A30F04B75EB25200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B75EB25200000000 + + E7A30F04C1C3E69200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C1C3E69200000000 + + E7A30F04380BC2A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29380BC2A300000000 + + E7A30F04D753C48E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D753C48E00000000 + + E7A30F04880B7FE800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29880B7FE800000000 + + E7A30F046B31950400000000 + + isa + PBXBuildFile + fileRef + 1DD70E296B31950400000000 + + E7A30F0436AE718000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936AE718000000000 + + E7A30F04A144151700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A144151700000000 + + E7A30F04999D3D9600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29999D3D9600000000 + + E7A30F0437CCB70500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2937CCB70500000000 + + E7A30F044C28173800000000 + + isa + PBXBuildFile + fileRef + 1DD70E294C28173800000000 + + E7A30F049D781DF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D781DF900000000 + + E7A30F04B7EF989600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B7EF989600000000 + + E7A30F0491A611A400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2991A611A400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04085C57E400000000 + E7A30F045E84555200000000 + E7A30F04E3614AE800000000 + E7A30F044BB18FB000000000 + E7A30F0477CCE54400000000 + E7A30F041F4F4DD400000000 + E7A30F0498C4E60F00000000 + E7A30F04B75EB25200000000 + E7A30F04C1C3E69200000000 + E7A30F04380BC2A300000000 + E7A30F04D753C48E00000000 + E7A30F04880B7FE800000000 + E7A30F046B31950400000000 + E7A30F0436AE718000000000 + E7A30F04A144151700000000 + E7A30F04999D3D9600000000 + E7A30F0437CCB70500000000 + E7A30F044C28173800000000 + E7A30F049D781DF900000000 + E7A30F04B7EF989600000000 + E7A30F0491A611A400000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2919E3221200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2912C57CFC00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29865C285E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E3286A84300000000 + + isa + PBXNativeTarget + name + TelegramUIPreferences + productName + TelegramUIPreferences + productReference + 1DD70E292395015100000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847933286A84300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E3286A84300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847933286A84300000000 + + \ No newline at end of file diff --git a/submodules/TelegramUIPreferences/TelegramUIPreferences.xcodeproj/xcshareddata/xcschemes/TelegramUIPreferences.xcscheme b/submodules/TelegramUIPreferences/TelegramUIPreferences.xcodeproj/xcshareddata/xcschemes/TelegramUIPreferences.xcscheme new file mode 100644 index 0000000000..de583e1996 --- /dev/null +++ b/submodules/TelegramUIPreferences/TelegramUIPreferences.xcodeproj/xcshareddata/xcschemes/TelegramUIPreferences.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramUniversalVideoContent/BUCK b/submodules/TelegramUniversalVideoContent/BUCK new file mode 100644 index 0000000000..6269fbe9c4 --- /dev/null +++ b/submodules/TelegramUniversalVideoContent/BUCK @@ -0,0 +1,26 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramUniversalVideoContent", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/MediaPlayer:UniversalMediaPlayer", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/PhotoResources:PhotoResources", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TelegramUniversalVideoContent/Sources/FrameworkBundle.swift b/submodules/TelegramUniversalVideoContent/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/TelegramUniversalVideoContent/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/TelegramUniversalVideoContent/Sources/GenericEmbedImplementation.swift b/submodules/TelegramUniversalVideoContent/Sources/GenericEmbedImplementation.swift index e214d9b366..fa1ed35d83 100644 --- a/submodules/TelegramUniversalVideoContent/Sources/GenericEmbedImplementation.swift +++ b/submodules/TelegramUniversalVideoContent/Sources/GenericEmbedImplementation.swift @@ -2,6 +2,7 @@ import Foundation import WebKit import SwiftSignalKit import UniversalMediaPlayer +import AppBundle final class GenericEmbedImplementation: WebEmbedImplementation { private var evalImpl: ((String) -> Void)? @@ -17,7 +18,7 @@ final class GenericEmbedImplementation: WebEmbedImplementation { } func setup(_ webView: WKWebView, userContentController: WKUserContentController, evaluateJavaScript: @escaping (String) -> Void, updateStatus: @escaping (MediaPlayerStatus) -> Void, onPlaybackStarted: @escaping () -> Void) { - let bundle = Bundle(for: type(of: self)) + let bundle = getAppBundle() guard let userScriptPath = bundle.path(forResource: "GenericUserScript", ofType: "js") else { return } diff --git a/submodules/TelegramUniversalVideoContent/Sources/OverlayVideoDecoration.swift b/submodules/TelegramUniversalVideoContent/Sources/OverlayVideoDecoration.swift index d262909b31..4ec927ab21 100644 --- a/submodules/TelegramUniversalVideoContent/Sources/OverlayVideoDecoration.swift +++ b/submodules/TelegramUniversalVideoContent/Sources/OverlayVideoDecoration.swift @@ -7,6 +7,7 @@ import UniversalMediaPlayer import LegacyComponents import AccountContext import RadialStatusNode +import AppBundle private func setupArrowFrame(size: CGSize, edge: OverlayMediaItemMinimizationEdge, view: TGEmbedPIPPullArrowView) { let arrowX: CGFloat diff --git a/submodules/TelegramUniversalVideoContent/Sources/PictureInPictureVideoControlsNode.swift b/submodules/TelegramUniversalVideoContent/Sources/PictureInPictureVideoControlsNode.swift index 219afbb90b..96677f2472 100644 --- a/submodules/TelegramUniversalVideoContent/Sources/PictureInPictureVideoControlsNode.swift +++ b/submodules/TelegramUniversalVideoContent/Sources/PictureInPictureVideoControlsNode.swift @@ -5,6 +5,7 @@ import AsyncDisplayKit import SwiftSignalKit import UniversalMediaPlayer import LegacyComponents +import AppBundle private let leaveImage = UIImage(bundleImageName: "Media Gallery/PictureInPictureLeave")?.precomposed() private let pauseImage = UIImage(bundleImageName: "Media Gallery/PictureInPicturePause")?.precomposed() diff --git a/submodules/TelegramUniversalVideoContent/Sources/VimeoEmbedImplementation.swift b/submodules/TelegramUniversalVideoContent/Sources/VimeoEmbedImplementation.swift index 5b6a588b01..7b9621ddb0 100644 --- a/submodules/TelegramUniversalVideoContent/Sources/VimeoEmbedImplementation.swift +++ b/submodules/TelegramUniversalVideoContent/Sources/VimeoEmbedImplementation.swift @@ -2,6 +2,7 @@ import Foundation import WebKit import SwiftSignalKit import UniversalMediaPlayer +import AppBundle func extractVimeoVideoIdAndTimestamp(url: String) -> (String, Int)? { guard let url = URL(string: url), let host = url.host?.lowercased() else { @@ -100,7 +101,7 @@ final class VimeoEmbedImplementation: WebEmbedImplementation { } func setup(_ webView: WKWebView, userContentController: WKUserContentController, evaluateJavaScript: @escaping (String) -> Void, updateStatus: @escaping (MediaPlayerStatus) -> Void, onPlaybackStarted: @escaping () -> Void) { - let bundle = Bundle(for: type(of: self)) + let bundle = getAppBundle() guard let userScriptPath = bundle.path(forResource: "VimeoUserScript", ofType: "js") else { return } diff --git a/submodules/TelegramUniversalVideoContent/Sources/YoutubeEmbedImplementation.swift b/submodules/TelegramUniversalVideoContent/Sources/YoutubeEmbedImplementation.swift index 169bda0775..421bac9852 100644 --- a/submodules/TelegramUniversalVideoContent/Sources/YoutubeEmbedImplementation.swift +++ b/submodules/TelegramUniversalVideoContent/Sources/YoutubeEmbedImplementation.swift @@ -2,6 +2,7 @@ import Foundation import WebKit import SwiftSignalKit import UniversalMediaPlayer +import AppBundle func extractYoutubeVideoIdAndTimestamp(url: String) -> (String, Int)? { guard let url = URL(string: url), let host = url.host?.lowercased() else { @@ -116,7 +117,7 @@ final class YoutubeEmbedImplementation: WebEmbedImplementation { } func setup(_ webView: WKWebView, userContentController: WKUserContentController, evaluateJavaScript: @escaping (String) -> Void, updateStatus: @escaping (MediaPlayerStatus) -> Void, onPlaybackStarted: @escaping () -> Void) { - let bundle = Bundle(for: type(of: self)) + let bundle = getAppBundle() guard let userScriptPath = bundle.path(forResource: "YoutubeUserScript", ofType: "js") else { return } diff --git a/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent.xcodeproj/project.pbxproj b/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f1a5fa68f7 --- /dev/null +++ b/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent.xcodeproj/project.pbxproj @@ -0,0 +1,1101 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FB459CED00000000 + + isa + PBXFileReference + name + TelegramUniversalVideoContent-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292574AD1700000000 + + isa + PBXFileReference + name + TelegramUniversalVideoContent-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29990B587900000000 + + isa + PBXFileReference + name + TelegramUniversalVideoContent-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FB459CED00000000 + 1DD70E292574AD1700000000 + 1DD70E29990B587900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29C7E0F39600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29234A56D300000000 + + isa + PBXFileReference + name + ChatBubbleInstantVideoDecoration.swift + path + Sources/ChatBubbleInstantVideoDecoration.swift + sourceTree + SOURCE_ROOT + + 1DD70E294730C22C00000000 + + isa + PBXFileReference + name + ChatBubbleVideoDecoration.swift + path + Sources/ChatBubbleVideoDecoration.swift + sourceTree + SOURCE_ROOT + + 1DD70E29688CAF5900000000 + + isa + PBXFileReference + name + GenericEmbedImplementation.swift + path + Sources/GenericEmbedImplementation.swift + sourceTree + SOURCE_ROOT + + 1DD70E2968CBD43A00000000 + + isa + PBXFileReference + name + NativeVideoContent.swift + path + Sources/NativeVideoContent.swift + sourceTree + SOURCE_ROOT + + 1DD70E2949BD0C8700000000 + + isa + PBXFileReference + name + OverlayUniversalVideoNode.swift + path + Sources/OverlayUniversalVideoNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2906EA93A000000000 + + isa + PBXFileReference + name + OverlayVideoDecoration.swift + path + Sources/OverlayVideoDecoration.swift + sourceTree + SOURCE_ROOT + + 1DD70E295CA4D6FD00000000 + + isa + PBXFileReference + name + PictureInPictureVideoControlsNode.swift + path + Sources/PictureInPictureVideoControlsNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B5F3859600000000 + + isa + PBXFileReference + name + PlatformVideoContent.swift + path + Sources/PlatformVideoContent.swift + sourceTree + SOURCE_ROOT + + 1DD70E29591AA05200000000 + + isa + PBXFileReference + name + SystemVideoContent.swift + path + Sources/SystemVideoContent.swift + sourceTree + SOURCE_ROOT + + 1DD70E29F9A101C900000000 + + isa + PBXFileReference + name + UniversalVideoContentManager.swift + path + Sources/UniversalVideoContentManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E297539EF8C00000000 + + isa + PBXFileReference + name + VimeoEmbedImplementation.swift + path + Sources/VimeoEmbedImplementation.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C77D670D00000000 + + isa + PBXFileReference + name + WebEmbedPlayerNode.swift + path + Sources/WebEmbedPlayerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E298E276C8800000000 + + isa + PBXFileReference + name + WebEmbedVideoContent.swift + path + Sources/WebEmbedVideoContent.swift + sourceTree + SOURCE_ROOT + + 1DD70E29825E5B8D00000000 + + isa + PBXFileReference + name + YoutubeEmbedImplementation.swift + path + Sources/YoutubeEmbedImplementation.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29234A56D300000000 + 1DD70E294730C22C00000000 + 1DD70E29688CAF5900000000 + 1DD70E2968CBD43A00000000 + 1DD70E2949BD0C8700000000 + 1DD70E2906EA93A000000000 + 1DD70E295CA4D6FD00000000 + 1DD70E29B5F3859600000000 + 1DD70E29591AA05200000000 + 1DD70E29F9A101C900000000 + 1DD70E297539EF8C00000000 + 1DD70E29C77D670D00000000 + 1DD70E298E276C8800000000 + 1DD70E29825E5B8D00000000 + + + B401C979038732C800000000 + + isa + PBXGroup + name + TelegramUniversalVideoContent + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979038732C800000000 + + + E7A30F04234A56D300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29234A56D300000000 + + E7A30F044730C22C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294730C22C00000000 + + E7A30F04688CAF5900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29688CAF5900000000 + + E7A30F0468CBD43A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968CBD43A00000000 + + E7A30F0449BD0C8700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2949BD0C8700000000 + + E7A30F0406EA93A000000000 + + isa + PBXBuildFile + fileRef + 1DD70E2906EA93A000000000 + + E7A30F045CA4D6FD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295CA4D6FD00000000 + + E7A30F04B5F3859600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B5F3859600000000 + + E7A30F04591AA05200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29591AA05200000000 + + E7A30F04F9A101C900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F9A101C900000000 + + E7A30F047539EF8C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E297539EF8C00000000 + + E7A30F04C77D670D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C77D670D00000000 + + E7A30F048E276C8800000000 + + isa + PBXBuildFile + fileRef + 1DD70E298E276C8800000000 + + E7A30F04825E5B8D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29825E5B8D00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04234A56D300000000 + E7A30F044730C22C00000000 + E7A30F04688CAF5900000000 + E7A30F0468CBD43A00000000 + E7A30F0449BD0C8700000000 + E7A30F0406EA93A000000000 + E7A30F045CA4D6FD00000000 + E7A30F04B5F3859600000000 + E7A30F04591AA05200000000 + E7A30F04F9A101C900000000 + E7A30F047539EF8C00000000 + E7A30F04C77D670D00000000 + E7A30F048E276C8800000000 + E7A30F04825E5B8D00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F043E4DE92B00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FB459CED00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E292574AD1700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29990B587900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E038732C800000000 + + isa + PBXNativeTarget + name + TelegramUniversalVideoContent + productName + TelegramUniversalVideoContent + productReference + 1DD70E29C7E0F39600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793038732C800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E038732C800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793038732C800000000 + + \ No newline at end of file diff --git a/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent.xcodeproj/xcshareddata/xcschemes/TelegramUniversalVideoContent.xcscheme b/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent.xcodeproj/xcshareddata/xcschemes/TelegramUniversalVideoContent.xcscheme new file mode 100644 index 0000000000..e0c65cdc8c --- /dev/null +++ b/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent.xcodeproj/xcshareddata/xcschemes/TelegramUniversalVideoContent.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent_Xcode.xcodeproj/project.pbxproj index 4c64113495..7b106f6ecf 100644 --- a/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramUniversalVideoContent/TelegramUniversalVideoContent_Xcode.xcodeproj/project.pbxproj @@ -32,10 +32,10 @@ D0C9C3CF2300BA4400FAB518 /* TelegramAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C3CE2300BA4400FAB518 /* TelegramAudio.framework */; }; D0C9C3D12300BA4F00FAB518 /* RadialStatusNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C3D02300BA4F00FAB518 /* RadialStatusNode.framework */; }; D0C9C3D32300BA7000FAB518 /* PictureInPictureVideoControlsNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3D22300BA6F00FAB518 /* PictureInPictureVideoControlsNode.swift */; }; - D0C9C3D52300BA8B00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C3D42300BA8B00FAB518 /* FrameworkBundle.swift */; }; D0C9C4442300DC2000FAB518 /* ChatBubbleVideoDecoration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C4422300DC2000FAB518 /* ChatBubbleVideoDecoration.swift */; }; D0C9C4452300DC2000FAB518 /* ChatBubbleInstantVideoDecoration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C4432300DC2000FAB518 /* ChatBubbleInstantVideoDecoration.swift */; }; D0C9C5362301CCC600FAB518 /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C5352301CCC600FAB518 /* PhotoResources.framework */; }; + D0EFF24C231980C300CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF24B231980C300CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -67,10 +67,10 @@ D0C9C3CE2300BA4400FAB518 /* TelegramAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramAudio.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C3D02300BA4F00FAB518 /* RadialStatusNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = RadialStatusNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C3D22300BA6F00FAB518 /* PictureInPictureVideoControlsNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PictureInPictureVideoControlsNode.swift; sourceTree = ""; }; - D0C9C3D42300BA8B00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; D0C9C4422300DC2000FAB518 /* ChatBubbleVideoDecoration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatBubbleVideoDecoration.swift; sourceTree = ""; }; D0C9C4432300DC2000FAB518 /* ChatBubbleInstantVideoDecoration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatBubbleInstantVideoDecoration.swift; sourceTree = ""; }; D0C9C5352301CCC600FAB518 /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0EFF24B231980C300CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -78,6 +78,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF24C231980C300CF5164 /* AppBundle.framework in Frameworks */, D0C9C5362301CCC600FAB518 /* PhotoResources.framework in Frameworks */, D0C9C3D12300BA4F00FAB518 /* RadialStatusNode.framework in Frameworks */, D0C9C3CF2300BA4400FAB518 /* TelegramAudio.framework in Frameworks */, @@ -132,7 +133,6 @@ D0C9C3802300B40E00FAB518 /* SystemVideoContent.swift */, D0C9C37F2300B40E00FAB518 /* UniversalVideoContentManager.swift */, D0C9C3822300B40E00FAB518 /* WebEmbedVideoContent.swift */, - D0C9C3D42300BA8B00FAB518 /* FrameworkBundle.swift */, D0C9C3722300B0CF00FAB518 /* TelegramUniversalVideoContent.h */, ); path = Sources; @@ -141,6 +141,7 @@ D0C9C3882300B41900FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF24B231980C300CF5164 /* AppBundle.framework */, D0C9C5352301CCC600FAB518 /* PhotoResources.framework */, D0C9C3D02300BA4F00FAB518 /* RadialStatusNode.framework */, D0C9C3CE2300BA4400FAB518 /* TelegramAudio.framework */, @@ -248,7 +249,6 @@ D0C9C3A62300B4E300FAB518 /* VimeoEmbedImplementation.swift in Sources */, D0C9C3C92300B9EB00FAB518 /* OverlayVideoDecoration.swift in Sources */, D0C9C3D32300BA7000FAB518 /* PictureInPictureVideoControlsNode.swift in Sources */, - D0C9C3D52300BA8B00FAB518 /* FrameworkBundle.swift in Sources */, D0C9C3A42300B4E300FAB518 /* YoutubeEmbedImplementation.swift in Sources */, D0C9C3852300B40E00FAB518 /* SystemVideoContent.swift in Sources */, D0C9C3A52300B4E300FAB518 /* GenericEmbedImplementation.swift in Sources */, diff --git a/submodules/TelegramUpdateUI/BUCK b/submodules/TelegramUpdateUI/BUCK new file mode 100644 index 0000000000..760c462cc2 --- /dev/null +++ b/submodules/TelegramUpdateUI/BUCK @@ -0,0 +1,21 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramUpdateUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/ItemListUI:ItemListUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TelegramUpdateUI/TelegramUpdateUI.xcodeproj/project.pbxproj b/submodules/TelegramUpdateUI/TelegramUpdateUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..2671cccedf --- /dev/null +++ b/submodules/TelegramUpdateUI/TelegramUpdateUI.xcodeproj/project.pbxproj @@ -0,0 +1,949 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2983385B9700000000 + + isa + PBXFileReference + name + TelegramUpdateUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramUpdateUI/TelegramUpdateUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E297BB2694100000000 + + isa + PBXFileReference + name + TelegramUpdateUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramUpdateUI/TelegramUpdateUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29EF4914A300000000 + + isa + PBXFileReference + name + TelegramUpdateUI-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramUpdateUI/TelegramUpdateUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2983385B9700000000 + 1DD70E297BB2694100000000 + 1DD70E29EF4914A300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E2997B4D6D800000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E295A26607D00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29C892471600000000 + + isa + PBXFileReference + name + libTelegramUpdateUI.a + path + libTelegramUpdateUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29C892471600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E293C49C09800000000 + + isa + PBXFileReference + name + UpdateInfoController.swift + path + Sources/UpdateInfoController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2919A3300F00000000 + + isa + PBXFileReference + name + UpdateInfoItem.swift + path + Sources/UpdateInfoItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E293C49C09800000000 + 1DD70E2919A3300F00000000 + + + B401C97944A8355E00000000 + + isa + PBXGroup + name + TelegramUpdateUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97944A8355E00000000 + + + E7A30F043C49C09800000000 + + isa + PBXBuildFile + fileRef + 1DD70E293C49C09800000000 + + E7A30F0419A3300F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2919A3300F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F043C49C09800000000 + E7A30F0419A3300F00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F0497B4D6D800000000 + E7A30F04C37F741500000000 + E7A30F04BF0846EE00000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2983385B9700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E297BB2694100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29EF4914A300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E44A8355E00000000 + + isa + PBXNativeTarget + name + TelegramUpdateUI + productName + TelegramUpdateUI + productReference + 1DD70E29C892471600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479344A8355E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E44A8355E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479344A8355E00000000 + + \ No newline at end of file diff --git a/submodules/TelegramUpdateUI/TelegramUpdateUI.xcodeproj/xcshareddata/xcschemes/TelegramUpdateUI.xcscheme b/submodules/TelegramUpdateUI/TelegramUpdateUI.xcodeproj/xcshareddata/xcschemes/TelegramUpdateUI.xcscheme new file mode 100644 index 0000000000..7682347f16 --- /dev/null +++ b/submodules/TelegramUpdateUI/TelegramUpdateUI.xcodeproj/xcshareddata/xcschemes/TelegramUpdateUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramVoip/BUCK b/submodules/TelegramVoip/BUCK new file mode 100644 index 0000000000..4e59ef3bf9 --- /dev/null +++ b/submodules/TelegramVoip/BUCK @@ -0,0 +1,25 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TelegramVoip", + srcs = glob([ + "Sources/**/*.swift", + "Sources/**/*.m", + ]), + headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/TelegramVoip.h"]), + exported_headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/TelegramVoip.h"]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/libtgvoip:libtgvoip", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TelegramVoip/Sources/OngoingCallContext.swift b/submodules/TelegramVoip/Sources/OngoingCallContext.swift index 440bb59fda..c633873966 100644 --- a/submodules/TelegramVoip/Sources/OngoingCallContext.swift +++ b/submodules/TelegramVoip/Sources/OngoingCallContext.swift @@ -3,6 +3,7 @@ import SwiftSignalKit import TelegramCore import Postbox import TelegramUIPreferences +import libtgvoip private func callConnectionDescription(_ connection: CallSessionConnection) -> OngoingCallConnectionDescription { return OngoingCallConnectionDescription(connectionId: connection.id, ip: connection.ip, ipv6: connection.ipv6, port: connection.port, peerTag: connection.peerTag) diff --git a/submodules/TelegramVoip/Sources/TelegramVoip.h b/submodules/TelegramVoip/Sources/TelegramVoip.h index 2043b2c1d8..0452cc7833 100644 --- a/submodules/TelegramVoip/Sources/TelegramVoip.h +++ b/submodules/TelegramVoip/Sources/TelegramVoip.h @@ -5,5 +5,3 @@ FOUNDATION_EXPORT double TelegramVoipVersionNumber; //! Project version string for TelegramVoip. FOUNDATION_EXPORT const unsigned char TelegramVoipVersionString[]; - -#import diff --git a/submodules/TelegramVoip/TelegramVoip.xcodeproj/project.pbxproj b/submodules/TelegramVoip/TelegramVoip.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..cbbc4d9783 --- /dev/null +++ b/submodules/TelegramVoip/TelegramVoip.xcodeproj/project.pbxproj @@ -0,0 +1,467 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29A010F03400000000 + + isa + PBXFileReference + name + TelegramVoip-Debug.xcconfig + path + ../../buck-out/gen/submodules/TelegramVoip/TelegramVoip-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C4B84A9E00000000 + + isa + PBXFileReference + name + TelegramVoip-Profile.xcconfig + path + ../../buck-out/gen/submodules/TelegramVoip/TelegramVoip-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29384EF60000000000 + + isa + PBXFileReference + name + TelegramVoip-Release.xcconfig + path + ../../buck-out/gen/submodules/TelegramVoip/TelegramVoip-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29A010F03400000000 + 1DD70E29C4B84A9E00000000 + 1DD70E29384EF60000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E292395015100000000 + + + 1DD70E29F18DE1D900000000 + + isa + PBXFileReference + name + libTelegramVoip.a + path + libTelegramVoip.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F18DE1D900000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2965D8C13B00000000 + + isa + PBXFileReference + name + OngoingCallContext.swift + path + Sources/OngoingCallContext.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2965D8C13B00000000 + + + B401C979D84E9A6100000000 + + isa + PBXGroup + name + TelegramVoip + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979D84E9A6100000000 + + + E7A30F0465D8C13B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2965D8C13B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0465D8C13B00000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F04FF334B1F00000000 + E7A30F042395015100000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29A010F03400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29C4B84A9E00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29384EF60000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ED84E9A6100000000 + + isa + PBXNativeTarget + name + TelegramVoip + productName + TelegramVoip + productReference + 1DD70E29F18DE1D900000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793D84E9A6100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ED84E9A6100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793D84E9A6100000000 + + \ No newline at end of file diff --git a/submodules/TelegramVoip/TelegramVoip.xcodeproj/xcshareddata/xcschemes/TelegramVoip.xcscheme b/submodules/TelegramVoip/TelegramVoip.xcodeproj/xcshareddata/xcschemes/TelegramVoip.xcscheme new file mode 100644 index 0000000000..fde60a941c --- /dev/null +++ b/submodules/TelegramVoip/TelegramVoip.xcodeproj/xcshareddata/xcschemes/TelegramVoip.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TelegramVoip/TelegramVoip_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramVoip/TelegramVoip_Xcode.xcodeproj/project.pbxproj index 771f3dcc53..ecf8b393b0 100644 --- a/submodules/TelegramVoip/TelegramVoip_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramVoip/TelegramVoip_Xcode.xcodeproj/project.pbxproj @@ -7,9 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + D03292DF2314239E00338D35 /* libtgvoip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03292DE2314239E00338D35 /* libtgvoip.framework */; }; D0AE316922B2694E0058D3BC /* TelegramVoip.h in Headers */ = {isa = PBXBuildFile; fileRef = D0AE316722B2694E0058D3BC /* TelegramVoip.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D0AE317122B269E40058D3BC /* OngoingCallThreadLocalContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = D0AE316F22B269E30058D3BC /* OngoingCallThreadLocalContext.mm */; }; - D0AE317222B269E40058D3BC /* OngoingCallThreadLocalContext.h in Headers */ = {isa = PBXBuildFile; fileRef = D0AE317022B269E40058D3BC /* OngoingCallThreadLocalContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0AE317622B26F020058D3BC /* OngoingCallContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AE317522B26F010058D3BC /* OngoingCallContext.swift */; }; D0AE317922B26F400058D3BC /* Postbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AE317822B26F400058D3BC /* Postbox.framework */; }; D0AE317B22B26F470058D3BC /* TelegramCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0AE317A22B26F470058D3BC /* TelegramCore.framework */; }; @@ -18,11 +17,10 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + D03292DE2314239E00338D35 /* libtgvoip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = libtgvoip.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0AE316422B2694E0058D3BC /* TelegramVoip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TelegramVoip.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0AE316722B2694E0058D3BC /* TelegramVoip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TelegramVoip.h; sourceTree = ""; }; D0AE316822B2694E0058D3BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D0AE316F22B269E30058D3BC /* OngoingCallThreadLocalContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OngoingCallThreadLocalContext.mm; sourceTree = ""; }; - D0AE317022B269E40058D3BC /* OngoingCallThreadLocalContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OngoingCallThreadLocalContext.h; sourceTree = ""; }; D0AE317522B26F010058D3BC /* OngoingCallContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OngoingCallContext.swift; sourceTree = ""; }; D0AE317822B26F400058D3BC /* Postbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Postbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0AE317A22B26F470058D3BC /* TelegramCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -35,6 +33,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D03292DF2314239E00338D35 /* libtgvoip.framework in Frameworks */, D0AE317F22B26F6B0058D3BC /* TelegramUIPreferences.framework in Frameworks */, D0AE317D22B26F4B0058D3BC /* SwiftSignalKit.framework in Frameworks */, D0AE317B22B26F470058D3BC /* TelegramCore.framework in Frameworks */, @@ -67,8 +66,6 @@ isa = PBXGroup; children = ( D0AE317522B26F010058D3BC /* OngoingCallContext.swift */, - D0AE317022B269E40058D3BC /* OngoingCallThreadLocalContext.h */, - D0AE316F22B269E30058D3BC /* OngoingCallThreadLocalContext.mm */, D0AE316722B2694E0058D3BC /* TelegramVoip.h */, ); path = Sources; @@ -77,6 +74,7 @@ D0AE317722B26F400058D3BC /* Frameworks */ = { isa = PBXGroup; children = ( + D03292DE2314239E00338D35 /* libtgvoip.framework */, D0AE317E22B26F6B0058D3BC /* TelegramUIPreferences.framework */, D0AE317C22B26F4B0058D3BC /* SwiftSignalKit.framework */, D0AE317A22B26F470058D3BC /* TelegramCore.framework */, @@ -92,7 +90,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D0AE317222B269E40058D3BC /* OngoingCallThreadLocalContext.h in Headers */, D0AE316922B2694E0058D3BC /* TelegramVoip.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -166,7 +163,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0AE317122B269E40058D3BC /* OngoingCallThreadLocalContext.mm in Sources */, D0AE317622B26F020058D3BC /* OngoingCallContext.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/TemporaryCachedPeerDataManager/BUCK b/submodules/TemporaryCachedPeerDataManager/BUCK new file mode 100644 index 0000000000..373333ce0f --- /dev/null +++ b/submodules/TemporaryCachedPeerDataManager/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TemporaryCachedPeerDataManager", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramStringFormatting:TelegramStringFormatting", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dynamic", + "//submodules/TelegramCore:TelegramCore#dynamic", + "//submodules/Postbox:Postbox#dynamic", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager.xcodeproj/project.pbxproj b/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1ab5e86d75 --- /dev/null +++ b/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager.xcodeproj/project.pbxproj @@ -0,0 +1,639 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29BAE3C44700000000 + + isa + PBXFileReference + name + TemporaryCachedPeerDataManager-Debug.xcconfig + path + ../../buck-out/gen/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29762665F100000000 + + isa + PBXFileReference + name + TemporaryCachedPeerDataManager-Profile.xcconfig + path + ../../buck-out/gen/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E9BD115300000000 + + isa + PBXFileReference + name + TemporaryCachedPeerDataManager-Release.xcconfig + path + ../../buck-out/gen/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29BAE3C44700000000 + 1DD70E29762665F100000000 + 1DD70E29E9BD115300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29F0C15F9C00000000 + + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29BA06E3A600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29104362AA00000000 + + isa + PBXFileReference + name + CachedChannelAdmins.swift + path + Sources/CachedChannelAdmins.swift + sourceTree + SOURCE_ROOT + + 1DD70E29B40D8CDB00000000 + + isa + PBXFileReference + name + ChannelMemberCategoryListContext.swift + path + Sources/ChannelMemberCategoryListContext.swift + sourceTree + SOURCE_ROOT + + 1DD70E29C0D7B2F700000000 + + isa + PBXFileReference + name + PeerChannelMemberCategoriesContextsManager.swift + path + Sources/PeerChannelMemberCategoriesContextsManager.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29104362AA00000000 + 1DD70E29B40D8CDB00000000 + 1DD70E29C0D7B2F700000000 + + + B401C979418E82AE00000000 + + isa + PBXGroup + name + TemporaryCachedPeerDataManager + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979418E82AE00000000 + + + E7A30F04104362AA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29104362AA00000000 + + E7A30F04B40D8CDB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B40D8CDB00000000 + + E7A30F04C0D7B2F700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C0D7B2F700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04104362AA00000000 + E7A30F04B40D8CDB00000000 + E7A30F04C0D7B2F700000000 + + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F04FF334B1F00000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29BAE3C44700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29762665F100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29E9BD115300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E418E82AE00000000 + + isa + PBXNativeTarget + name + TemporaryCachedPeerDataManager + productName + TemporaryCachedPeerDataManager + productReference + 1DD70E29BA06E3A600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793418E82AE00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E418E82AE00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793418E82AE00000000 + + \ No newline at end of file diff --git a/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager.xcodeproj/xcshareddata/xcschemes/TemporaryCachedPeerDataManager.xcscheme b/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager.xcodeproj/xcshareddata/xcschemes/TemporaryCachedPeerDataManager.xcscheme new file mode 100644 index 0000000000..2d9408a33e --- /dev/null +++ b/submodules/TemporaryCachedPeerDataManager/TemporaryCachedPeerDataManager.xcodeproj/xcshareddata/xcschemes/TemporaryCachedPeerDataManager.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TextFormat/BUCK b/submodules/TextFormat/BUCK new file mode 100644 index 0000000000..e5adc07eab --- /dev/null +++ b/submodules/TextFormat/BUCK @@ -0,0 +1,16 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TextFormat", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#dynamic", + "//submodules/Display:Display#dynamic", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TextFormat/TextFormat.xcodeproj/project.pbxproj b/submodules/TextFormat/TextFormat.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5c70809e31 --- /dev/null +++ b/submodules/TextFormat/TextFormat.xcodeproj/project.pbxproj @@ -0,0 +1,611 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E291E224C9100000000 + + isa + PBXFileReference + name + TextFormat-Debug.xcconfig + path + ../../buck-out/gen/submodules/TextFormat/TextFormat-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2903E403BB00000000 + + isa + PBXFileReference + name + TextFormat-Profile.xcconfig + path + ../../buck-out/gen/submodules/TextFormat/TextFormat-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29777AAF1D00000000 + + isa + PBXFileReference + name + TextFormat-Release.xcconfig + path + ../../buck-out/gen/submodules/TextFormat/TextFormat-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E291E224C9100000000 + 1DD70E2903E403BB00000000 + 1DD70E29777AAF1D00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F0C15F9C00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E299927476500000000 + + isa + PBXFileReference + name + AddFormatToStringWithRanges.swift + path + Sources/AddFormatToStringWithRanges.swift + sourceTree + SOURCE_ROOT + + 1DD70E29D54426E100000000 + + isa + PBXFileReference + name + ChatTextInputAttributes.swift + path + Sources/ChatTextInputAttributes.swift + sourceTree + SOURCE_ROOT + + 1DD70E294757B6A800000000 + + isa + PBXFileReference + name + GenerateTextEntities.swift + path + Sources/GenerateTextEntities.swift + sourceTree + SOURCE_ROOT + + 1DD70E29080E447400000000 + + isa + PBXFileReference + name + Markdown.swift + path + Sources/Markdown.swift + sourceTree + SOURCE_ROOT + + 1DD70E294ED72F2C00000000 + + isa + PBXFileReference + name + StringWithAppliedEntities.swift + path + Sources/StringWithAppliedEntities.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E70765FD00000000 + + isa + PBXFileReference + name + TelegramAttributes.swift + path + Sources/TelegramAttributes.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E299927476500000000 + 1DD70E29D54426E100000000 + 1DD70E294757B6A800000000 + 1DD70E29080E447400000000 + 1DD70E294ED72F2C00000000 + 1DD70E29E70765FD00000000 + + + B401C979CEBDAFA400000000 + + isa + PBXGroup + name + TextFormat + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979CEBDAFA400000000 + + + E7A30F049927476500000000 + + isa + PBXBuildFile + fileRef + 1DD70E299927476500000000 + + E7A30F04D54426E100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D54426E100000000 + + E7A30F044757B6A800000000 + + isa + PBXBuildFile + fileRef + 1DD70E294757B6A800000000 + + E7A30F04080E447400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29080E447400000000 + + E7A30F044ED72F2C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294ED72F2C00000000 + + E7A30F04E70765FD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E70765FD00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F049927476500000000 + E7A30F04D54426E100000000 + E7A30F044757B6A800000000 + E7A30F04080E447400000000 + E7A30F044ED72F2C00000000 + E7A30F04E70765FD00000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04119CDA0700000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E291E224C9100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2903E403BB00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29777AAF1D00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ECEBDAFA400000000 + + isa + PBXNativeTarget + name + TextFormat + productName + TextFormat + productReference + 1DD70E29F0C15F9C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793CEBDAFA400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ECEBDAFA400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793CEBDAFA400000000 + + \ No newline at end of file diff --git a/submodules/TextFormat/TextFormat.xcodeproj/xcshareddata/xcschemes/TextFormat.xcscheme b/submodules/TextFormat/TextFormat.xcodeproj/xcshareddata/xcschemes/TextFormat.xcscheme new file mode 100644 index 0000000000..e807fb14f1 --- /dev/null +++ b/submodules/TextFormat/TextFormat.xcodeproj/xcshareddata/xcschemes/TextFormat.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TextSelectionNode/BUCK b/submodules/TextSelectionNode/BUCK new file mode 100644 index 0000000000..55ad79a53c --- /dev/null +++ b/submodules/TextSelectionNode/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TextSelectionNode", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TextSelectionNode/TextSelectionNode.xcodeproj/project.pbxproj b/submodules/TextSelectionNode/TextSelectionNode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..62942bcd1b --- /dev/null +++ b/submodules/TextSelectionNode/TextSelectionNode.xcodeproj/project.pbxproj @@ -0,0 +1,511 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E28C013400000000 + + isa + PBXFileReference + name + TextSelectionNode-Debug.xcconfig + path + ../../buck-out/gen/submodules/TextSelectionNode/TextSelectionNode-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2954B31B9E00000000 + + isa + PBXFileReference + name + TextSelectionNode-Profile.xcconfig + path + ../../buck-out/gen/submodules/TextSelectionNode/TextSelectionNode-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C849C70000000000 + + isa + PBXFileReference + name + TextSelectionNode-Release.xcconfig + path + ../../buck-out/gen/submodules/TextSelectionNode/TextSelectionNode-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E28C013400000000 + 1DD70E2954B31B9E00000000 + 1DD70E29C849C70000000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + 1DD70E2936DE2CF900000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E292395015100000000 + + + 1DD70E29F40A586F00000000 + + isa + PBXFileReference + name + libTextSelectionNode.a + path + libTextSelectionNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F40A586F00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E294658874600000000 + + isa + PBXFileReference + name + TextSelectionNode.swift + path + Sources/TextSelectionNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E294658874600000000 + + + B401C9795B33A96100000000 + + isa + PBXGroup + name + TextSelectionNode + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9795B33A96100000000 + + + E7A30F044658874600000000 + + isa + PBXBuildFile + fileRef + 1DD70E294658874600000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F044658874600000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E28C013400000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2954B31B9E00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29C849C70000000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E5B33A96100000000 + + isa + PBXNativeTarget + name + TextSelectionNode + productName + TextSelectionNode + productReference + 1DD70E29F40A586F00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847935B33A96100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E5B33A96100000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847935B33A96100000000 + + \ No newline at end of file diff --git a/submodules/TextSelectionNode/TextSelectionNode.xcodeproj/xcshareddata/xcschemes/TextSelectionNode.xcscheme b/submodules/TextSelectionNode/TextSelectionNode.xcodeproj/xcshareddata/xcschemes/TextSelectionNode.xcscheme new file mode 100644 index 0000000000..27bdb55d9b --- /dev/null +++ b/submodules/TextSelectionNode/TextSelectionNode.xcodeproj/xcshareddata/xcschemes/TextSelectionNode.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TinyThumbnail/BUCK b/submodules/TinyThumbnail/BUCK new file mode 100644 index 0000000000..e472166ecd --- /dev/null +++ b/submodules/TinyThumbnail/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TinyThumbnail", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/TinyThumbnail/TinyThumbnail.xcodeproj/project.pbxproj b/submodules/TinyThumbnail/TinyThumbnail.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..db18f14a9b --- /dev/null +++ b/submodules/TinyThumbnail/TinyThumbnail.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E5FC7D8900000000 + + isa + PBXFileReference + name + TinyThumbnail-Debug.xcconfig + path + ../../buck-out/gen/submodules/TinyThumbnail/TinyThumbnail-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293DF5D6B300000000 + + isa + PBXFileReference + name + TinyThumbnail-Profile.xcconfig + path + ../../buck-out/gen/submodules/TinyThumbnail/TinyThumbnail-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B18C821500000000 + + isa + PBXFileReference + name + TinyThumbnail-Release.xcconfig + path + ../../buck-out/gen/submodules/TinyThumbnail/TinyThumbnail-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E5FC7D8900000000 + 1DD70E293DF5D6B300000000 + 1DD70E29B18C821500000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29B4B05B7A00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E294FDBE75100000000 + + isa + PBXFileReference + name + TinyThumbnail.swift + path + Sources/TinyThumbnail.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E294FDBE75100000000 + + + B401C979A296ADAC00000000 + + isa + PBXGroup + name + TinyThumbnail + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979A296ADAC00000000 + + + E7A30F044FDBE75100000000 + + isa + PBXBuildFile + fileRef + 1DD70E294FDBE75100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F044FDBE75100000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E5FC7D8900000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293DF5D6B300000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B18C821500000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EA296ADAC00000000 + + isa + PBXNativeTarget + name + TinyThumbnail + productName + TinyThumbnail + productReference + 1DD70E29B4B05B7A00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793A296ADAC00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EA296ADAC00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793A296ADAC00000000 + + \ No newline at end of file diff --git a/submodules/TinyThumbnail/TinyThumbnail.xcodeproj/xcshareddata/xcschemes/TinyThumbnail.xcscheme b/submodules/TinyThumbnail/TinyThumbnail.xcodeproj/xcshareddata/xcschemes/TinyThumbnail.xcscheme new file mode 100644 index 0000000000..5e2b59fff1 --- /dev/null +++ b/submodules/TinyThumbnail/TinyThumbnail.xcodeproj/xcshareddata/xcschemes/TinyThumbnail.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/TouchDownGesture/BUCK b/submodules/TouchDownGesture/BUCK new file mode 100644 index 0000000000..f5bba578ab --- /dev/null +++ b/submodules/TouchDownGesture/BUCK @@ -0,0 +1,12 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "TouchDownGesture", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/TouchDownGesture/TouchDownGesture.xcodeproj/project.pbxproj b/submodules/TouchDownGesture/TouchDownGesture.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..12fb2e5616 --- /dev/null +++ b/submodules/TouchDownGesture/TouchDownGesture.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2934D39E0D00000000 + + isa + PBXFileReference + name + TouchDownGesture-Debug.xcconfig + path + ../../buck-out/gen/submodules/TouchDownGesture/TouchDownGesture-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293386E63700000000 + + isa + PBXFileReference + name + TouchDownGesture-Profile.xcconfig + path + ../../buck-out/gen/submodules/TouchDownGesture/TouchDownGesture-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A71D919900000000 + + isa + PBXFileReference + name + TouchDownGesture-Release.xcconfig + path + ../../buck-out/gen/submodules/TouchDownGesture/TouchDownGesture-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2934D39E0D00000000 + 1DD70E293386E63700000000 + 1DD70E29A71D919900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29A9CE3CE000000000 + + isa + PBXFileReference + name + libTouchDownGesture.a + path + libTouchDownGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A9CE3CE000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29848C731100000000 + + isa + PBXFileReference + name + TouchDownGestureRecognizer.swift + path + Sources/TouchDownGestureRecognizer.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29848C731100000000 + + + B401C979F71B15A800000000 + + isa + PBXGroup + name + TouchDownGesture + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979F71B15A800000000 + + + E7A30F04848C731100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29848C731100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04848C731100000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2934D39E0D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293386E63700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29A71D919900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EF71B15A800000000 + + isa + PBXNativeTarget + name + TouchDownGesture + productName + TouchDownGesture + productReference + 1DD70E29A9CE3CE000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793F71B15A800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EF71B15A800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793F71B15A800000000 + + \ No newline at end of file diff --git a/submodules/TouchDownGesture/TouchDownGesture.xcodeproj/xcshareddata/xcschemes/TouchDownGesture.xcscheme b/submodules/TouchDownGesture/TouchDownGesture.xcodeproj/xcshareddata/xcschemes/TouchDownGesture.xcscheme new file mode 100644 index 0000000000..da56d34daa --- /dev/null +++ b/submodules/TouchDownGesture/TouchDownGesture.xcodeproj/xcshareddata/xcschemes/TouchDownGesture.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/Tuples/BUCK b/submodules/Tuples/BUCK new file mode 100644 index 0000000000..b2ffac741a --- /dev/null +++ b/submodules/Tuples/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Tuples", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/Tuples/Tuples.xcodeproj/project.pbxproj b/submodules/Tuples/Tuples.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..e40784b225 --- /dev/null +++ b/submodules/Tuples/Tuples.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29B52AAB8A00000000 + + isa + PBXFileReference + name + Tuples-Debug.xcconfig + path + ../../buck-out/gen/submodules/Tuples/Tuples-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29FA50887400000000 + + isa + PBXFileReference + name + Tuples-Profile.xcconfig + path + ../../buck-out/gen/submodules/Tuples/Tuples-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296DE733D600000000 + + isa + PBXFileReference + name + Tuples-Release.xcconfig + path + ../../buck-out/gen/submodules/Tuples/Tuples-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29B52AAB8A00000000 + 1DD70E29FA50887400000000 + 1DD70E296DE733D600000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CD296A8300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29656B644D00000000 + + isa + PBXFileReference + name + Tuple.swift + path + Sources/Tuple.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29656B644D00000000 + + + B401C97995FC5DCB00000000 + + isa + PBXGroup + name + Tuples + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C97995FC5DCB00000000 + + + E7A30F04656B644D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29656B644D00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04656B644D00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29B52AAB8A00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29FA50887400000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E296DE733D600000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E95FC5DCB00000000 + + isa + PBXNativeTarget + name + Tuples + productName + Tuples + productReference + 1DD70E29CD296A8300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479395FC5DCB00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E95FC5DCB00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479395FC5DCB00000000 + + \ No newline at end of file diff --git a/submodules/Tuples/Tuples.xcodeproj/xcshareddata/xcschemes/Tuples.xcscheme b/submodules/Tuples/Tuples.xcodeproj/xcshareddata/xcschemes/Tuples.xcscheme new file mode 100644 index 0000000000..f4bbd41260 --- /dev/null +++ b/submodules/Tuples/Tuples.xcodeproj/xcshareddata/xcschemes/Tuples.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/UndoUI/BUCK b/submodules/UndoUI/BUCK new file mode 100644 index 0000000000..788183a009 --- /dev/null +++ b/submodules/UndoUI/BUCK @@ -0,0 +1,25 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "UndoUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TextFormat:TextFormat", + "//submodules/AccountContext:AccountContext", + "//submodules/RadialStatusNode:RadialStatusNode", + "//submodules/AnimationUI:AnimationUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/UndoUI/Sources/FrameworkBundle.swift b/submodules/UndoUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/UndoUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/UndoUI/Sources/UndoOverlayControllerNode.swift b/submodules/UndoUI/Sources/UndoOverlayControllerNode.swift index 392331bb42..748baee52e 100644 --- a/submodules/UndoUI/Sources/UndoOverlayControllerNode.swift +++ b/submodules/UndoUI/Sources/UndoOverlayControllerNode.swift @@ -7,6 +7,7 @@ import TelegramPresentationData import AnimationUI import TextFormat import RadialStatusNode +import AppBundle final class UndoOverlayControllerNode: ViewControllerTracingNode { private let elevatedLayout: Bool diff --git a/submodules/UndoUI/UndoUI.xcodeproj/project.pbxproj b/submodules/UndoUI/UndoUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5ac12603b5 --- /dev/null +++ b/submodules/UndoUI/UndoUI.xcodeproj/project.pbxproj @@ -0,0 +1,839 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2909838F1D00000000 + + isa + PBXFileReference + name + UndoUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/UndoUI/UndoUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299BFED34700000000 + + isa + PBXFileReference + name + UndoUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/UndoUI/UndoUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E290F957EA900000000 + + isa + PBXFileReference + name + UndoUI-Release.xcconfig + path + ../../buck-out/gen/submodules/UndoUI/UndoUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2909838F1D00000000 + 1DD70E299BFED34700000000 + 1DD70E290F957EA900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292420028600000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293E4DE92B00000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29AE67341000000000 + + isa + PBXFileReference + name + libUndoUI.a + path + libUndoUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AE67341000000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29B729780D00000000 + + isa + PBXFileReference + name + UndoOverlayController.swift + path + Sources/UndoOverlayController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E5CC04AF00000000 + + isa + PBXFileReference + name + UndoOverlayControllerNode.swift + path + Sources/UndoOverlayControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29B729780D00000000 + 1DD70E29E5CC04AF00000000 + + + B401C9799749269800000000 + + isa + PBXGroup + name + UndoUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9799749269800000000 + + + E7A30F04B729780D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B729780D00000000 + + E7A30F04E5CC04AF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E5CC04AF00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04B729780D00000000 + E7A30F04E5CC04AF00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F043E4DE92B00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2909838F1D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E299BFED34700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E290F957EA900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E9749269800000000 + + isa + PBXNativeTarget + name + UndoUI + productName + UndoUI + productReference + 1DD70E29AE67341000000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847939749269800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E9749269800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847939749269800000000 + + \ No newline at end of file diff --git a/submodules/UndoUI/UndoUI.xcodeproj/xcshareddata/xcschemes/UndoUI.xcscheme b/submodules/UndoUI/UndoUI.xcodeproj/xcshareddata/xcschemes/UndoUI.xcscheme new file mode 100644 index 0000000000..27a95cfe9f --- /dev/null +++ b/submodules/UndoUI/UndoUI.xcodeproj/xcshareddata/xcschemes/UndoUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/UndoUI/UndoUI_Xcode.xcodeproj/project.pbxproj b/submodules/UndoUI/UndoUI_Xcode.xcodeproj/project.pbxproj index 00ed22fbec..ceddbc9e6a 100644 --- a/submodules/UndoUI/UndoUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/UndoUI/UndoUI_Xcode.xcodeproj/project.pbxproj @@ -21,7 +21,7 @@ D0C9C07722FE3B5300FAB518 /* TextFormat.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C07622FE3B5300FAB518 /* TextFormat.framework */; }; D0C9C07922FE3B5700FAB518 /* RadialStatusNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C07822FE3B5700FAB518 /* RadialStatusNode.framework */; }; D0C9C07B22FE3B5D00FAB518 /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C07A22FE3B5D00FAB518 /* AsyncDisplayKit.framework */; }; - D0C9C07F22FE3BA400FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C07E22FE3BA400FAB518 /* FrameworkBundle.swift */; }; + D0EFF25E2319817900CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF25D2319817900CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -41,7 +41,7 @@ D0C9C07622FE3B5300FAB518 /* TextFormat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TextFormat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C07822FE3B5700FAB518 /* RadialStatusNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = RadialStatusNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C9C07A22FE3B5D00FAB518 /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AsyncDisplayKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0C9C07E22FE3BA400FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF25D2319817900CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +49,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF25E2319817900CF5164 /* AppBundle.framework in Frameworks */, D0C9C07B22FE3B5D00FAB518 /* AsyncDisplayKit.framework in Frameworks */, D0C9C07922FE3B5700FAB518 /* RadialStatusNode.framework in Frameworks */, D0C9C07722FE3B5300FAB518 /* TextFormat.framework in Frameworks */, @@ -89,7 +90,6 @@ children = ( D0C9C06222FE3B0500FAB518 /* UndoOverlayController.swift */, D0C9C06122FE3B0500FAB518 /* UndoOverlayControllerNode.swift */, - D0C9C07E22FE3BA400FAB518 /* FrameworkBundle.swift */, D0C9C05522FE3AAA00FAB518 /* UndoUI.h */, ); path = Sources; @@ -98,6 +98,7 @@ D0C9C06522FE3B2700FAB518 /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF25D2319817900CF5164 /* AppBundle.framework */, D0C9C07A22FE3B5D00FAB518 /* AsyncDisplayKit.framework */, D0C9C07822FE3B5700FAB518 /* RadialStatusNode.framework */, D0C9C07622FE3B5300FAB518 /* TextFormat.framework */, @@ -195,7 +196,6 @@ files = ( D0C9C06422FE3B0500FAB518 /* UndoOverlayController.swift in Sources */, D0C9C06322FE3B0500FAB518 /* UndoOverlayControllerNode.swift in Sources */, - D0C9C07F22FE3BA400FAB518 /* FrameworkBundle.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/UrlEscaping/BUCK b/submodules/UrlEscaping/BUCK new file mode 100644 index 0000000000..541c96168a --- /dev/null +++ b/submodules/UrlEscaping/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "UrlEscaping", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/UrlEscaping/UrlEscaping.xcodeproj/project.pbxproj b/submodules/UrlEscaping/UrlEscaping.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..6e533f9172 --- /dev/null +++ b/submodules/UrlEscaping/UrlEscaping.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2987AD5DA800000000 + + isa + PBXFileReference + name + UrlEscaping-Debug.xcconfig + path + ../../buck-out/gen/submodules/UrlEscaping/UrlEscaping-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2936EF2B1200000000 + + isa + PBXFileReference + name + UrlEscaping-Profile.xcconfig + path + ../../buck-out/gen/submodules/UrlEscaping/UrlEscaping-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AA85D67400000000 + + isa + PBXFileReference + name + UrlEscaping-Release.xcconfig + path + ../../buck-out/gen/submodules/UrlEscaping/UrlEscaping-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2987AD5DA800000000 + 1DD70E2936EF2B1200000000 + 1DD70E29AA85D67400000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29597BAFBB00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E297E8B985200000000 + + isa + PBXFileReference + name + UrlEscaping.swift + path + Sources/UrlEscaping.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E297E8B985200000000 + + + B401C979371B736D00000000 + + isa + PBXGroup + name + UrlEscaping + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979371B736D00000000 + + + E7A30F047E8B985200000000 + + isa + PBXBuildFile + fileRef + 1DD70E297E8B985200000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F047E8B985200000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2987AD5DA800000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2936EF2B1200000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AA85D67400000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E371B736D00000000 + + isa + PBXNativeTarget + name + UrlEscaping + productName + UrlEscaping + productReference + 1DD70E29597BAFBB00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793371B736D00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E371B736D00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793371B736D00000000 + + \ No newline at end of file diff --git a/submodules/UrlEscaping/UrlEscaping.xcodeproj/xcshareddata/xcschemes/UrlEscaping.xcscheme b/submodules/UrlEscaping/UrlEscaping.xcodeproj/xcshareddata/xcschemes/UrlEscaping.xcscheme new file mode 100644 index 0000000000..c7c16bb5f9 --- /dev/null +++ b/submodules/UrlEscaping/UrlEscaping.xcodeproj/xcshareddata/xcschemes/UrlEscaping.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/UrlHandling/BUCK b/submodules/UrlHandling/BUCK new file mode 100644 index 0000000000..49ac625612 --- /dev/null +++ b/submodules/UrlHandling/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "UrlHandling", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/AccountContext:AccountContext", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/UrlHandling/UrlHandling.xcodeproj/project.pbxproj b/submodules/UrlHandling/UrlHandling.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7f8d1b4ba0 --- /dev/null +++ b/submodules/UrlHandling/UrlHandling.xcodeproj/project.pbxproj @@ -0,0 +1,709 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29FBA992E100000000 + + isa + PBXFileReference + name + UrlHandling-Debug.xcconfig + path + ../../buck-out/gen/submodules/UrlHandling/UrlHandling-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E299CB2F60B00000000 + + isa + PBXFileReference + name + UrlHandling-Profile.xcconfig + path + ../../buck-out/gen/submodules/UrlHandling/UrlHandling-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291049A16D00000000 + + isa + PBXFileReference + name + UrlHandling-Release.xcconfig + path + ../../buck-out/gen/submodules/UrlHandling/UrlHandling-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29FBA992E100000000 + 1DD70E299CB2F60B00000000 + 1DD70E291049A16D00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E2951398CF200000000 + + + 1DD70E29D81471E200000000 + + isa + PBXFileReference + name + libUrlHandling.a + path + libUrlHandling.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29D81471E200000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29A118EEF900000000 + + isa + PBXFileReference + name + UrlHandling.swift + path + Sources/UrlHandling.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29A118EEF900000000 + + + B401C979C97C935400000000 + + isa + PBXGroup + name + UrlHandling + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979C97C935400000000 + + + E7A30F04A118EEF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A118EEF900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04A118EEF900000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29FBA992E100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E299CB2F60B00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E291049A16D00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EC97C935400000000 + + isa + PBXNativeTarget + name + UrlHandling + productName + UrlHandling + productReference + 1DD70E29D81471E200000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793C97C935400000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EC97C935400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793C97C935400000000 + + \ No newline at end of file diff --git a/submodules/UrlHandling/UrlHandling.xcodeproj/xcshareddata/xcschemes/UrlHandling.xcscheme b/submodules/UrlHandling/UrlHandling.xcodeproj/xcshareddata/xcschemes/UrlHandling.xcscheme new file mode 100644 index 0000000000..92b0ee9620 --- /dev/null +++ b/submodules/UrlHandling/UrlHandling.xcodeproj/xcshareddata/xcschemes/UrlHandling.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WallpaperResources/BUCK b/submodules/WallpaperResources/BUCK new file mode 100644 index 0000000000..6d1177da31 --- /dev/null +++ b/submodules/WallpaperResources/BUCK @@ -0,0 +1,25 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WallpaperResources", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/Display:Display#shared", + "//submodules/LocalMediaResources:LocalMediaResources", + "//submodules/TinyThumbnail:TinyThumbnail", + "//submodules/ImageBlur:ImageBlur", + "//submodules/MediaResources:MediaResources", + "//submodules/PhotoResources:PhotoResources", + "//submodules/PersistentStringHash:PersistentStringHash", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/WallpaperResources/Sources/FrameworkBundle.swift b/submodules/WallpaperResources/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/WallpaperResources/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/WallpaperResources/Sources/WallpaperResources.swift b/submodules/WallpaperResources/Sources/WallpaperResources.swift index 67942cec0c..ef7a6a1696 100644 --- a/submodules/WallpaperResources/Sources/WallpaperResources.swift +++ b/submodules/WallpaperResources/Sources/WallpaperResources.swift @@ -11,6 +11,7 @@ import PhotoResources import LocalMediaResources import TelegramPresentationData import TelegramUIPreferences +import AppBundle public func wallpaperDatas(account: Account, accountManager: AccountManager, fileReference: FileMediaReference? = nil, representations: [ImageRepresentationWithReference], alwaysShowThumbnailFirst: Bool = false, thumbnail: Bool = false, onlyFullSize: Bool = false, autoFetchFullSize: Bool = false, synchronousLoad: Bool = false) -> Signal<(Data?, Data?, Bool), NoError> { if let smallestRepresentation = smallestImageRepresentation(representations.map({ $0.representation })), let largestRepresentation = largestImageRepresentation(representations.map({ $0.representation })), let smallestIndex = representations.firstIndex(where: { $0.representation == smallestRepresentation }), let largestIndex = representations.firstIndex(where: { $0.representation == largestRepresentation }) { @@ -490,7 +491,7 @@ public func solidColor(_ color: UIColor) -> Signal<(TransformImageArguments) -> private func builtinWallpaperData() -> Signal { return Signal { subscriber in - if let filePath = frameworkBundle.path(forResource: "ChatWallpaperBuiltin0", ofType: "jpg"), let image = UIImage(contentsOfFile: filePath) { + if let filePath = getAppBundle().path(forResource: "ChatWallpaperBuiltin0", ofType: "jpg"), let image = UIImage(contentsOfFile: filePath) { subscriber.putNext(image) } subscriber.putCompletion() @@ -650,7 +651,7 @@ public func drawThemeImage(context c: CGContext, theme: PresentationTheme, wallp switch theme.chat.defaultWallpaper { case .builtin: - if let filePath = frameworkBundle.path(forResource: "ChatWallpaperBuiltin0", ofType: "jpg"), let image = UIImage(contentsOfFile: filePath), let cgImage = image.cgImage { + if let filePath = getAppBundle().path(forResource: "ChatWallpaperBuiltin0", ofType: "jpg"), let image = UIImage(contentsOfFile: filePath), let cgImage = image.cgImage { let size = image.size.aspectFilled(drawingRect.size) c.draw(cgImage, in: CGRect(origin: CGPoint(x: (drawingRect.size.width - size.width) / 2.0, y: (drawingRect.size.height - size.height) / 2.0), size: size)) } diff --git a/submodules/WallpaperResources/WallpaperResources.xcodeproj/project.pbxproj b/submodules/WallpaperResources/WallpaperResources.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..bb31ae4ad0 --- /dev/null +++ b/submodules/WallpaperResources/WallpaperResources.xcodeproj/project.pbxproj @@ -0,0 +1,905 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E299F2997F200000000 + + isa + PBXFileReference + name + WallpaperResources-Debug.xcconfig + path + ../../buck-out/gen/submodules/WallpaperResources/WallpaperResources-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E296045FADC00000000 + + isa + PBXFileReference + name + WallpaperResources-Profile.xcconfig + path + ../../buck-out/gen/submodules/WallpaperResources/WallpaperResources-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D3DCA63E00000000 + + isa + PBXFileReference + name + WallpaperResources-Release.xcconfig + path + ../../buck-out/gen/submodules/WallpaperResources/WallpaperResources-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E299F2997F200000000 + 1DD70E296045FADC00000000 + 1DD70E29D3DCA63E00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B5051C0E00000000 + + isa + PBXFileReference + name + libPersistentStringHash.a + path + libPersistentStringHash.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29C6E517A300000000 + 1DD70E29247D9AC100000000 + 1DD70E2968BAC05A00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29B5051C0E00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + + + 1DD70E29A7E1559B00000000 + + isa + PBXFileReference + name + libWallpaperResources.a + path + libWallpaperResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A7E1559B00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F40E096500000000 + + isa + PBXFileReference + name + WallpaperCache.swift + path + Sources/WallpaperCache.swift + sourceTree + SOURCE_ROOT + + 1DD70E29FC18C2C800000000 + + isa + PBXFileReference + name + WallpaperResources.swift + path + Sources/WallpaperResources.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F40E096500000000 + 1DD70E29FC18C2C800000000 + + + B401C979869F2E6300000000 + + isa + PBXGroup + name + WallpaperResources + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979869F2E6300000000 + + + E7A30F04F40E096500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F40E096500000000 + + E7A30F04FC18C2C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FC18C2C800000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F40E096500000000 + E7A30F04FC18C2C800000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0468BAC05A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968BAC05A00000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F04B5051C0E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B5051C0E00000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + E7A30F04D6F14E1000000000 + E7A30F04C6E517A300000000 + E7A30F04DB6520C800000000 + E7A30F04D65BA68200000000 + E7A30F04119CDA0700000000 + E7A30F0468BAC05A00000000 + E7A30F0436DE2CF900000000 + E7A30F04B5051C0E00000000 + E7A30F045915423000000000 + E7A30F04F33FDAC300000000 + E7A30F0451398CF200000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E299F2997F200000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E296045FADC00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29D3DCA63E00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E869F2E6300000000 + + isa + PBXNativeTarget + name + WallpaperResources + productName + WallpaperResources + productReference + 1DD70E29A7E1559B00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793869F2E6300000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E869F2E6300000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793869F2E6300000000 + + \ No newline at end of file diff --git a/submodules/WallpaperResources/WallpaperResources.xcodeproj/xcshareddata/xcschemes/WallpaperResources.xcscheme b/submodules/WallpaperResources/WallpaperResources.xcodeproj/xcshareddata/xcschemes/WallpaperResources.xcscheme new file mode 100644 index 0000000000..7176c028a5 --- /dev/null +++ b/submodules/WallpaperResources/WallpaperResources.xcodeproj/xcshareddata/xcschemes/WallpaperResources.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WallpaperResources/WallpaperResources_Xcode.xcodeproj/project.pbxproj b/submodules/WallpaperResources/WallpaperResources_Xcode.xcodeproj/project.pbxproj index b9bf77669f..cb7f5cddba 100644 --- a/submodules/WallpaperResources/WallpaperResources_Xcode.xcodeproj/project.pbxproj +++ b/submodules/WallpaperResources/WallpaperResources_Xcode.xcodeproj/project.pbxproj @@ -21,7 +21,7 @@ D03E486823076BF60049C28B /* TinyThumbnail.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E486723076BF60049C28B /* TinyThumbnail.framework */; }; D03E486A23076BFC0049C28B /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E486923076BFC0049C28B /* PhotoResources.framework */; }; D03E486C23076C020049C28B /* LocalMediaResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E486B23076C020049C28B /* LocalMediaResources.framework */; }; - D03E487223076CF10049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E487123076CF10049C28B /* FrameworkBundle.swift */; }; + D0EFF23E23197F9F00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF23D23197F9F00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -41,7 +41,7 @@ D03E486723076BF60049C28B /* TinyThumbnail.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TinyThumbnail.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E486923076BFC0049C28B /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D03E486B23076C020049C28B /* LocalMediaResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocalMediaResources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E487123076CF10049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF23D23197F9F00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +49,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF23E23197F9F00CF5164 /* AppBundle.framework in Frameworks */, D03E486C23076C020049C28B /* LocalMediaResources.framework in Frameworks */, D03E486A23076BFC0049C28B /* PhotoResources.framework in Frameworks */, D03E486823076BF60049C28B /* TinyThumbnail.framework in Frameworks */, @@ -88,7 +89,6 @@ isa = PBXGroup; children = ( D03E485423076BB70049C28B /* WallpaperResources.swift */, - D03E487123076CF10049C28B /* FrameworkBundle.swift */, D03E484823076B4A0049C28B /* WallpaperResources.h */, 095214EC2317EF76008CDD87 /* WallpaperCache.swift */, ); @@ -98,6 +98,7 @@ D03E485623076BC80049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF23D23197F9F00CF5164 /* AppBundle.framework */, D03E486B23076C020049C28B /* LocalMediaResources.framework */, D03E486923076BFC0049C28B /* PhotoResources.framework */, D03E486723076BF60049C28B /* TinyThumbnail.framework */, @@ -193,7 +194,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D03E487223076CF10049C28B /* FrameworkBundle.swift in Sources */, 095214ED2317EF76008CDD87 /* WallpaperCache.swift in Sources */, D03E485523076BB70049C28B /* WallpaperResources.swift in Sources */, ); diff --git a/submodules/WatchBridge/BUCK b/submodules/WatchBridge/BUCK new file mode 100644 index 0000000000..e5cd5267ac --- /dev/null +++ b/submodules/WatchBridge/BUCK @@ -0,0 +1,36 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WatchBridge", + srcs = glob([ + "Sources/**/*.swift", + "Sources/**/*.m", + ]), + headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/WatchBridge.h"]), + exported_headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/WatchBridge.h"]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/SSignalKit/SSignalKit:SSignalKit", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/WatchCommon/Host:WatchCommon", + "//submodules/WatchBridgeAudio:WatchBridgeAudio", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/AccountContext:AccountContext", + "//submodules/AvatarNode:AvatarNode", + "//submodules/StickerResources:StickerResources", + "//submodules/PhotoResources:PhotoResources", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/LegacyUI:LegacyUI", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/WatchConnectivity.framework", + ], +) diff --git a/submodules/WatchBridge/WatchBridge.xcodeproj/project.pbxproj b/submodules/WatchBridge/WatchBridge.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..0c7f994db7 --- /dev/null +++ b/submodules/WatchBridge/WatchBridge.xcodeproj/project.pbxproj @@ -0,0 +1,1027 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E205009D00000000 + + isa + PBXFileReference + name + WatchBridge-Debug.xcconfig + path + ../../buck-out/gen/submodules/WatchBridge/WatchBridge-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2959E9E4C700000000 + + isa + PBXFileReference + name + WatchBridge-Profile.xcconfig + path + ../../buck-out/gen/submodules/WatchBridge/WatchBridge-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29CD80902900000000 + + isa + PBXFileReference + name + WatchBridge-Release.xcconfig + path + ../../buck-out/gen/submodules/WatchBridge/WatchBridge-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E205009D00000000 + 1DD70E2959E9E4C700000000 + 1DD70E29CD80902900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296BAE375600000000 + + isa + PBXFileReference + name + libWatchBridgeAudio.a + path + libWatchBridgeAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29D6F14E1000000000 + 1DD70E29247D9AC100000000 + 1DD70E2952137F3500000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E296BAE375600000000 + + + 1DD70E29AF8D62A600000000 + + isa + PBXFileReference + name + libWatchBridge.a + path + libWatchBridge.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29AF8D62A600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29D10AF07900000000 + + isa + PBXFileReference + name + TGBridgeServer.h + path + Sources/TGBridgeServer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D10AF07E00000000 + + isa + PBXFileReference + name + TGBridgeServer.m + path + Sources/TGBridgeServer.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E293D63DDBD00000000 + + isa + PBXFileReference + name + WatchBridge.swift + path + Sources/WatchBridge.swift + sourceTree + SOURCE_ROOT + + 1DD70E29E77D346B00000000 + + isa + PBXFileReference + name + WatchCommunicationManager.swift + path + Sources/WatchCommunicationManager.swift + sourceTree + SOURCE_ROOT + + 1DD70E296F7AB14E00000000 + + isa + PBXFileReference + name + WatchRequestHandlers.swift + path + Sources/WatchRequestHandlers.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29D10AF07900000000 + 1DD70E29D10AF07E00000000 + 1DD70E293D63DDBD00000000 + 1DD70E29E77D346B00000000 + 1DD70E296F7AB14E00000000 + + + B401C9797942E51800000000 + + isa + PBXGroup + name + WatchBridge + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C9797942E51800000000 + + + E7A30F04D10AF07E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D10AF07E00000000 + + E7A30F043D63DDBD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293D63DDBD00000000 + + E7A30F04E77D346B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E77D346B00000000 + + E7A30F046F7AB14E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296F7AB14E00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04D10AF07E00000000 + E7A30F043D63DDBD00000000 + E7A30F04E77D346B00000000 + E7A30F046F7AB14E00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F046BAE375600000000 + + isa + PBXBuildFile + fileRef + 1DD70E296BAE375600000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04D6F14E1000000000 + E7A30F04CD296A8300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F042417E0B200000000 + E7A30F0452137F3500000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04490601EB00000000 + E7A30F046BAE375600000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E205009D00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2959E9E4C700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29CD80902900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E7942E51800000000 + + isa + PBXNativeTarget + name + WatchBridge + productName + WatchBridge + productReference + 1DD70E29AF8D62A600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847937942E51800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E7942E51800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847937942E51800000000 + + \ No newline at end of file diff --git a/submodules/WatchBridge/WatchBridge.xcodeproj/xcshareddata/xcschemes/WatchBridge.xcscheme b/submodules/WatchBridge/WatchBridge.xcodeproj/xcshareddata/xcschemes/WatchBridge.xcscheme new file mode 100644 index 0000000000..55bc02acb6 --- /dev/null +++ b/submodules/WatchBridge/WatchBridge.xcodeproj/xcshareddata/xcschemes/WatchBridge.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WatchBridgeAudio/BUCK b/submodules/WatchBridgeAudio/BUCK new file mode 100644 index 0000000000..8f7915792a --- /dev/null +++ b/submodules/WatchBridgeAudio/BUCK @@ -0,0 +1,26 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WatchBridgeAudio", + srcs = glob([ + "Sources/**/*.swift", + "Sources/**/*.m", + "Sources/**/*.mm", + ]), + headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/WatchBridgeAudio.h"]), + exported_headers = glob([ + "Sources/**/*.h", + ], exclude = ["Sources/WatchBridgeAudio.h"]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/SSignalKit/SSignalKit:SSignalKit", + "//submodules/OpusBinding:OpusBinding", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", + "$SDKROOT/System/Library/Frameworks/AudioToolbox.framework", + ], +) diff --git a/submodules/WatchBridgeAudio/WatchBridgeAudio.xcodeproj/project.pbxproj b/submodules/WatchBridgeAudio/WatchBridgeAudio.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..5e3168a674 --- /dev/null +++ b/submodules/WatchBridgeAudio/WatchBridgeAudio.xcodeproj/project.pbxproj @@ -0,0 +1,451 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E296874D35700000000 + + isa + PBXFileReference + name + WatchBridgeAudio-Debug.xcconfig + path + ../../buck-out/gen/submodules/WatchBridgeAudio/WatchBridgeAudio-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2903AFF10100000000 + + isa + PBXFileReference + name + WatchBridgeAudio-Profile.xcconfig + path + ../../buck-out/gen/submodules/WatchBridgeAudio/WatchBridgeAudio-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2977469C6300000000 + + isa + PBXFileReference + name + WatchBridgeAudio-Release.xcconfig + path + ../../buck-out/gen/submodules/WatchBridgeAudio/WatchBridgeAudio-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E296874D35700000000 + 1DD70E2903AFF10100000000 + 1DD70E2977469C6300000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29D65BA68200000000 + + + 1DD70E296BAE375600000000 + + isa + PBXFileReference + name + libWatchBridgeAudio.a + path + libWatchBridgeAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E296BAE375600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29F3F7C1C900000000 + + isa + PBXFileReference + name + LegacyBridgeAudio.swift + path + Sources/LegacyBridgeAudio.swift + sourceTree + SOURCE_ROOT + + 1DD70E2937BBB90400000000 + + isa + PBXFileReference + name + TGBridgeAudioDecoder.h + path + Sources/TGBridgeAudioDecoder.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BFBB688400000000 + + isa + PBXFileReference + name + TGBridgeAudioDecoder.mm + path + Sources/TGBridgeAudioDecoder.mm + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.objcpp + + 1DD70E2972EABBDC00000000 + + isa + PBXFileReference + name + TGBridgeAudioEncoder.h + path + Sources/TGBridgeAudioEncoder.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2972EABBE100000000 + + isa + PBXFileReference + name + TGBridgeAudioEncoder.m + path + Sources/TGBridgeAudioEncoder.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29F3F7C1C900000000 + 1DD70E2937BBB90400000000 + 1DD70E29BFBB688400000000 + 1DD70E2972EABBDC00000000 + 1DD70E2972EABBE100000000 + + + B401C979F283359E00000000 + + isa + PBXGroup + name + WatchBridgeAudio + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979F283359E00000000 + + + E7A30F04F3F7C1C900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F3F7C1C900000000 + + E7A30F04BFBB688400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BFBB688400000000 + + E7A30F0472EABBE100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2972EABBE100000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04F3F7C1C900000000 + E7A30F04BFBB688400000000 + E7A30F0472EABBE100000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E296874D35700000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E2903AFF10100000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2977469C6300000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EF283359E00000000 + + isa + PBXNativeTarget + name + WatchBridgeAudio + productName + WatchBridgeAudio + productReference + 1DD70E296BAE375600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793F283359E00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EF283359E00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793F283359E00000000 + + \ No newline at end of file diff --git a/submodules/WatchBridgeAudio/WatchBridgeAudio.xcodeproj/xcshareddata/xcschemes/WatchBridgeAudio.xcscheme b/submodules/WatchBridgeAudio/WatchBridgeAudio.xcodeproj/xcshareddata/xcschemes/WatchBridgeAudio.xcscheme new file mode 100644 index 0000000000..32c1c086e0 --- /dev/null +++ b/submodules/WatchBridgeAudio/WatchBridgeAudio.xcodeproj/xcshareddata/xcschemes/WatchBridgeAudio.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WatchCommon/Host/BUCK b/submodules/WatchCommon/Host/BUCK new file mode 100644 index 0000000000..b4a597439b --- /dev/null +++ b/submodules/WatchCommon/Host/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WatchCommon", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/WatchCommon.h", "Sources/WatchCommon.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/WatchCommon.h", "Sources/WatchCommon.h"]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/WatchCommon/Host/Host.xcodeproj/project.pbxproj b/submodules/WatchCommon/Host/Host.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..321524aabf --- /dev/null +++ b/submodules/WatchCommon/Host/Host.xcodeproj/project.pbxproj @@ -0,0 +1,1257 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29CAF2A9FB00000000 + + isa + PBXFileReference + name + WatchCommon-Debug.xcconfig + path + ../../../buck-out/gen/submodules/WatchCommon/Host/WatchCommon-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BE12AEA500000000 + + isa + PBXFileReference + name + WatchCommon-Profile.xcconfig + path + ../../../buck-out/gen/submodules/WatchCommon/Host/WatchCommon-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2931A95A0700000000 + + isa + PBXFileReference + name + WatchCommon-Release.xcconfig + path + ../../../buck-out/gen/submodules/WatchCommon/Host/WatchCommon-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29CAF2A9FB00000000 + 1DD70E29BE12AEA500000000 + 1DD70E2931A95A0700000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E298011D88800000000 + + isa + PBXFileReference + name + libWatchCommon.a + path + libWatchCommon.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E298011D88800000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2910FAED4F00000000 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.h + path + Sources/TGBridgeActionMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2910FAED5400000000 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.m + path + Sources/TGBridgeActionMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296780922700000000 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.h + path + Sources/TGBridgeAudioMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296780922C00000000 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.m + path + Sources/TGBridgeAudioMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296F242FC800000000 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.h + path + Sources/TGBridgeBotCommandInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296F242FCD00000000 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.m + path + Sources/TGBridgeBotCommandInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A4102F5300000000 + + isa + PBXFileReference + name + TGBridgeBotInfo.h + path + Sources/TGBridgeBotInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A4102F5800000000 + + isa + PBXFileReference + name + TGBridgeBotInfo.m + path + Sources/TGBridgeBotInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC46724E00000000 + + isa + PBXFileReference + name + TGBridgeChat.h + path + Sources/TGBridgeChat.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC46725300000000 + + isa + PBXFileReference + name + TGBridgeChat.m + path + Sources/TGBridgeChat.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29BD9A98BA00000000 + + isa + PBXFileReference + name + TGBridgeChatMessages.h + path + Sources/TGBridgeChatMessages.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BD9A98BF00000000 + + isa + PBXFileReference + name + TGBridgeChatMessages.m + path + Sources/TGBridgeChatMessages.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295AF3E12100000000 + + isa + PBXFileReference + name + TGBridgeCommon.h + path + Sources/TGBridgeCommon.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295AF3E12600000000 + + isa + PBXFileReference + name + TGBridgeCommon.m + path + Sources/TGBridgeCommon.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2932A9981D00000000 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.h + path + Sources/TGBridgeContactMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2932A9982200000000 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.m + path + Sources/TGBridgeContactMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2943D90B6D00000000 + + isa + PBXFileReference + name + TGBridgeContext.h + path + Sources/TGBridgeContext.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2943D90B7200000000 + + isa + PBXFileReference + name + TGBridgeContext.m + path + Sources/TGBridgeContext.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29613B100A00000000 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.h + path + Sources/TGBridgeDocumentMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29613B100F00000000 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.m + path + Sources/TGBridgeDocumentMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29772A4CE200000000 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.h + path + Sources/TGBridgeForwardedMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29772A4CE700000000 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.m + path + Sources/TGBridgeForwardedMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2936F99F4200000000 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.h + path + Sources/TGBridgeImageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2936F99F4700000000 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.m + path + Sources/TGBridgeImageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29294008B000000000 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.h + path + Sources/TGBridgeLocationMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29294008B500000000 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.m + path + Sources/TGBridgeLocationMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29750E2FB800000000 + + isa + PBXFileReference + name + TGBridgeLocationVenue.h + path + Sources/TGBridgeLocationVenue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29750E2FBD00000000 + + isa + PBXFileReference + name + TGBridgeLocationVenue.m + path + Sources/TGBridgeLocationVenue.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2952F66BE500000000 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.h + path + Sources/TGBridgeMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2952F66BEA00000000 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.m + path + Sources/TGBridgeMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2906439FC500000000 + + isa + PBXFileReference + name + TGBridgeMessage.h + path + Sources/TGBridgeMessage.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2906439FCA00000000 + + isa + PBXFileReference + name + TGBridgeMessage.m + path + Sources/TGBridgeMessage.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A971DC6600000000 + + isa + PBXFileReference + name + TGBridgeMessageEntities.h + path + Sources/TGBridgeMessageEntities.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A971DC6B00000000 + + isa + PBXFileReference + name + TGBridgeMessageEntities.m + path + Sources/TGBridgeMessageEntities.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29026AB5E900000000 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.h + path + Sources/TGBridgeMessageEntitiesAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29026AB5EE00000000 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.m + path + Sources/TGBridgeMessageEntitiesAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2947AA647000000000 + + isa + PBXFileReference + name + TGBridgePeerIdAdapter.h + path + Sources/TGBridgePeerIdAdapter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1A600000000 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.h + path + Sources/TGBridgePeerNotificationSettings.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1AB00000000 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.m + path + Sources/TGBridgePeerNotificationSettings.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29484836CB00000000 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.h + path + Sources/TGBridgeReplyMarkupMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29484836D000000000 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.m + path + Sources/TGBridgeReplyMarkupMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC504DA800000000 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.h + path + Sources/TGBridgeReplyMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC504DAD00000000 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.m + path + Sources/TGBridgeReplyMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2914A1B7F400000000 + + isa + PBXFileReference + name + TGBridgeSubscriptions.h + path + Sources/TGBridgeSubscriptions.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2914A1B7F900000000 + + isa + PBXFileReference + name + TGBridgeSubscriptions.m + path + Sources/TGBridgeSubscriptions.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29811188A800000000 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.h + path + Sources/TGBridgeUnsupportedMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29811188AD00000000 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.m + path + Sources/TGBridgeUnsupportedMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29EB9A7A0100000000 + + isa + PBXFileReference + name + TGBridgeUser.h + path + Sources/TGBridgeUser.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EB9A7A0600000000 + + isa + PBXFileReference + name + TGBridgeUser.m + path + Sources/TGBridgeUser.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A2A3D82200000000 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.h + path + Sources/TGBridgeVideoMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A2A3D82700000000 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.m + path + Sources/TGBridgeVideoMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299B2EC69A00000000 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.h + path + Sources/TGBridgeWebPageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299B2EC69F00000000 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.m + path + Sources/TGBridgeWebPageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2910FAED4F00000000 + 1DD70E2910FAED5400000000 + 1DD70E296780922700000000 + 1DD70E296780922C00000000 + 1DD70E296F242FC800000000 + 1DD70E296F242FCD00000000 + 1DD70E29A4102F5300000000 + 1DD70E29A4102F5800000000 + 1DD70E29CC46724E00000000 + 1DD70E29CC46725300000000 + 1DD70E29BD9A98BA00000000 + 1DD70E29BD9A98BF00000000 + 1DD70E295AF3E12100000000 + 1DD70E295AF3E12600000000 + 1DD70E2932A9981D00000000 + 1DD70E2932A9982200000000 + 1DD70E2943D90B6D00000000 + 1DD70E2943D90B7200000000 + 1DD70E29613B100A00000000 + 1DD70E29613B100F00000000 + 1DD70E29772A4CE200000000 + 1DD70E29772A4CE700000000 + 1DD70E2936F99F4200000000 + 1DD70E2936F99F4700000000 + 1DD70E29294008B000000000 + 1DD70E29294008B500000000 + 1DD70E29750E2FB800000000 + 1DD70E29750E2FBD00000000 + 1DD70E2952F66BE500000000 + 1DD70E2952F66BEA00000000 + 1DD70E2906439FC500000000 + 1DD70E2906439FCA00000000 + 1DD70E29A971DC6600000000 + 1DD70E29A971DC6B00000000 + 1DD70E29026AB5E900000000 + 1DD70E29026AB5EE00000000 + 1DD70E2947AA647000000000 + 1DD70E29E3E3C1A600000000 + 1DD70E29E3E3C1AB00000000 + 1DD70E29484836CB00000000 + 1DD70E29484836D000000000 + 1DD70E29CC504DA800000000 + 1DD70E29CC504DAD00000000 + 1DD70E2914A1B7F400000000 + 1DD70E2914A1B7F900000000 + 1DD70E29811188A800000000 + 1DD70E29811188AD00000000 + 1DD70E29EB9A7A0100000000 + 1DD70E29EB9A7A0600000000 + 1DD70E29A2A3D82200000000 + 1DD70E29A2A3D82700000000 + 1DD70E299B2EC69A00000000 + 1DD70E299B2EC69F00000000 + + + B401C9797ACF6B7A00000000 + + isa + PBXGroup + name + WatchCommon + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C9797ACF6B7A00000000 + + + E7A30F0410FAED5400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2910FAED5400000000 + + E7A30F046780922C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296780922C00000000 + + E7A30F046F242FCD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296F242FCD00000000 + + E7A30F04A4102F5800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A4102F5800000000 + + E7A30F04CC46725300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC46725300000000 + + E7A30F04BD9A98BF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BD9A98BF00000000 + + E7A30F045AF3E12600000000 + + isa + PBXBuildFile + fileRef + 1DD70E295AF3E12600000000 + + E7A30F0432A9982200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2932A9982200000000 + + E7A30F0443D90B7200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943D90B7200000000 + + E7A30F04613B100F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29613B100F00000000 + + E7A30F04772A4CE700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29772A4CE700000000 + + E7A30F0436F99F4700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936F99F4700000000 + + E7A30F04294008B500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29294008B500000000 + + E7A30F04750E2FBD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29750E2FBD00000000 + + E7A30F0452F66BEA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952F66BEA00000000 + + E7A30F0406439FCA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2906439FCA00000000 + + E7A30F04A971DC6B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A971DC6B00000000 + + E7A30F04026AB5EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29026AB5EE00000000 + + E7A30F04E3E3C1AB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3E3C1AB00000000 + + E7A30F04484836D000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29484836D000000000 + + E7A30F04CC504DAD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC504DAD00000000 + + E7A30F0414A1B7F900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914A1B7F900000000 + + E7A30F04811188AD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29811188AD00000000 + + E7A30F04EB9A7A0600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EB9A7A0600000000 + + E7A30F04A2A3D82700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A2A3D82700000000 + + E7A30F049B2EC69F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299B2EC69F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0410FAED5400000000 + E7A30F046780922C00000000 + E7A30F046F242FCD00000000 + E7A30F04A4102F5800000000 + E7A30F04CC46725300000000 + E7A30F04BD9A98BF00000000 + E7A30F045AF3E12600000000 + E7A30F0432A9982200000000 + E7A30F0443D90B7200000000 + E7A30F04613B100F00000000 + E7A30F04772A4CE700000000 + E7A30F0436F99F4700000000 + E7A30F04294008B500000000 + E7A30F04750E2FBD00000000 + E7A30F0452F66BEA00000000 + E7A30F0406439FCA00000000 + E7A30F04A971DC6B00000000 + E7A30F04026AB5EE00000000 + E7A30F04E3E3C1AB00000000 + E7A30F04484836D000000000 + E7A30F04CC504DAD00000000 + E7A30F0414A1B7F900000000 + E7A30F04811188AD00000000 + E7A30F04EB9A7A0600000000 + E7A30F04A2A3D82700000000 + E7A30F049B2EC69F00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29CAF2A9FB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29BE12AEA500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2931A95A0700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E7ACF6B7A00000000 + + isa + PBXNativeTarget + name + WatchCommon + productName + WatchCommon + productReference + 1DD70E298011D88800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793002269C800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E7ACF6B7A00000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793002269C800000000 + + \ No newline at end of file diff --git a/submodules/WatchCommon/Host/Host.xcodeproj/xcshareddata/xcschemes/Host.xcscheme b/submodules/WatchCommon/Host/Host.xcodeproj/xcshareddata/xcschemes/Host.xcscheme new file mode 100644 index 0000000000..b725ab8645 --- /dev/null +++ b/submodules/WatchCommon/Host/Host.xcodeproj/xcshareddata/xcschemes/Host.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.h new file mode 100644 index 0000000000..bb18757fc6 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.h @@ -0,0 +1,36 @@ +#import + +typedef NS_ENUM(NSUInteger, TGBridgeMessageAction) { + TGBridgeMessageActionNone = 0, + TGBridgeMessageActionChatEditTitle = 1, + TGBridgeMessageActionChatAddMember = 2, + TGBridgeMessageActionChatDeleteMember = 3, + TGBridgeMessageActionCreateChat = 4, + TGBridgeMessageActionChatEditPhoto = 5, + TGBridgeMessageActionContactRequest = 6, + TGBridgeMessageActionAcceptContactRequest = 7, + TGBridgeMessageActionContactRegistered = 8, + TGBridgeMessageActionUserChangedPhoto = 9, + TGBridgeMessageActionEncryptedChatRequest = 10, + TGBridgeMessageActionEncryptedChatAccept = 11, + TGBridgeMessageActionEncryptedChatDecline = 12, + TGBridgeMessageActionEncryptedChatMessageLifetime = 13, + TGBridgeMessageActionEncryptedChatScreenshot = 14, + TGBridgeMessageActionEncryptedChatMessageScreenshot = 15, + TGBridgeMessageActionCreateBroadcastList = 16, + TGBridgeMessageActionJoinedByLink = 17, + TGBridgeMessageActionChannelCreated = 18, + TGBridgeMessageActionChannelCommentsStatusChanged = 19, + TGBridgeMessageActionChannelInviter = 20, + TGBridgeMessageActionGroupMigratedTo = 21, + TGBridgeMessageActionGroupDeactivated = 22, + TGBridgeMessageActionGroupActivated = 23, + TGBridgeMessageActionChannelMigratedFrom = 24 +}; + +@interface TGBridgeActionMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) TGBridgeMessageAction actionType; +@property (nonatomic, strong) NSDictionary *actionData; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m new file mode 100644 index 0000000000..763cf8a1eb --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m @@ -0,0 +1,33 @@ +#import "TGBridgeActionMediaAttachment.h" +#import "TGBridgeImageMediaAttachment.h" + +const NSInteger TGBridgeActionMediaAttachmentType = 0x1167E28B; + +NSString *const TGBridgeActionMediaTypeKey = @"actionType"; +NSString *const TGBridgeActionMediaDataKey = @"actionData"; + +@implementation TGBridgeActionMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _actionType = (TGBridgeMessageAction)[aDecoder decodeInt32ForKey:TGBridgeActionMediaTypeKey]; + _actionData = [aDecoder decodeObjectForKey:TGBridgeActionMediaDataKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.actionType forKey:TGBridgeActionMediaTypeKey]; + [aCoder encodeObject:self.actionData forKey:TGBridgeActionMediaDataKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeActionMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.h new file mode 100644 index 0000000000..ffdb864568 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.h @@ -0,0 +1,16 @@ +#import + +@interface TGBridgeAudioMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t audioId; +@property (nonatomic, assign) int64_t accessHash; +@property (nonatomic, assign) int32_t datacenterId; + +@property (nonatomic, assign) int64_t localAudioId; + +@property (nonatomic, assign) int32_t duration; +@property (nonatomic, assign) int32_t fileSize; + +- (int64_t)identifier; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m new file mode 100644 index 0000000000..3f4096a897 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m @@ -0,0 +1,65 @@ +#import "TGBridgeAudioMediaAttachment.h" + +const NSInteger TGBridgeAudioMediaAttachmentType = 0x3A0E7A32; + +NSString *const TGBridgeAudioMediaAudioIdKey = @"audioId"; +NSString *const TGBridgeAudioMediaAccessHashKey = @"accessHash"; +NSString *const TGBridgeAudioMediaLocalIdKey = @"localId"; +NSString *const TGBridgeAudioMediaDatacenterIdKey = @"datacenterId"; +NSString *const TGBridgeAudioMediaDurationKey = @"duration"; +NSString *const TGBridgeAudioMediaFileSizeKey = @"fileSize"; + +@implementation TGBridgeAudioMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _audioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAudioIdKey]; + _accessHash = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAccessHashKey]; + _localAudioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaLocalIdKey]; + _datacenterId = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDatacenterIdKey]; + _duration = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDurationKey]; + _fileSize = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaFileSizeKey]; + } + return self; +} + +- (void)encodeWithCoder:(nonnull NSCoder *)aCoder +{ + [aCoder encodeInt64:self.audioId forKey:TGBridgeAudioMediaAudioIdKey]; + [aCoder encodeInt64:self.accessHash forKey:TGBridgeAudioMediaAccessHashKey]; + [aCoder encodeInt64:self.localAudioId forKey:TGBridgeAudioMediaLocalIdKey]; + [aCoder encodeInt32:self.datacenterId forKey:TGBridgeAudioMediaDatacenterIdKey]; + [aCoder encodeInt32:self.duration forKey:TGBridgeAudioMediaDurationKey]; + [aCoder encodeInt32:self.fileSize forKey:TGBridgeAudioMediaFileSizeKey]; +} + +- (int64_t)identifier +{ + if (self.localAudioId != 0) + return self.localAudioId; + + return self.audioId; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeAudioMediaAttachment *audio = (TGBridgeAudioMediaAttachment *)object; + + return (self.audioId == audio.audioId || self.localAudioId == audio.localAudioId); +} + ++ (NSInteger)mediaType +{ + return TGBridgeAudioMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.h b/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.h new file mode 100644 index 0000000000..fe6f72e1a0 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.h @@ -0,0 +1,12 @@ +#import + +@interface TGBridgeBotCommandInfo : NSObject +{ + NSString *_command; + NSString *_commandDescription; +} + +@property (nonatomic, readonly) NSString *command; +@property (nonatomic, readonly) NSString *commandDescription; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m b/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m new file mode 100644 index 0000000000..0f1e005861 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m @@ -0,0 +1,25 @@ +#import "TGBridgeBotCommandInfo.h" + +NSString *const TGBridgeBotCommandInfoCommandKey = @"command"; +NSString *const TGBridgeBotCommandDescriptionKey = @"commandDescription"; + +@implementation TGBridgeBotCommandInfo + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _command = [aDecoder decodeObjectForKey:TGBridgeBotCommandInfoCommandKey]; + _commandDescription = [aDecoder decodeObjectForKey:TGBridgeBotCommandDescriptionKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.command forKey:TGBridgeBotCommandInfoCommandKey]; + [aCoder encodeObject:self.commandDescription forKey:TGBridgeBotCommandDescriptionKey]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.h b/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.h new file mode 100644 index 0000000000..0dafae5cef --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.h @@ -0,0 +1,12 @@ +#import + +@interface TGBridgeBotInfo : NSObject +{ + NSString *_shortDescription; + NSArray *_commandList; +} + +@property (nonatomic, readonly) NSString *shortDescription; +@property (nonatomic, readonly) NSArray *commandList; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m b/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m new file mode 100644 index 0000000000..996abb3a95 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m @@ -0,0 +1,25 @@ +#import "TGBridgeBotInfo.h" + +NSString *const TGBridgeBotInfoShortDescriptionKey = @"shortDescription"; +NSString *const TGBridgeBotInfoCommandListKey = @"commandList"; + +@implementation TGBridgeBotInfo + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _shortDescription = [aDecoder decodeObjectForKey:TGBridgeBotInfoShortDescriptionKey]; + _commandList = [aDecoder decodeObjectForKey:TGBridgeBotInfoCommandListKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.shortDescription forKey:TGBridgeBotInfoShortDescriptionKey]; + [aCoder encodeObject:self.commandList forKey:TGBridgeBotInfoCommandListKey]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeChat.h b/submodules/WatchCommon/Host/Sources/TGBridgeChat.h new file mode 100644 index 0000000000..047521d720 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeChat.h @@ -0,0 +1,46 @@ +#import +#import + +@interface TGBridgeChat : NSObject + +@property (nonatomic) int64_t identifier; +@property (nonatomic) NSTimeInterval date; +@property (nonatomic) int32_t fromUid; +@property (nonatomic, strong) NSString *text; + +@property (nonatomic, strong) NSArray *media; + +@property (nonatomic) bool outgoing; +@property (nonatomic) bool unread; +@property (nonatomic) bool deliveryError; +@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; + +@property (nonatomic) int32_t unreadCount; + +@property (nonatomic) bool isBroadcast; + +@property (nonatomic, strong) NSString *groupTitle; +@property (nonatomic, strong) NSString *groupPhotoSmall; +@property (nonatomic, strong) NSString *groupPhotoBig; + +@property (nonatomic) bool isGroup; +@property (nonatomic) bool hasLeftGroup; +@property (nonatomic) bool isKickedFromGroup; + +@property (nonatomic) bool isChannel; +@property (nonatomic) bool isChannelGroup; + +@property (nonatomic, strong) NSString *userName; +@property (nonatomic, strong) NSString *about; +@property (nonatomic) bool verified; + +@property (nonatomic) int32_t participantsCount; +@property (nonatomic, strong) NSArray *participants; + +- (NSIndexSet *)involvedUserIds; +- (NSIndexSet *)participantsUserIds; + +@end + +extern NSString *const TGBridgeChatKey; +extern NSString *const TGBridgeChatsArrayKey; diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeChat.m b/submodules/WatchCommon/Host/Sources/TGBridgeChat.m new file mode 100644 index 0000000000..4ea9552f08 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeChat.m @@ -0,0 +1,139 @@ +#import "TGBridgeChat.h" +#import "TGBridgePeerIdAdapter.h" + +NSString *const TGBridgeChatIdentifierKey = @"identifier"; +NSString *const TGBridgeChatDateKey = @"date"; +NSString *const TGBridgeChatFromUidKey = @"fromUid"; +NSString *const TGBridgeChatTextKey = @"text"; +NSString *const TGBridgeChatOutgoingKey = @"outgoing"; +NSString *const TGBridgeChatUnreadKey = @"unread"; +NSString *const TGBridgeChatMediaKey = @"media"; +NSString *const TGBridgeChatUnreadCountKey = @"unreadCount"; +NSString *const TGBridgeChatGroupTitleKey = @"groupTitle"; +NSString *const TGBridgeChatGroupPhotoSmallKey = @"groupPhotoSmall"; +NSString *const TGBridgeChatGroupPhotoBigKey = @"groupPhotoBig"; +NSString *const TGBridgeChatIsGroupKey = @"isGroup"; +NSString *const TGBridgeChatHasLeftGroupKey = @"hasLeftGroup"; +NSString *const TGBridgeChatIsKickedFromGroupKey = @"isKickedFromGroup"; +NSString *const TGBridgeChatIsChannelKey = @"isChannel"; +NSString *const TGBridgeChatIsChannelGroupKey = @"isChannelGroup"; +NSString *const TGBridgeChatUserNameKey = @"userName"; +NSString *const TGBridgeChatAboutKey = @"about"; +NSString *const TGBridgeChatVerifiedKey = @"verified"; +NSString *const TGBridgeChatGroupParticipantsCountKey = @"participantsCount"; +NSString *const TGBridgeChatGroupParticipantsKey = @"participants"; +NSString *const TGBridgeChatDeliveryStateKey = @"deliveryState"; +NSString *const TGBridgeChatDeliveryErrorKey = @"deliveryError"; + +NSString *const TGBridgeChatKey = @"chat"; +NSString *const TGBridgeChatsArrayKey = @"chats"; + +@implementation TGBridgeChat + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeChatIdentifierKey]; + _date = [aDecoder decodeDoubleForKey:TGBridgeChatDateKey]; + _fromUid = [aDecoder decodeInt32ForKey:TGBridgeChatFromUidKey]; + _text = [aDecoder decodeObjectForKey:TGBridgeChatTextKey]; + _outgoing = [aDecoder decodeBoolForKey:TGBridgeChatOutgoingKey]; + _unread = [aDecoder decodeBoolForKey:TGBridgeChatUnreadKey]; + _unreadCount = [aDecoder decodeInt32ForKey:TGBridgeChatUnreadCountKey]; + _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeChatDeliveryStateKey]; + _deliveryError = [aDecoder decodeBoolForKey:TGBridgeChatDeliveryErrorKey]; + _media = [aDecoder decodeObjectForKey:TGBridgeChatMediaKey]; + + _groupTitle = [aDecoder decodeObjectForKey:TGBridgeChatGroupTitleKey]; + _groupPhotoSmall = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoSmallKey]; + _groupPhotoBig = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoBigKey]; + _isGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsGroupKey]; + _hasLeftGroup = [aDecoder decodeBoolForKey:TGBridgeChatHasLeftGroupKey]; + _isKickedFromGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsKickedFromGroupKey]; + _isChannel = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelKey]; + _isChannelGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelGroupKey]; + _userName = [aDecoder decodeObjectForKey:TGBridgeChatUserNameKey]; + _about = [aDecoder decodeObjectForKey:TGBridgeChatAboutKey]; + _verified = [aDecoder decodeBoolForKey:TGBridgeChatVerifiedKey]; + _participantsCount = [aDecoder decodeInt32ForKey:TGBridgeChatGroupParticipantsCountKey]; + _participants = [aDecoder decodeObjectForKey:TGBridgeChatGroupParticipantsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeChatIdentifierKey]; + [aCoder encodeDouble:self.date forKey:TGBridgeChatDateKey]; + [aCoder encodeInt32:self.fromUid forKey:TGBridgeChatFromUidKey]; + [aCoder encodeObject:self.text forKey:TGBridgeChatTextKey]; + [aCoder encodeBool:self.outgoing forKey:TGBridgeChatOutgoingKey]; + [aCoder encodeBool:self.unread forKey:TGBridgeChatUnreadKey]; + [aCoder encodeInt32:self.unreadCount forKey:TGBridgeChatUnreadCountKey]; + [aCoder encodeInt32:self.deliveryState forKey:TGBridgeChatDeliveryStateKey]; + [aCoder encodeBool:self.deliveryError forKey:TGBridgeChatDeliveryErrorKey]; + [aCoder encodeObject:self.media forKey:TGBridgeChatMediaKey]; + + [aCoder encodeObject:self.groupTitle forKey:TGBridgeChatGroupTitleKey]; + [aCoder encodeObject:self.groupPhotoSmall forKey:TGBridgeChatGroupPhotoSmallKey]; + [aCoder encodeObject:self.groupPhotoBig forKey:TGBridgeChatGroupPhotoBigKey]; + + [aCoder encodeBool:self.isGroup forKey:TGBridgeChatIsGroupKey]; + [aCoder encodeBool:self.hasLeftGroup forKey:TGBridgeChatHasLeftGroupKey]; + [aCoder encodeBool:self.isKickedFromGroup forKey:TGBridgeChatIsKickedFromGroupKey]; + + [aCoder encodeBool:self.isChannel forKey:TGBridgeChatIsChannelKey]; + [aCoder encodeBool:self.isChannelGroup forKey:TGBridgeChatIsChannelGroupKey]; + [aCoder encodeObject:self.userName forKey:TGBridgeChatUserNameKey]; + [aCoder encodeObject:self.about forKey:TGBridgeChatAboutKey]; + [aCoder encodeBool:self.verified forKey:TGBridgeChatVerifiedKey]; + + [aCoder encodeInt32:self.participantsCount forKey:TGBridgeChatGroupParticipantsCountKey]; + [aCoder encodeObject:self.participants forKey:TGBridgeChatGroupParticipantsKey]; +} + +- (NSIndexSet *)involvedUserIds +{ + NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; + if (!self.isGroup && !self.isChannel && self.identifier != 0) + [userIds addIndex:(int32_t)self.identifier]; + if ((!self.isChannel || self.isChannelGroup) && self.fromUid != self.identifier && self.fromUid != 0 && !TGPeerIdIsChannel(self.fromUid) && self.fromUid > 0) + [userIds addIndex:(int32_t)self.fromUid]; + + for (TGBridgeMediaAttachment *attachment in self.media) + { + if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) + { + TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; + if (actionAttachment.actionData[@"uid"] != nil) + [userIds addIndex:[actionAttachment.actionData[@"uid"] integerValue]]; + } + } + + return userIds; +} + +- (NSIndexSet *)participantsUserIds +{ + NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; + + for (NSNumber *uid in self.participants) + [userIds addIndex:uid.unsignedIntegerValue]; + + return userIds; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + return self.identifier == ((TGBridgeChat *)object).identifier; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.h b/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.h new file mode 100644 index 0000000000..9c539758d4 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.h @@ -0,0 +1,14 @@ +#import + +@class SSignal; + +@interface TGBridgeChatMessages : NSObject +{ + NSArray *_messages; +} + +@property (nonatomic, readonly) NSArray *messages; + +@end + +extern NSString *const TGBridgeChatMessageListViewKey; diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m b/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m new file mode 100644 index 0000000000..c7b64e2c13 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m @@ -0,0 +1,27 @@ +#import "TGBridgeChatMessages.h" +#import "TGBridgeMessage.h" + +NSString *const TGBridgeChatMessageListViewMessagesKey = @"messages"; +NSString *const TGBridgeChatMessageListViewEarlierMessageIdKey = @"earlier"; +NSString *const TGBridgeChatMessageListViewLaterMessageIdKey = @"later"; + +NSString *const TGBridgeChatMessageListViewKey = @"messageListView"; + +@implementation TGBridgeChatMessages + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _messages = [aDecoder decodeObjectForKey:TGBridgeChatMessageListViewMessagesKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.messages forKey:TGBridgeChatMessageListViewMessagesKey]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeCommon.h b/submodules/WatchCommon/Host/Sources/TGBridgeCommon.h new file mode 100644 index 0000000000..fe0510c041 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeCommon.h @@ -0,0 +1,95 @@ +#import + +extern NSString *const TGBridgeIncomingFileTypeKey; +extern NSString *const TGBridgeIncomingFileIdentifierKey; +extern NSString *const TGBridgeIncomingFileRandomIdKey; +extern NSString *const TGBridgeIncomingFilePeerIdKey; +extern NSString *const TGBridgeIncomingFileReplyToMidKey; + +extern NSString *const TGBridgeIncomingFileTypeAudio; +extern NSString *const TGBridgeIncomingFileTypeImage; + +@interface TGBridgeSubscription : NSObject + +@property (nonatomic, readonly) int64_t identifier; +@property (nonatomic, readonly, strong) NSString *name; + +@property (nonatomic, readonly) bool isOneTime; +@property (nonatomic, readonly) bool renewable; +@property (nonatomic, readonly) bool dropPreviouslyQueued; +@property (nonatomic, readonly) bool synchronous; + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder; +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder; + ++ (NSString *)subscriptionName; + +@end + + +@interface TGBridgeDisposal : NSObject + +@property (nonatomic, readonly) int64_t identifier; + +- (instancetype)initWithIdentifier:(int64_t)identifier; + +@end + + +@interface TGBridgeFile : NSObject + +@property (nonatomic, readonly, strong) NSData *data; +@property (nonatomic, readonly, strong) NSDictionary *metadata; + +- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata; + +@end + + +@interface TGBridgePing : NSObject + +@property (nonatomic, readonly) int32_t sessionId; + +- (instancetype)initWithSessionId:(int32_t)sessionId; + +@end + + +@interface TGBridgeSubscriptionListRequest : NSObject + +@property (nonatomic, readonly) int32_t sessionId; + +- (instancetype)initWithSessionId:(int32_t)sessionId; + +@end + + +@interface TGBridgeSubscriptionList : NSObject + +@property (nonatomic, readonly, strong) NSArray *subscriptions; + +- (instancetype)initWithArray:(NSArray *)array; + +@end + + +typedef NS_ENUM(int32_t, TGBridgeResponseType) { + TGBridgeResponseTypeUndefined, + TGBridgeResponseTypeNext, + TGBridgeResponseTypeFailed, + TGBridgeResponseTypeCompleted +}; + +@interface TGBridgeResponse : NSObject + +@property (nonatomic, readonly) int64_t subscriptionIdentifier; + +@property (nonatomic, readonly) TGBridgeResponseType type; +@property (nonatomic, readonly, strong) id next; +@property (nonatomic, readonly, strong) NSString *error; + ++ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription; ++ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription; ++ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeCommon.m b/submodules/WatchCommon/Host/Sources/TGBridgeCommon.m new file mode 100644 index 0000000000..ae0cf5300b --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeCommon.m @@ -0,0 +1,295 @@ +#import "TGBridgeCommon.h" + +NSString *const TGBridgeIncomingFileTypeKey = @"type"; +NSString *const TGBridgeIncomingFileIdentifierKey = @"identifier"; +NSString *const TGBridgeIncomingFileRandomIdKey = @"randomId"; +NSString *const TGBridgeIncomingFilePeerIdKey = @"peerId"; +NSString *const TGBridgeIncomingFileReplyToMidKey = @"replyToMid"; +NSString *const TGBridgeIncomingFileTypeAudio = @"audio"; +NSString *const TGBridgeIncomingFileTypeImage = @"image"; + +NSString *const TGBridgeResponseSubscriptionIdentifier = @"identifier"; +NSString *const TGBridgeResponseTypeKey = @"type"; +NSString *const TGBridgeResponseNextKey = @"next"; +NSString *const TGBridgeResponseErrorKey = @"error"; + +@implementation TGBridgeResponse + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _subscriptionIdentifier = [aDecoder decodeInt64ForKey:TGBridgeResponseSubscriptionIdentifier]; + _type = [aDecoder decodeInt32ForKey:TGBridgeResponseTypeKey]; + _next = [aDecoder decodeObjectForKey:TGBridgeResponseNextKey]; + _error = [aDecoder decodeObjectForKey:TGBridgeResponseErrorKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.subscriptionIdentifier forKey:TGBridgeResponseSubscriptionIdentifier]; + [aCoder encodeInt32:self.type forKey:TGBridgeResponseTypeKey]; + [aCoder encodeObject:self.next forKey:TGBridgeResponseNextKey]; + [aCoder encodeObject:self.error forKey:TGBridgeResponseErrorKey]; +} + ++ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription +{ + TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; + response->_subscriptionIdentifier = subscription.identifier; + response->_type = TGBridgeResponseTypeNext; + response->_next = next; + return response; +} + ++ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription +{ + TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; + response->_subscriptionIdentifier = subscription.identifier; + response->_type = TGBridgeResponseTypeFailed; + response->_error = error; + return response; +} + ++ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription +{ + TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; + response->_subscriptionIdentifier = subscription.identifier; + response->_type = TGBridgeResponseTypeCompleted; + return response; +} + +@end + + +NSString *const TGBridgeSubscriptionIdentifierKey = @"identifier"; +NSString *const TGBridgeSubscriptionNameKey = @"name"; +NSString *const TGBridgeSubscriptionParametersKey = @"parameters"; + +@implementation TGBridgeSubscription + +- (instancetype)init +{ + self = [super init]; + if (self != nil) + { + int64_t randomId = 0; + arc4random_buf(&randomId, sizeof(int64_t)); + _identifier = randomId; + _name = [[self class] subscriptionName]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; + _name = [aDecoder decodeObjectForKey:TGBridgeSubscriptionNameKey]; + [self _unserializeParametersWithCoder:aDecoder]; + } + return self; +} + +- (bool)synchronous +{ + return false; +} + +- (bool)renewable +{ + return true; +} + +- (bool)dropPreviouslyQueued +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)__unused aCoder +{ + +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)__unused aDecoder +{ + +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; + [aCoder encodeObject:self.name forKey:TGBridgeSubscriptionNameKey]; + [self _serializeParametersWithCoder:aCoder]; +} + ++ (NSString *)subscriptionName +{ + return nil; +} + +@end + + +@implementation TGBridgeDisposal + +- (instancetype)initWithIdentifier:(int64_t)identifier +{ + self = [super init]; + if (self != nil) + { + _identifier = identifier; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; +} + +@end + +NSString *const TGBridgeFileDataKey = @"data"; +NSString *const TGBridgeFileMetadataKey = @"metadata"; + +@implementation TGBridgeFile + +- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata +{ + self = [super init]; + if (self != nil) + { + _data = data; + _metadata = metadata; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _data = [aDecoder decodeObjectForKey:TGBridgeFileDataKey]; + _metadata = [aDecoder decodeObjectForKey:TGBridgeFileMetadataKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.data forKey:TGBridgeFileDataKey]; + [aCoder encodeObject:self.metadata forKey:TGBridgeFileMetadataKey]; +} + +@end + + +NSString *const TGBridgeSessionIdKey = @"sessionId"; + +@implementation TGBridgePing + +- (instancetype)initWithSessionId:(int32_t)sessionId +{ + self = [super init]; + if (self != nil) + { + _sessionId = sessionId; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; +} + +@end + + +@implementation TGBridgeSubscriptionListRequest + +- (instancetype)initWithSessionId:(int32_t)sessionId +{ + self = [super init]; + if (self != nil) + { + _sessionId = sessionId; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; +} + +@end + + +NSString *const TGBridgeSubscriptionListSubscriptionsKey = @"subscriptions"; + +@implementation TGBridgeSubscriptionList + +- (instancetype)initWithArray:(NSArray *)array +{ + self = [super init]; + if (self != nil) + { + _subscriptions = array; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _subscriptions = [aDecoder decodeObjectForKey:TGBridgeSubscriptionListSubscriptionsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.subscriptions forKey:TGBridgeSubscriptionListSubscriptionsKey]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.h new file mode 100644 index 0000000000..052293134a --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.h @@ -0,0 +1,13 @@ +#import + +@interface TGBridgeContactMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int32_t uid; +@property (nonatomic, strong) NSString *firstName; +@property (nonatomic, strong) NSString *lastName; +@property (nonatomic, strong) NSString *phoneNumber; +@property (nonatomic, strong) NSString *prettyPhoneNumber; + +- (NSString *)displayName; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m new file mode 100644 index 0000000000..4b2f482eaa --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m @@ -0,0 +1,60 @@ +#import "TGBridgeContactMediaAttachment.h" + +//#import "../Extension/TGStringUtils.h" + +const NSInteger TGBridgeContactMediaAttachmentType = 0xB90A5663; + +NSString *const TGBridgeContactMediaUidKey = @"uid"; +NSString *const TGBridgeContactMediaFirstNameKey = @"firstName"; +NSString *const TGBridgeContactMediaLastNameKey = @"lastName"; +NSString *const TGBridgeContactMediaPhoneNumberKey = @"phoneNumber"; +NSString *const TGBridgeContactMediaPrettyPhoneNumberKey = @"prettyPhoneNumber"; + +@implementation TGBridgeContactMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _uid = [aDecoder decodeInt32ForKey:TGBridgeContactMediaUidKey]; + _firstName = [aDecoder decodeObjectForKey:TGBridgeContactMediaFirstNameKey]; + _lastName = [aDecoder decodeObjectForKey:TGBridgeContactMediaLastNameKey]; + _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPhoneNumberKey]; + _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPrettyPhoneNumberKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.uid forKey:TGBridgeContactMediaUidKey]; + [aCoder encodeObject:self.firstName forKey:TGBridgeContactMediaFirstNameKey]; + [aCoder encodeObject:self.lastName forKey:TGBridgeContactMediaLastNameKey]; + [aCoder encodeObject:self.phoneNumber forKey:TGBridgeContactMediaPhoneNumberKey]; + [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeContactMediaPrettyPhoneNumberKey]; +} + +- (NSString *)displayName +{ + NSString *firstName = self.firstName; + NSString *lastName = self.lastName; + + if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) + { + return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; + } + else if (firstName != nil && firstName.length != 0) + return firstName; + else if (lastName != nil && lastName.length != 0) + return lastName; + + return @""; +} + ++ (NSInteger)mediaType +{ + return TGBridgeContactMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeContext.h b/submodules/WatchCommon/Host/Sources/TGBridgeContext.h new file mode 100644 index 0000000000..45225a04f6 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeContext.h @@ -0,0 +1,18 @@ +#import + +@interface TGBridgeContext : NSObject + +@property (nonatomic, readonly) bool authorized; +@property (nonatomic, readonly) int32_t userId; +@property (nonatomic, readonly) bool micAccessAllowed; +@property (nonatomic, readonly) NSDictionary *preheatData; +@property (nonatomic, readonly) NSInteger preheatVersion; + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; +- (NSDictionary *)dictionary; + +- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId; +- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data; +- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeContext.m b/submodules/WatchCommon/Host/Sources/TGBridgeContext.m new file mode 100644 index 0000000000..4b0600e2fc --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeContext.m @@ -0,0 +1,101 @@ +#import "TGBridgeContext.h" +#import "TGBridgeCommon.h" +//#import "TGWatchCommon.h" + +NSString *const TGBridgeContextAuthorized = @"authorized"; +NSString *const TGBridgeContextUserId = @"userId"; +NSString *const TGBridgeContextMicAccessAllowed = @"micAccessAllowed"; +NSString *const TGBridgeContextStartupData = @"startupData"; +NSString *const TGBridgeContextStartupDataVersion = @"version"; + +@implementation TGBridgeContext + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary +{ + self = [super init]; + if (self != nil) + { + _authorized = [dictionary[TGBridgeContextAuthorized] boolValue]; + _userId = (int32_t)[dictionary[TGBridgeContextUserId] intValue]; + _micAccessAllowed = [dictionary[TGBridgeContextMicAccessAllowed] boolValue]; + + if (dictionary[TGBridgeContextStartupData] != nil) { + _preheatData = [NSKeyedUnarchiver unarchiveObjectWithData:dictionary[TGBridgeContextStartupData]]; + _preheatVersion = [dictionary[TGBridgeContextStartupDataVersion] integerValue]; + } + } + return self; +} + +- (NSDictionary *)dictionary +{ + NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; + dictionary[TGBridgeContextAuthorized] = @(self.authorized); + dictionary[TGBridgeContextUserId] = @(self.userId); + dictionary[TGBridgeContextMicAccessAllowed] = @(self.micAccessAllowed); + if (self.preheatData != nil) { + dictionary[TGBridgeContextStartupData] = [NSKeyedArchiver archivedDataWithRootObject:self.preheatData]; + dictionary[TGBridgeContextStartupDataVersion] = @(self.preheatVersion); + } + return dictionary; +} + +- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId +{ + TGBridgeContext *context = [[TGBridgeContext alloc] init]; + context->_authorized = authorized; + context->_userId = peerId; + context->_micAccessAllowed = self.micAccessAllowed; + if (authorized) { + context->_preheatData = self.preheatData; + context->_preheatVersion = self.preheatVersion; + } + return context; +} + +- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data +{ + TGBridgeContext *context = [[TGBridgeContext alloc] init]; + context->_authorized = self.authorized; + context->_userId = self.userId; + context->_micAccessAllowed = self.micAccessAllowed; + if (data != nil) { + context->_preheatData = data; + context->_preheatVersion = (int32_t)[NSDate date].timeIntervalSinceReferenceDate; + } + return context; +} + +- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed +{ + TGBridgeContext *context = [[TGBridgeContext alloc] init]; + context->_authorized = self.authorized; + context->_userId = self.userId; + context->_micAccessAllowed = allowed; + context->_preheatData = self.preheatData; + context->_preheatVersion = self.preheatVersion; + return context; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return true; + + if (!object || ![object isKindOfClass:[self class]]) + return false; + + TGBridgeContext *context = (TGBridgeContext *)object; + if (context.authorized != self.authorized) + return false; + if (context.userId != self.userId) + return false; + if (context.micAccessAllowed != self.micAccessAllowed) + return false; + if (context.preheatVersion != self.preheatVersion) + return false; + + return true; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.h new file mode 100644 index 0000000000..020a50fa47 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.h @@ -0,0 +1,23 @@ +#import + +@interface TGBridgeDocumentMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t documentId; +@property (nonatomic, assign) int64_t localDocumentId; +@property (nonatomic, assign) int32_t fileSize; + +@property (nonatomic, strong) NSString *fileName; +@property (nonatomic, strong) NSValue *imageSize; +@property (nonatomic, assign) bool isAnimated; +@property (nonatomic, assign) bool isSticker; +@property (nonatomic, strong) NSString *stickerAlt; +@property (nonatomic, assign) int64_t stickerPackId; +@property (nonatomic, assign) int64_t stickerPackAccessHash; + +@property (nonatomic, assign) bool isVoice; +@property (nonatomic, assign) bool isAudio; +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *performer; +@property (nonatomic, assign) int32_t duration; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m new file mode 100644 index 0000000000..8d492ae704 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m @@ -0,0 +1,84 @@ +#import "TGBridgeDocumentMediaAttachment.h" + +const NSInteger TGBridgeDocumentMediaAttachmentType = 0xE6C64318; + +NSString *const TGBridgeDocumentMediaDocumentIdKey = @"documentId"; +NSString *const TGBridgeDocumentMediaLocalDocumentIdKey = @"localDocumentId"; +NSString *const TGBridgeDocumentMediaFileSizeKey = @"fileSize"; +NSString *const TGBridgeDocumentMediaFileNameKey = @"fileName"; +NSString *const TGBridgeDocumentMediaImageSizeKey = @"imageSize"; +NSString *const TGBridgeDocumentMediaAnimatedKey = @"animated"; +NSString *const TGBridgeDocumentMediaStickerKey = @"sticker"; +NSString *const TGBridgeDocumentMediaStickerAltKey = @"stickerAlt"; +NSString *const TGBridgeDocumentMediaStickerPackIdKey = @"stickerPackId"; +NSString *const TGBridgeDocumentMediaStickerPackAccessHashKey = @"stickerPackAccessHash"; +NSString *const TGBridgeDocumentMediaAudioKey = @"audio"; +NSString *const TGBridgeDocumentMediaAudioTitleKey = @"title"; +NSString *const TGBridgeDocumentMediaAudioPerformerKey = @"performer"; +NSString *const TGBridgeDocumentMediaAudioVoice = @"voice"; +NSString *const TGBridgeDocumentMediaAudioDuration = @"duration"; + +@implementation TGBridgeDocumentMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _documentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaDocumentIdKey]; + _localDocumentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaLocalDocumentIdKey]; + _fileSize = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaFileSizeKey]; + _fileName = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaFileNameKey]; + _imageSize = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaImageSizeKey]; + _isAnimated = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAnimatedKey]; + _isSticker = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaStickerKey]; + _stickerAlt = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaStickerAltKey]; + _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackIdKey]; + _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; + _isAudio = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioKey]; + _title = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioTitleKey]; + _performer = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioPerformerKey]; + _isVoice = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioVoice]; + _duration = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaAudioDuration]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.documentId forKey:TGBridgeDocumentMediaDocumentIdKey]; + [aCoder encodeInt64:self.localDocumentId forKey:TGBridgeDocumentMediaLocalDocumentIdKey]; + [aCoder encodeInt32:self.fileSize forKey:TGBridgeDocumentMediaFileSizeKey]; + [aCoder encodeObject:self.fileName forKey:TGBridgeDocumentMediaFileNameKey]; + [aCoder encodeObject:self.imageSize forKey:TGBridgeDocumentMediaImageSizeKey]; + [aCoder encodeBool:self.isAnimated forKey:TGBridgeDocumentMediaAnimatedKey]; + [aCoder encodeBool:self.isSticker forKey:TGBridgeDocumentMediaStickerKey]; + [aCoder encodeObject:self.stickerAlt forKey:TGBridgeDocumentMediaStickerAltKey]; + [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeDocumentMediaStickerPackIdKey]; + [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; + [aCoder encodeBool:self.isAudio forKey:TGBridgeDocumentMediaAudioKey]; + [aCoder encodeObject:self.title forKey:TGBridgeDocumentMediaAudioTitleKey]; + [aCoder encodeObject:self.performer forKey:TGBridgeDocumentMediaAudioPerformerKey]; + [aCoder encodeBool:self.isVoice forKey:TGBridgeDocumentMediaAudioVoice]; + [aCoder encodeInt32:self.duration forKey:TGBridgeDocumentMediaAudioDuration]; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeDocumentMediaAttachment *document = (TGBridgeDocumentMediaAttachment *)object; + + return (self.localDocumentId == 0 && self.documentId == document.documentId) || (self.localDocumentId != 0 && self.localDocumentId == document.localDocumentId); +} + ++ (NSInteger)mediaType +{ + return TGBridgeDocumentMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.h new file mode 100644 index 0000000000..f57651e4e7 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.h @@ -0,0 +1,9 @@ +#import + +@interface TGBridgeForwardedMessageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t peerId; +@property (nonatomic, assign) int32_t mid; +@property (nonatomic, assign) int32_t date; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m new file mode 100644 index 0000000000..169e261cff --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m @@ -0,0 +1,35 @@ +#import "TGBridgeForwardedMessageMediaAttachment.h" + +const NSInteger TGBridgeForwardedMessageMediaAttachmentType = 0xAA1050C1; + +NSString *const TGBridgeForwardedMessageMediaPeerIdKey = @"peerId"; +NSString *const TGBridgeForwardedMessageMediaMidKey = @"mid"; +NSString *const TGBridgeForwardedMessageMediaDateKey = @"date"; + +@implementation TGBridgeForwardedMessageMediaAttachment + +- (nullable instancetype)initWithCoder:(nonnull NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _peerId = [aDecoder decodeInt64ForKey:TGBridgeForwardedMessageMediaPeerIdKey]; + _mid = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaMidKey]; + _date = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaDateKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeForwardedMessageMediaPeerIdKey]; + [aCoder encodeInt32:self.mid forKey:TGBridgeForwardedMessageMediaMidKey]; + [aCoder encodeInt32:self.date forKey:TGBridgeForwardedMessageMediaDateKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeForwardedMessageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.h new file mode 100644 index 0000000000..f35b6623d3 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.h @@ -0,0 +1,10 @@ +#import + +#import + +@interface TGBridgeImageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t imageId; +@property (nonatomic, assign) CGSize dimensions; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m new file mode 100644 index 0000000000..8ab5ec7044 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m @@ -0,0 +1,33 @@ +#import "TGBridgeImageMediaAttachment.h" +#import + +const NSInteger TGBridgeImageMediaAttachmentType = 0x269BD8A8; + +NSString *const TGBridgeImageMediaImageIdKey = @"imageId"; +NSString *const TGBridgeImageMediaDimensionsKey = @"dimensions"; + +@implementation TGBridgeImageMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _imageId = [aDecoder decodeInt64ForKey:TGBridgeImageMediaImageIdKey]; + _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeImageMediaDimensionsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.imageId forKey:TGBridgeImageMediaImageIdKey]; + [aCoder encodeCGSize:self.dimensions forKey:TGBridgeImageMediaDimensionsKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeImageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.h new file mode 100644 index 0000000000..0108154651 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.h @@ -0,0 +1,19 @@ +#import + +@interface TGBridgeVenueAttachment : NSObject + +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *address; +@property (nonatomic, strong) NSString *provider; +@property (nonatomic, strong) NSString *venueId; + +@end + +@interface TGBridgeLocationMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) double latitude; +@property (nonatomic, assign) double longitude; + +@property (nonatomic, strong) TGBridgeVenueAttachment *venue; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m new file mode 100644 index 0000000000..f6762eb549 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m @@ -0,0 +1,95 @@ +#import "TGBridgeLocationMediaAttachment.h" + +const NSInteger TGBridgeLocationMediaAttachmentType = 0x0C9ED06E; + +NSString *const TGBridgeLocationMediaLatitudeKey = @"lat"; +NSString *const TGBridgeLocationMediaLongitudeKey = @"lon"; +NSString *const TGBridgeLocationMediaVenueKey = @"venue"; + +NSString *const TGBridgeVenueTitleKey = @"title"; +NSString *const TGBridgeVenueAddressKey = @"address"; +NSString *const TGBridgeVenueProviderKey = @"provider"; +NSString *const TGBridgeVenueIdKey = @"venueId"; + +@implementation TGBridgeVenueAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _title = [aDecoder decodeObjectForKey:TGBridgeVenueTitleKey]; + _address = [aDecoder decodeObjectForKey:TGBridgeVenueAddressKey]; + _provider = [aDecoder decodeObjectForKey:TGBridgeVenueProviderKey]; + _venueId = [aDecoder decodeObjectForKey:TGBridgeVenueIdKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.title forKey:TGBridgeVenueTitleKey]; + [aCoder encodeObject:self.address forKey:TGBridgeVenueAddressKey]; + [aCoder encodeObject:self.provider forKey:TGBridgeVenueProviderKey]; + [aCoder encodeObject:self.venueId forKey:TGBridgeVenueIdKey]; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeVenueAttachment *venue = (TGBridgeVenueAttachment *)object; + + return [self.title isEqualToString:venue.title] && [self.address isEqualToString:venue.address] && [self.provider isEqualToString:venue.provider] && [self.venueId isEqualToString:venue.venueId]; +} + +@end + + +@implementation TGBridgeLocationMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _latitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLatitudeKey]; + _longitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLongitudeKey]; + _venue = [aDecoder decodeObjectForKey:TGBridgeLocationMediaVenueKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeDouble:self.latitude forKey:TGBridgeLocationMediaLatitudeKey]; + [aCoder encodeDouble:self.longitude forKey:TGBridgeLocationMediaLongitudeKey]; + [aCoder encodeObject:self.venue forKey:TGBridgeLocationMediaVenueKey]; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeLocationMediaAttachment *location = (TGBridgeLocationMediaAttachment *)object; + + bool equalCoord = (fabs(self.latitude - location.latitude) < DBL_EPSILON && fabs(self.longitude - location.longitude) < DBL_EPSILON); + bool equalVenue = (self.venue == nil && location.venue == nil) || ([self.venue isEqual:location.venue]); + + return equalCoord || equalVenue; +} + ++ (NSInteger)mediaType +{ + return TGBridgeLocationMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.h b/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.h new file mode 100644 index 0000000000..c626f76f9c --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.h @@ -0,0 +1,15 @@ +#import + +@class TGBridgeLocationMediaAttachment; + +@interface TGBridgeLocationVenue : NSObject + +@property (nonatomic) CLLocationCoordinate2D coordinate; +@property (nonatomic, strong) NSString *identifier; +@property (nonatomic, strong) NSString *provider; +@property (nonatomic, strong) NSString *name; +@property (nonatomic, strong) NSString *address; + +- (TGBridgeLocationMediaAttachment *)locationAttachment; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m b/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m new file mode 100644 index 0000000000..01c8fc8c1a --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m @@ -0,0 +1,66 @@ +#import "TGBridgeLocationVenue.h" + +#import "TGBridgeLocationMediaAttachment.h" + +NSString *const TGBridgeLocationVenueLatitudeKey = @"lat"; +NSString *const TGBridgeLocationVenueLongitudeKey = @"lon"; +NSString *const TGBridgeLocationVenueIdentifierKey = @"identifier"; +NSString *const TGBridgeLocationVenueProviderKey = @"provider"; +NSString *const TGBridgeLocationVenueNameKey = @"name"; +NSString *const TGBridgeLocationVenueAddressKey = @"address"; + +@implementation TGBridgeLocationVenue + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeLocationVenueLatitudeKey], [aDecoder decodeDoubleForKey:TGBridgeLocationVenueLongitudeKey]); + _identifier = [aDecoder decodeObjectForKey:TGBridgeLocationVenueIdentifierKey]; + _provider = [aDecoder decodeObjectForKey:TGBridgeLocationVenueProviderKey]; + _name = [aDecoder decodeObjectForKey:TGBridgeLocationVenueNameKey]; + _address = [aDecoder decodeObjectForKey:TGBridgeLocationVenueAddressKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeLocationVenueLatitudeKey]; + [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeLocationVenueLongitudeKey]; + [aCoder encodeObject:self.identifier forKey:TGBridgeLocationVenueIdentifierKey]; + [aCoder encodeObject:self.provider forKey:TGBridgeLocationVenueProviderKey]; + [aCoder encodeObject:self.name forKey:TGBridgeLocationVenueNameKey]; + [aCoder encodeObject:self.address forKey:TGBridgeLocationVenueAddressKey]; +} + +- (TGBridgeLocationMediaAttachment *)locationAttachment +{ + TGBridgeLocationMediaAttachment *attachment = [[TGBridgeLocationMediaAttachment alloc] init]; + attachment.latitude = self.coordinate.latitude; + attachment.longitude = self.coordinate.longitude; + + TGBridgeVenueAttachment *venueAttachment = [[TGBridgeVenueAttachment alloc] init]; + venueAttachment.title = self.name; + venueAttachment.address = self.address; + venueAttachment.provider = self.provider; + venueAttachment.venueId = self.identifier; + + attachment.venue = venueAttachment; + + return attachment; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + return [self.identifier isEqualToString:((TGBridgeLocationVenue *)object).identifier]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.h new file mode 100644 index 0000000000..a814ea5008 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.h @@ -0,0 +1,11 @@ +#import + +@interface TGBridgeMediaAttachment : NSObject + +@property (nonatomic, readonly) NSInteger mediaType; + ++ (NSInteger)mediaType; + +@end + +extern NSString *const TGBridgeMediaAttachmentTypeKey; diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m new file mode 100644 index 0000000000..971a23b64d --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m @@ -0,0 +1,32 @@ +#import "TGBridgeMediaAttachment.h" + +NSString *const TGBridgeMediaAttachmentTypeKey = @"type"; + +@implementation TGBridgeMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)__unused aDecoder +{ + self = [super init]; + if (self != nil) + { + + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)__unused aCoder +{ + +} + +- (NSInteger)mediaType +{ + return 0; +} + ++ (NSInteger)mediaType +{ + return 0; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessage.h b/submodules/WatchCommon/Host/Sources/TGBridgeMessage.h new file mode 100644 index 0000000000..f6aefd84a4 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMessage.h @@ -0,0 +1,65 @@ +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +typedef enum { + TGBridgeTextCheckingResultTypeUndefined, + TGBridgeTextCheckingResultTypeBold, + TGBridgeTextCheckingResultTypeItalic, + TGBridgeTextCheckingResultTypeCode, + TGBridgeTextCheckingResultTypePre +} TGBridgeTextCheckingResultType; + +@interface TGBridgeTextCheckingResult : NSObject + +@property (nonatomic, assign) TGBridgeTextCheckingResultType type; +@property (nonatomic, assign) NSRange range; + +@end + + +typedef NS_ENUM(NSUInteger, TGBridgeMessageDeliveryState) { + TGBridgeMessageDeliveryStateDelivered = 0, + TGBridgeMessageDeliveryStatePending = 1, + TGBridgeMessageDeliveryStateFailed = 2 +}; + +@interface TGBridgeMessage : NSObject + +@property (nonatomic) int32_t identifier; +@property (nonatomic) NSTimeInterval date; +@property (nonatomic) int64_t randomId; +@property (nonatomic) bool unread; +@property (nonatomic) bool deliveryError; +@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; +@property (nonatomic) bool outgoing; +@property (nonatomic) int64_t fromUid; +@property (nonatomic) int64_t toUid; +@property (nonatomic) int64_t cid; +@property (nonatomic, strong) NSString *text; +@property (nonatomic, strong) NSArray *media; +@property (nonatomic) bool forceReply; + +- (NSIndexSet *)involvedUserIds; +- (NSArray *)textCheckingResults; + ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId; ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage; ++ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId; ++ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId; ++ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId; + +@end + +extern NSString *const TGBridgeMessageKey; +extern NSString *const TGBridgeMessagesArrayKey; diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessage.m b/submodules/WatchCommon/Host/Sources/TGBridgeMessage.m new file mode 100644 index 0000000000..4f5e5bb6e7 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMessage.m @@ -0,0 +1,238 @@ +#import "TGBridgeMessage.h" +//#import "TGWatchCommon.h" +#import "TGBridgePeerIdAdapter.h" + +NSString *const TGBridgeMessageIdentifierKey = @"identifier"; +NSString *const TGBridgeMessageDateKey = @"date"; +NSString *const TGBridgeMessageRandomIdKey = @"randomId"; +NSString *const TGBridgeMessageFromUidKey = @"fromUid"; +NSString *const TGBridgeMessageCidKey = @"cid"; +NSString *const TGBridgeMessageTextKey = @"text"; +NSString *const TGBridgeMessageUnreadKey = @"unread"; +NSString *const TGBridgeMessageOutgoingKey = @"outgoing"; +NSString *const TGBridgeMessageMediaKey = @"media"; +NSString *const TGBridgeMessageDeliveryStateKey = @"deliveryState"; +NSString *const TGBridgeMessageForceReplyKey = @"forceReply"; + +NSString *const TGBridgeMessageKey = @"message"; +NSString *const TGBridgeMessagesArrayKey = @"messages"; + +@interface TGBridgeMessage () +{ + NSArray *_textCheckingResults; +} +@end + +@implementation TGBridgeMessage + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt32ForKey:TGBridgeMessageIdentifierKey]; + _date = [aDecoder decodeDoubleForKey:TGBridgeMessageDateKey]; + _randomId = [aDecoder decodeInt64ForKey:TGBridgeMessageRandomIdKey]; + _fromUid = [aDecoder decodeInt64ForKey:TGBridgeMessageFromUidKey]; + _cid = [aDecoder decodeInt64ForKey:TGBridgeMessageCidKey]; + _text = [aDecoder decodeObjectForKey:TGBridgeMessageTextKey]; + _outgoing = [aDecoder decodeBoolForKey:TGBridgeMessageOutgoingKey]; + _unread = [aDecoder decodeBoolForKey:TGBridgeMessageUnreadKey]; + _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeMessageDeliveryStateKey]; + _media = [aDecoder decodeObjectForKey:TGBridgeMessageMediaKey]; + _forceReply = [aDecoder decodeBoolForKey:TGBridgeMessageForceReplyKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.identifier forKey:TGBridgeMessageIdentifierKey]; + [aCoder encodeDouble:self.date forKey:TGBridgeMessageDateKey]; + [aCoder encodeInt64:self.randomId forKey:TGBridgeMessageRandomIdKey]; + [aCoder encodeInt64:self.fromUid forKey:TGBridgeMessageFromUidKey]; + [aCoder encodeInt64:self.cid forKey:TGBridgeMessageCidKey]; + [aCoder encodeObject:self.text forKey:TGBridgeMessageTextKey]; + [aCoder encodeBool:self.outgoing forKey:TGBridgeMessageOutgoingKey]; + [aCoder encodeBool:self.unread forKey:TGBridgeMessageUnreadKey]; + [aCoder encodeInt32:self.deliveryState forKey:TGBridgeMessageDeliveryStateKey]; + [aCoder encodeObject:self.media forKey:TGBridgeMessageMediaKey]; + [aCoder encodeBool:self.forceReply forKey:TGBridgeMessageForceReplyKey]; +} + +- (NSIndexSet *)involvedUserIds +{ + NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; + if (!TGPeerIdIsChannel(self.fromUid)) + [userIds addIndex:(int32_t)self.fromUid]; + + for (TGBridgeMediaAttachment *attachment in self.media) + { + if ([attachment isKindOfClass:[TGBridgeContactMediaAttachment class]]) + { + TGBridgeContactMediaAttachment *contactAttachment = (TGBridgeContactMediaAttachment *)attachment; + if (contactAttachment.uid != 0) + [userIds addIndex:contactAttachment.uid]; + } + else if ([attachment isKindOfClass:[TGBridgeForwardedMessageMediaAttachment class]]) + { + TGBridgeForwardedMessageMediaAttachment *forwardAttachment = (TGBridgeForwardedMessageMediaAttachment *)attachment; + if (forwardAttachment.peerId != 0 && !TGPeerIdIsChannel(forwardAttachment.peerId)) + [userIds addIndex:(int32_t)forwardAttachment.peerId]; + } + else if ([attachment isKindOfClass:[TGBridgeReplyMessageMediaAttachment class]]) + { + TGBridgeReplyMessageMediaAttachment *replyAttachment = (TGBridgeReplyMessageMediaAttachment *)attachment; + if (replyAttachment.message != nil && !TGPeerIdIsChannel(replyAttachment.message.fromUid)) + [userIds addIndex:(int32_t)replyAttachment.message.fromUid]; + } + else if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) + { + TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; + if (actionAttachment.actionData[@"uid"] != nil) + [userIds addIndex:(int32_t)[actionAttachment.actionData[@"uid"] intValue]]; + } + } + + return userIds; +} + +- (NSArray *)textCheckingResults +{ + if (_textCheckingResults == nil) + { + NSMutableArray *results = [[NSMutableArray alloc] init]; + + NSArray *entities = nil; + for (TGBridgeMediaAttachment *attachment in self.media) + { + if ([attachment isKindOfClass:[TGBridgeMessageEntitiesAttachment class]]) + { + entities = ((TGBridgeMessageEntitiesAttachment *)attachment).entities; + break; + } + } + + for (TGBridgeMessageEntity *entity in entities) + { + TGBridgeTextCheckingResult *result = [[TGBridgeTextCheckingResult alloc] init]; + result.range = entity.range; + + if ([entity isKindOfClass:[TGBridgeMessageEntityBold class]]) + result.type = TGBridgeTextCheckingResultTypeBold; + else if ([entity isKindOfClass:[TGBridgeMessageEntityItalic class]]) + result.type = TGBridgeTextCheckingResultTypeItalic; + else if ([entity isKindOfClass:[TGBridgeMessageEntityCode class]]) + result.type = TGBridgeTextCheckingResultTypeCode; + else if ([entity isKindOfClass:[TGBridgeMessageEntityPre class]]) + result.type = TGBridgeTextCheckingResultTypePre; + + if (result.type != TGBridgeTextCheckingResultTypeUndefined) + [results addObject:result]; + } + + _textCheckingResults = results; + } + + return _textCheckingResults; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeMessage *message = (TGBridgeMessage *)object; + + if (self.randomId != 0) + return self.randomId == message.randomId; + else + return self.identifier == message.identifier; +} + ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId +{ + return [self temporaryNewMessageForText:text userId:userId replyToMessage:nil]; +} + ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage +{ + int64_t randomId = 0; + arc4random_buf(&randomId, 8); + + int32_t messageId = 0; + arc4random_buf(&messageId, 4); + + TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; + message->_identifier = -abs(messageId); + message->_fromUid = userId; + message->_randomId = randomId; + message->_unread = true; + message->_outgoing = true; + message->_deliveryState = TGBridgeMessageDeliveryStatePending; + message->_text = text; + message->_date = [[NSDate date] timeIntervalSince1970]; + + if (replyToMessage != nil) + { + TGBridgeReplyMessageMediaAttachment *replyAttachment = [[TGBridgeReplyMessageMediaAttachment alloc] init]; + replyAttachment.mid = replyToMessage.identifier; + replyAttachment.message = replyToMessage; + + message->_media = @[ replyToMessage ]; + } + + return message; +} + ++ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId +{ + return [self _temporaryNewMessageForMediaAttachment:sticker userId:userId]; +} + ++ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId +{ + return [self _temporaryNewMessageForMediaAttachment:location userId:userId]; +} + ++ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId +{ + TGBridgeDocumentMediaAttachment *document = [[TGBridgeDocumentMediaAttachment alloc] init]; + document.isAudio = true; + document.isVoice = true; + document.localDocumentId = localAudioId; + document.duration = duration; + + return [self _temporaryNewMessageForMediaAttachment:document userId:userId]; +} + ++ (instancetype)_temporaryNewMessageForMediaAttachment:(TGBridgeMediaAttachment *)attachment userId:(int32_t)userId +{ + int64_t randomId = 0; + arc4random_buf(&randomId, 8); + + int32_t messageId = 0; + arc4random_buf(&messageId, 4); + + TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; + message->_identifier = -abs(messageId); + message->_fromUid = userId; + message->_unread = true; + message->_outgoing = true; + message->_deliveryState = TGBridgeMessageDeliveryStatePending; + message->_date = [[NSDate date] timeIntervalSince1970]; + + message->_media = @[ attachment ]; + + return message; +} + +@end + + +@implementation TGBridgeTextCheckingResult + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.h b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.h new file mode 100644 index 0000000000..669ff3b21d --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.h @@ -0,0 +1,59 @@ +#import + +@interface TGBridgeMessageEntity : NSObject + +@property (nonatomic, assign) NSRange range; + ++ (instancetype)entitityWithRange:(NSRange)range; + +@end + + +@interface TGBridgeMessageEntityUrl : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityEmail : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityTextUrl : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityMention : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityHashtag : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityBotCommand : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityBold : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityItalic : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityCode : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityPre : TGBridgeMessageEntity + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m new file mode 100644 index 0000000000..8d639a9468 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m @@ -0,0 +1,83 @@ +#import "TGBridgeMessageEntities.h" + +NSString *const TGBridgeMessageEntityLocationKey = @"loc"; +NSString *const TGBridgeMessageEntityLengthKey = @"len"; + +@implementation TGBridgeMessageEntity + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + NSUInteger loc = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLocationKey]; + NSUInteger len = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLengthKey]; + _range = NSMakeRange(loc, len); + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInteger:self.range.location forKey:TGBridgeMessageEntityLocationKey]; + [aCoder encodeInteger:self.range.length forKey:TGBridgeMessageEntityLengthKey]; +} + ++ (instancetype)entitityWithRange:(NSRange)range +{ + TGBridgeMessageEntity *entity = [[self alloc] init]; + entity.range = range; + return entity; +} + +@end + + +@implementation TGBridgeMessageEntityUrl + +@end + + +@implementation TGBridgeMessageEntityEmail + +@end + + +@implementation TGBridgeMessageEntityTextUrl + +@end + + +@implementation TGBridgeMessageEntityMention + +@end + + +@implementation TGBridgeMessageEntityHashtag + +@end + + +@implementation TGBridgeMessageEntityBotCommand + +@end + + +@implementation TGBridgeMessageEntityBold + +@end + + +@implementation TGBridgeMessageEntityItalic + +@end + + +@implementation TGBridgeMessageEntityCode + +@end + + +@implementation TGBridgeMessageEntityPre + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.h new file mode 100644 index 0000000000..8f32fd038c --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.h @@ -0,0 +1,8 @@ +#import +#import + +@interface TGBridgeMessageEntitiesAttachment : TGBridgeMediaAttachment + +@property (nonatomic, strong) NSArray *entities; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m new file mode 100644 index 0000000000..fb5cb3b7d7 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m @@ -0,0 +1,30 @@ +#import "TGBridgeMessageEntitiesAttachment.h" + +const NSInteger TGBridgeMessageEntitiesAttachmentType = 0x8c2e3cce; + +NSString *const TGBridgeMessageEntitiesKey = @"entities"; + +@implementation TGBridgeMessageEntitiesAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _entities = [aDecoder decodeObjectForKey:TGBridgeMessageEntitiesKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.entities forKey:TGBridgeMessageEntitiesKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeMessageEntitiesAttachmentType; +} + + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgePeerIdAdapter.h b/submodules/WatchCommon/Host/Sources/TGBridgePeerIdAdapter.h new file mode 100644 index 0000000000..c5f0ac92fc --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgePeerIdAdapter.h @@ -0,0 +1,52 @@ +#ifndef Telegraph_TGPeerIdAdapter_h +#define Telegraph_TGPeerIdAdapter_h + +static inline bool TGPeerIdIsGroup(int64_t peerId) { + return peerId < 0 && peerId > INT32_MIN; +} + +static inline bool TGPeerIdIsUser(int64_t peerId) { + return peerId > 0 && peerId < INT32_MAX; +} + +static inline bool TGPeerIdIsChannel(int64_t peerId) { + return peerId <= ((int64_t)INT32_MIN) * 2 && peerId > ((int64_t)INT32_MIN) * 3; +} + +static inline bool TGPeerIdIsAdminLog(int64_t peerId) { + return peerId <= ((int64_t)INT32_MIN) * 3 && peerId > ((int64_t)INT32_MIN) * 4; +} + +static inline int32_t TGChannelIdFromPeerId(int64_t peerId) { + if (TGPeerIdIsChannel(peerId)) { + return (int32_t)(((int64_t)INT32_MIN) * 2 - peerId); + } else { + return 0; + } +} + +static inline int64_t TGPeerIdFromChannelId(int32_t channelId) { + return ((int64_t)INT32_MIN) * 2 - ((int64_t)channelId); +} + +static inline int64_t TGPeerIdFromAdminLogId(int32_t channelId) { + return ((int64_t)INT32_MIN) * 3 - ((int64_t)channelId); +} + +static inline int64_t TGPeerIdFromGroupId(int32_t groupId) { + return -groupId; +} + +static inline int32_t TGGroupIdFromPeerId(int64_t peerId) { + if (TGPeerIdIsGroup(peerId)) { + return (int32_t)-peerId; + } else { + return 0; + } +} + +static inline bool TGPeerIdIsSecretChat(int64_t peerId) { + return peerId <= ((int64_t)INT32_MIN) && peerId > ((int64_t)INT32_MIN) * 2; +} + +#endif diff --git a/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.h b/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.h new file mode 100644 index 0000000000..fce723cecb --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.h @@ -0,0 +1,7 @@ +#import + +@interface TGBridgePeerNotificationSettings : NSObject + +@property (nonatomic, assign) int32_t muteFor; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m b/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m new file mode 100644 index 0000000000..662c2f4ca4 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m @@ -0,0 +1,22 @@ +#import "TGBridgePeerNotificationSettings.h" + +NSString *const TGBridgePeerNotificationSettingsMuteForKey = @"muteFor"; + +@implementation TGBridgePeerNotificationSettings + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _muteFor = [aDecoder decodeInt32ForKey:TGBridgePeerNotificationSettingsMuteForKey]; + } + return self; +} + +- (void)encodeWithCoder:(nonnull NSCoder *)aCoder +{ + [aCoder encodeInt32:self.muteFor forKey:TGBridgePeerNotificationSettingsMuteForKey]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.h new file mode 100644 index 0000000000..ef8a600aee --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.h @@ -0,0 +1,9 @@ +#import + +@class TGBridgeBotReplyMarkup; + +@interface TGBridgeReplyMarkupMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, strong) TGBridgeBotReplyMarkup *replyMarkup; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m new file mode 100644 index 0000000000..1299c900cd --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m @@ -0,0 +1,29 @@ +#import "TGBridgeReplyMarkupMediaAttachment.h" + +const NSInteger TGBridgeReplyMarkupMediaAttachmentType = 0x5678acc1; + +NSString *const TGBridgeReplyMarkupMediaMessageKey = @"replyMarkup"; + +@implementation TGBridgeReplyMarkupMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _replyMarkup = [aDecoder decodeObjectForKey:TGBridgeReplyMarkupMediaMessageKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.replyMarkup forKey:TGBridgeReplyMarkupMediaMessageKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeReplyMarkupMediaAttachmentType; +} + +@end \ No newline at end of file diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.h new file mode 100644 index 0000000000..50353e214d --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.h @@ -0,0 +1,10 @@ +#import + +@class TGBridgeMessage; + +@interface TGBridgeReplyMessageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int32_t mid; +@property (nonatomic, strong) TGBridgeMessage *message; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m new file mode 100644 index 0000000000..fbc2456919 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m @@ -0,0 +1,33 @@ +#import "TGBridgeReplyMessageMediaAttachment.h" +#import "TGBridgeMessage.h" + +const NSInteger TGBridgeReplyMessageMediaAttachmentType = 414002169; + +NSString *const TGBridgeReplyMessageMediaMidKey = @"mid"; +NSString *const TGBridgeReplyMessageMediaMessageKey = @"message"; + +@implementation TGBridgeReplyMessageMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _mid = [aDecoder decodeInt32ForKey:TGBridgeReplyMessageMediaMidKey]; + _message = [aDecoder decodeObjectForKey:TGBridgeReplyMessageMediaMessageKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.mid forKey:TGBridgeReplyMessageMediaMidKey]; + [aCoder encodeObject:self.message forKey:TGBridgeReplyMessageMediaMessageKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeReplyMessageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.h b/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.h new file mode 100644 index 0000000000..609c2d019d --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.h @@ -0,0 +1,268 @@ +#import + +#import +#import + +@class TGBridgeMediaAttachment; +@class TGBridgeImageMediaAttachment; +@class TGBridgeVideoMediaAttachment; +@class TGBridgeDocumentMediaAttachment; +@class TGBridgeLocationMediaAttachment; +@class TGBridgePeerNotificationSettings; + +@interface TGBridgeAudioSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) TGBridgeMediaAttachment *attachment; +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; + +- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId; + +@end + + +@interface TGBridgeAudioSentSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t conversationId; + +- (instancetype)initWithConversationId:(int64_t)conversationId; + +@end + + +@interface TGBridgeChatListSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int32_t limit; + +- (instancetype)initWithLimit:(int32_t)limit; + +@end + + +@interface TGBridgeChatMessageListSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t atMessageId; +@property (nonatomic, readonly) NSUInteger rangeMessageCount; + +- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount; + +@end + + +@interface TGBridgeChatMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; + +@end + + +@interface TGBridgeReadChatMessageListSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; + +@end + + +@interface TGBridgeContactsSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) NSString *query; + +- (instancetype)initWithQuery:(NSString *)query; + +@end + + +@interface TGBridgeConversationSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end + + +@interface TGBridgeNearbyVenuesSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) CLLocationCoordinate2D coordinate; +@property (nonatomic, readonly) int32_t limit; + +- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit; + +@end + + +@interface TGBridgeMediaThumbnailSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; +@property (nonatomic, readonly) CGSize size; +@property (nonatomic, readonly) bool notification; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification; + +@end + + +typedef NS_ENUM(NSUInteger, TGBridgeMediaAvatarType) { + TGBridgeMediaAvatarTypeSmall, + TGBridgeMediaAvatarTypeProfile, + TGBridgeMediaAvatarTypeLarge +}; + +@interface TGBridgeMediaAvatarSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) NSString *url; +@property (nonatomic, readonly) TGBridgeMediaAvatarType type; + +- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type; + +@end + +@interface TGBridgeMediaStickerSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t documentId; +@property (nonatomic, readonly) int64_t stickerPackId; +@property (nonatomic, readonly) int64_t stickerPackAccessHash; +@property (nonatomic, readonly) int64_t stickerPeerId; +@property (nonatomic, readonly) int32_t stickerMessageId; +@property (nonatomic, readonly) bool notification; +@property (nonatomic, readonly) CGSize size; + +- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size; + +@end + + +@interface TGBridgePeerSettingsSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end + +@interface TGBridgePeerUpdateNotificationSettingsSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end + +@interface TGBridgePeerUpdateBlockStatusSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) bool blocked; + +- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked; + +@end + + +@interface TGBridgeRemoteSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; +@property (nonatomic, readonly) int32_t type; +@property (nonatomic, readonly) bool autoPlay; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay; + +@end + + +@interface TGBridgeSendTextMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) NSString *text; +@property (nonatomic, readonly) int32_t replyToMid; + +- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid; + +@end + + +@interface TGBridgeSendStickerMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) TGBridgeDocumentMediaAttachment *document; +@property (nonatomic, readonly) int32_t replyToMid; + +- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid; + +@end + + +@interface TGBridgeSendLocationMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) TGBridgeLocationMediaAttachment *location; +@property (nonatomic, readonly) int32_t replyToMid; + +- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid; + +@end + + +@interface TGBridgeSendForwardedMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; +@property (nonatomic, readonly) int64_t targetPeerId; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId; + +@end + + +@interface TGBridgeStateSubscription : TGBridgeSubscription + +@end + + +@interface TGBridgeStickerPacksSubscription : TGBridgeSubscription + +@end + + +@interface TGBridgeRecentStickersSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int32_t limit; + +- (instancetype)initWithLimit:(int32_t)limit; + +@end + + +@interface TGBridgeUserInfoSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) NSArray *userIds; + +- (instancetype)initWithUserIds:(NSArray *)userIds; + +@end + + +@interface TGBridgeUserBotInfoSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) NSArray *userIds; + +- (instancetype)initWithUserIds:(NSArray *)userIds; + +@end + +@interface TGBridgeBotReplyMarkupSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m b/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m new file mode 100644 index 0000000000..8c4b50d224 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m @@ -0,0 +1,1048 @@ +#import "TGBridgeSubscriptions.h" + +#import + +#import "TGBridgeImageMediaAttachment.h" +#import "TGBridgeVideoMediaAttachment.h" +#import "TGBridgeDocumentMediaAttachment.h" +#import "TGBridgeLocationMediaAttachment.h" +#import "TGBridgePeerNotificationSettings.h" + +NSString *const TGBridgeAudioSubscriptionName = @"media.audio"; +NSString *const TGBridgeAudioSubscriptionAttachmentKey = @"attachment"; +NSString *const TGBridgeAudioSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeAudioSubscriptionMessageIdKey = @"messageId"; + +@implementation TGBridgeAudioSubscription + +- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId +{ + self = [super init]; + if (self != nil) + { + _attachment = attachment; + _peerId = peerId; + _messageId = messageId; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.attachment forKey:TGBridgeAudioSubscriptionAttachmentKey]; + [aCoder encodeInt64:self.peerId forKey:TGBridgeAudioSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeAudioSubscriptionMessageIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _attachment = [aDecoder decodeObjectForKey:TGBridgeAudioSubscriptionAttachmentKey]; + _peerId = [aDecoder decodeInt64ForKey:TGBridgeAudioSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeAudioSubscriptionMessageIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeAudioSubscriptionName; +} + +@end + + +NSString *const TGBridgeAudioSentSubscriptionName = @"media.audioSent"; +NSString *const TGBridgeAudioSentSubscriptionConversationIdKey = @"conversationId"; + +@implementation TGBridgeAudioSentSubscription + +- (instancetype)initWithConversationId:(int64_t)conversationId +{ + self = [super init]; + if (self != nil) + { + _conversationId = conversationId; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.conversationId forKey:TGBridgeAudioSentSubscriptionConversationIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _conversationId = [aDecoder decodeInt64ForKey:TGBridgeAudioSentSubscriptionConversationIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeAudioSentSubscriptionName; +} + +@end + + +NSString *const TGBridgeChatListSubscriptionName = @"chats.chatList"; +NSString *const TGBridgeChatListSubscriptionLimitKey = @"limit"; + +@implementation TGBridgeChatListSubscription + +- (instancetype)initWithLimit:(int32_t)limit +{ + self = [super init]; + if (self != nil) + { + _limit = limit; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.limit forKey:TGBridgeChatListSubscriptionLimitKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _limit = [aDecoder decodeInt32ForKey:TGBridgeChatListSubscriptionLimitKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeChatListSubscriptionName; +} + +@end + + +NSString *const TGBridgeChatMessageListSubscriptionName = @"chats.chatMessageList"; +NSString *const TGBridgeChatMessageListSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeChatMessageListSubscriptionAtMessageIdKey = @"atMessageId"; +NSString *const TGBridgeChatMessageListSubscriptionRangeMessageCountKey = @"rangeMessageCount"; + +@implementation TGBridgeChatMessageListSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _atMessageId = messageId; + _rangeMessageCount = rangeMessageCount; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.atMessageId forKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; + [aCoder encodeInt32:(int32_t)self.rangeMessageCount forKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; + _atMessageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; + _rangeMessageCount = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeChatMessageListSubscriptionName; +} + +@end + + +NSString *const TGBridgeChatMessageSubscriptionName = @"chats.message"; +NSString *const TGBridgeChatMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeChatMessageSubscriptionMessageIdKey = @"mid"; + +@implementation TGBridgeChatMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + } + return self; +} + +- (bool)synchronous +{ + return true; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeChatMessageSubscriptionMessageIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageSubscriptionMessageIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeChatMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeReadChatMessageListSubscriptionName = @"chats.readChatMessageList"; +NSString *const TGBridgeReadChatMessageListSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeReadChatMessageListSubscriptionMessageIdKey = @"mid"; + +@implementation TGBridgeReadChatMessageListSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeReadChatMessageListSubscriptionName; +} + +@end + + +NSString *const TGBridgeContactsSubscriptionName = @"contacts.search"; +NSString *const TGBridgeContactsSubscriptionQueryKey = @"query"; + +@implementation TGBridgeContactsSubscription + +- (instancetype)initWithQuery:(NSString *)query +{ + self = [super init]; + if (self != nil) + { + _query = query; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.query forKey:TGBridgeContactsSubscriptionQueryKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _query = [aDecoder decodeObjectForKey:TGBridgeContactsSubscriptionQueryKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeContactsSubscriptionName; +} + +@end + + +NSString *const TGBridgeConversationSubscriptionName = @"chats.conversation"; +NSString *const TGBridgeConversationSubscriptionPeerIdKey = @"peerId"; + +@implementation TGBridgeConversationSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeConversationSubscriptionPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeConversationSubscriptionPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeConversationSubscriptionName; +} + +@end + + +NSString *const TGBridgeNearbyVenuesSubscriptionName = @"location.nearbyVenues"; +NSString *const TGBridgeNearbyVenuesSubscriptionLatitudeKey = @"lat"; +NSString *const TGBridgeNearbyVenuesSubscriptionLongitudeKey = @"lon"; +NSString *const TGBridgeNearbyVenuesSubscriptionLimitKey = @"limit"; + +@implementation TGBridgeNearbyVenuesSubscription + +- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit +{ + self = [super init]; + if (self != nil) + { + _coordinate = coordinate; + _limit = limit; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey]; + [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]; + [aCoder encodeInt32:self.limit forKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey], + [aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]); + _limit = [aDecoder decodeInt32ForKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeNearbyVenuesSubscriptionName; +} + +@end + + +NSString *const TGBridgeMediaThumbnailSubscriptionName = @"media.thumbnail"; +NSString *const TGBridgeMediaThumbnailPeerIdKey = @"peerId"; +NSString *const TGBridgeMediaThumbnailMessageIdKey = @"mid"; +NSString *const TGBridgeMediaThumbnailSizeKey = @"size"; +NSString *const TGBridgeMediaThumbnailNotificationKey = @"notification"; + +@implementation TGBridgeMediaThumbnailSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + _size = size; + _notification = notification; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaThumbnailPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeMediaThumbnailMessageIdKey]; + [aCoder encodeCGSize:self.size forKey:TGBridgeMediaThumbnailSizeKey]; + [aCoder encodeBool:self.notification forKey:TGBridgeMediaThumbnailNotificationKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaThumbnailPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeMediaThumbnailMessageIdKey]; + _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaThumbnailSizeKey]; + _notification = [aDecoder decodeBoolForKey:TGBridgeMediaThumbnailNotificationKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeMediaThumbnailSubscriptionName; +} + +@end + + +NSString *const TGBridgeMediaAvatarSubscriptionName = @"media.avatar"; +NSString *const TGBridgeMediaAvatarPeerIdKey = @"peerId"; +NSString *const TGBridgeMediaAvatarUrlKey = @"url"; +NSString *const TGBridgeMediaAvatarTypeKey = @"type"; + +@implementation TGBridgeMediaAvatarSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _url = url; + _type = type; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaAvatarPeerIdKey]; + [aCoder encodeObject:self.url forKey:TGBridgeMediaAvatarUrlKey]; + [aCoder encodeInt32:self.type forKey:TGBridgeMediaAvatarTypeKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaAvatarPeerIdKey]; + _url = [aDecoder decodeObjectForKey:TGBridgeMediaAvatarUrlKey]; + _type = [aDecoder decodeInt32ForKey:TGBridgeMediaAvatarTypeKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeMediaAvatarSubscriptionName; +} + +@end + + +NSString *const TGBridgeMediaStickerSubscriptionName = @"media.sticker"; +NSString *const TGBridgeMediaStickerDocumentIdKey = @"documentId"; +NSString *const TGBridgeMediaStickerPackIdKey = @"packId"; +NSString *const TGBridgeMediaStickerPackAccessHashKey = @"accessHash"; +NSString *const TGBridgeMediaStickerPeerIdKey = @"peerId"; +NSString *const TGBridgeMediaStickerMessageIdKey = @"mid"; +NSString *const TGBridgeMediaStickerNotificationKey = @"notification"; +NSString *const TGBridgeMediaStickerSizeKey = @"size"; + +@implementation TGBridgeMediaStickerSubscription + +- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size +{ + self = [super init]; + if (self != nil) + { + _documentId = documentId; + _stickerPackId = stickerPackId; + _stickerPackAccessHash = stickerPackAccessHash; + _stickerPeerId = stickerPeerId; + _stickerMessageId = stickerMessageId; + _notification = notification; + _size = size; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.documentId forKey:TGBridgeMediaStickerDocumentIdKey]; + [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeMediaStickerPackIdKey]; + [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeMediaStickerPackAccessHashKey]; + [aCoder encodeInt64:self.stickerPeerId forKey:TGBridgeMediaStickerPeerIdKey]; + [aCoder encodeInt32:self.stickerMessageId forKey:TGBridgeMediaStickerMessageIdKey]; + [aCoder encodeBool:self.notification forKey:TGBridgeMediaStickerNotificationKey]; + [aCoder encodeCGSize:self.size forKey:TGBridgeMediaStickerSizeKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _documentId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerDocumentIdKey]; + _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackIdKey]; + _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackAccessHashKey]; + _stickerPeerId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPeerIdKey]; + _stickerMessageId = [aDecoder decodeInt32ForKey:TGBridgeMediaStickerMessageIdKey]; + _notification = [aDecoder decodeBoolForKey:TGBridgeMediaStickerNotificationKey]; + _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaStickerSizeKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeMediaStickerSubscriptionName; +} + +@end + + +NSString *const TGBridgePeerSettingsSubscriptionName = @"peer.settings"; +NSString *const TGBridgePeerSettingsSubscriptionPeerIdKey = @"peerId"; + +@implementation TGBridgePeerSettingsSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgePeerSettingsSubscriptionName; +} + +@end + + +NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionName = @"peer.notificationSettings"; +NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey = @"peerId"; + +@implementation TGBridgePeerUpdateNotificationSettingsSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgePeerUpdateNotificationSettingsSubscriptionName; +} + +@end + + +NSString *const TGBridgePeerUpdateBlockStatusSubscriptionName = @"peer.updateBlocked"; +NSString *const TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey = @"blocked"; + +@implementation TGBridgePeerUpdateBlockStatusSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _blocked = blocked; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; + [aCoder encodeBool:self.blocked forKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; + _blocked = [aDecoder decodeBoolForKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgePeerUpdateBlockStatusSubscriptionName; +} + +@end + + +NSString *const TGBridgeRemoteSubscriptionName = @"remote.request"; +NSString *const TGBridgeRemotePeerIdKey = @"peerId"; +NSString *const TGBridgeRemoteMessageIdKey = @"mid"; +NSString *const TGBridgeRemoteTypeKey = @"mediaType"; +NSString *const TGBridgeRemoteAutoPlayKey = @"autoPlay"; + +@implementation TGBridgeRemoteSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + _type = type; + _autoPlay = autoPlay; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeRemotePeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeRemoteMessageIdKey]; + [aCoder encodeInt32:self.type forKey:TGBridgeRemoteTypeKey]; + [aCoder encodeBool:self.autoPlay forKey:TGBridgeRemoteAutoPlayKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeRemotePeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeRemoteMessageIdKey]; + _type = [aDecoder decodeInt32ForKey:TGBridgeRemoteTypeKey]; + _autoPlay = [aDecoder decodeBoolForKey:TGBridgeRemoteAutoPlayKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeRemoteSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendTextMessageSubscriptionName = @"sendMessage.text"; +NSString *const TGBridgeSendTextMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendTextMessageSubscriptionTextKey = @"text"; +NSString *const TGBridgeSendTextMessageSubscriptionReplyToMidKey = @"replyToMid"; + +@implementation TGBridgeSendTextMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _text = text; + _replyToMid = replyToMid; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; + [aCoder encodeObject:self.text forKey:TGBridgeSendTextMessageSubscriptionTextKey]; + [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; + _text = [aDecoder decodeObjectForKey:TGBridgeSendTextMessageSubscriptionTextKey]; + _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendTextMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendStickerMessageSubscriptionName = @"sendMessage.sticker"; +NSString *const TGBridgeSendStickerMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendStickerMessageSubscriptionDocumentKey = @"document"; +NSString *const TGBridgeSendStickerMessageSubscriptionReplyToMidKey = @"replyToMid"; + +@implementation TGBridgeSendStickerMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _document = document; + _replyToMid = replyToMid; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; + [aCoder encodeObject:self.document forKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; + [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; +} + + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; + _document = [aDecoder decodeObjectForKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; + _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendStickerMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendLocationMessageSubscriptionName = @"sendMessage.location"; +NSString *const TGBridgeSendLocationMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendLocationMessageSubscriptionLocationKey = @"location"; +NSString *const TGBridgeSendLocationMessageSubscriptionReplyToMidKey = @"replyToMid"; + +@implementation TGBridgeSendLocationMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _location = location; + _replyToMid = replyToMid; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; + [aCoder encodeObject:self.location forKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; + [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; + _location = [aDecoder decodeObjectForKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; + _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendLocationMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendForwardedMessageSubscriptionName = @"sendMessage.forward"; +NSString *const TGBridgeSendForwardedMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendForwardedMessageSubscriptionMidKey = @"mid"; +NSString *const TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey = @"targetPeerId"; + +@implementation TGBridgeSendForwardedMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + _targetPeerId = targetPeerId; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; + [aCoder encodeInt64:self.targetPeerId forKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; + _targetPeerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendForwardedMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeStateSubscriptionName = @"state.syncState"; + +@implementation TGBridgeStateSubscription + +- (bool)dropPreviouslyQueued +{ + return true; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeStateSubscriptionName; +} + +@end + + +NSString *const TGBridgeStickerPacksSubscriptionName = @"stickers.packs"; + +@implementation TGBridgeStickerPacksSubscription + ++ (NSString *)subscriptionName +{ + return TGBridgeStickerPacksSubscriptionName; +} + +@end + + +NSString *const TGBridgeRecentStickersSubscriptionName = @"stickers.recent"; +NSString *const TGBridgeRecentStickersSubscriptionLimitKey = @"limit"; + +@implementation TGBridgeRecentStickersSubscription + +- (instancetype)initWithLimit:(int32_t)limit +{ + self = [super init]; + if (self != nil) + { + _limit = limit; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.limit forKey:TGBridgeRecentStickersSubscriptionLimitKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _limit = [aDecoder decodeInt32ForKey:TGBridgeRecentStickersSubscriptionLimitKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeRecentStickersSubscriptionName; +} + +@end + + +NSString *const TGBridgeUserInfoSubscriptionName = @"user.userInfo"; +NSString *const TGBridgeUserInfoSubscriptionUserIdsKey = @"uids"; + +@implementation TGBridgeUserInfoSubscription + +- (instancetype)initWithUserIds:(NSArray *)userIds +{ + self = [super init]; + if (self != nil) + { + _userIds = userIds; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.userIds forKey:TGBridgeUserInfoSubscriptionUserIdsKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _userIds = [aDecoder decodeObjectForKey:TGBridgeUserInfoSubscriptionUserIdsKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeUserInfoSubscriptionName; +} + +@end + + +NSString *const TGBridgeUserBotInfoSubscriptionName = @"user.botInfo"; +NSString *const TGBridgeUserBotInfoSubscriptionUserIdsKey = @"uids"; + +@implementation TGBridgeUserBotInfoSubscription + +- (instancetype)initWithUserIds:(NSArray *)userIds +{ + self = [super init]; + if (self != nil) + { + _userIds = userIds; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.userIds forKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _userIds = [aDecoder decodeObjectForKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeUserBotInfoSubscriptionName; +} + +@end + + +NSString *const TGBridgeBotReplyMarkupSubscriptionName = @"user.botReplyMarkup"; +NSString *const TGBridgeBotReplyMarkupPeerIdKey = @"peerId"; + +@implementation TGBridgeBotReplyMarkupSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeBotReplyMarkupPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeBotReplyMarkupPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeBotReplyMarkupSubscriptionName; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.h new file mode 100644 index 0000000000..5b81ed1f57 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.h @@ -0,0 +1,9 @@ +#import + +@interface TGBridgeUnsupportedMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, strong) NSString *compactTitle; +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *subtitle; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m new file mode 100644 index 0000000000..b51e422fd1 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m @@ -0,0 +1,35 @@ +#import "TGBridgeUnsupportedMediaAttachment.h" + +const NSInteger TGBridgeUnsupportedMediaAttachmentType = 0x3837BEF7; + +NSString *const TGBridgeUnsupportedMediaCompactTitleKey = @"compactTitle"; +NSString *const TGBridgeUnsupportedMediaTitleKey = @"title"; +NSString *const TGBridgeUnsupportedMediaSubtitleKey = @"subtitle"; + +@implementation TGBridgeUnsupportedMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _compactTitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaCompactTitleKey]; + _title = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaTitleKey]; + _subtitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaSubtitleKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.compactTitle forKey:TGBridgeUnsupportedMediaCompactTitleKey]; + [aCoder encodeObject:self.title forKey:TGBridgeUnsupportedMediaTitleKey]; + [aCoder encodeObject:self.subtitle forKey:TGBridgeUnsupportedMediaSubtitleKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeUnsupportedMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeUser.h b/submodules/WatchCommon/Host/Sources/TGBridgeUser.h new file mode 100644 index 0000000000..632d934db4 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeUser.h @@ -0,0 +1,59 @@ +#import + +@class TGBridgeBotInfo; +@class TGBridgeUserChange; + +typedef NS_ENUM(NSUInteger, TGBridgeUserKind) { + TGBridgeUserKindGeneric, + TGBridgeUserKindBot, + TGBridgeUserKindSmartBot +}; + +typedef NS_ENUM(NSUInteger, TGBridgeBotKind) { + TGBridgeBotKindGeneric, + TGBridgeBotKindPrivate +}; + +@interface TGBridgeUser : NSObject + +@property (nonatomic) int64_t identifier; +@property (nonatomic, strong) NSString *firstName; +@property (nonatomic, strong) NSString *lastName; +@property (nonatomic, strong) NSString *userName; +@property (nonatomic, strong) NSString *phoneNumber; +@property (nonatomic, strong) NSString *prettyPhoneNumber; +@property (nonatomic, strong) NSString *about; + +@property (nonatomic) bool online; +@property (nonatomic) NSTimeInterval lastSeen; + +@property (nonatomic, strong) NSString *photoSmall; +@property (nonatomic, strong) NSString *photoBig; + +@property (nonatomic) TGBridgeUserKind kind; +@property (nonatomic) TGBridgeBotKind botKind; +@property (nonatomic) int32_t botVersion; + +@property (nonatomic) bool verified; + +@property (nonatomic) int32_t userVersion; + +- (NSString *)displayName; +- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user; +- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change; + +- (bool)isBot; + +@end + + +@interface TGBridgeUserChange : NSObject + +@property (nonatomic, readonly) int32_t userIdentifier; +@property (nonatomic, readonly) NSDictionary *fields; + +- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields; + +@end + +extern NSString *const TGBridgeUsersDictionaryKey; diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeUser.m b/submodules/WatchCommon/Host/Sources/TGBridgeUser.m new file mode 100644 index 0000000000..4c0fed8d97 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeUser.m @@ -0,0 +1,286 @@ +#import "TGBridgeUser.h" +//#import "TGWatchCommon.h" +#import "TGBridgeBotInfo.h" + +//#import "../Extension/TGStringUtils.h" + +NSString *const TGBridgeUserIdentifierKey = @"identifier"; +NSString *const TGBridgeUserFirstNameKey = @"firstName"; +NSString *const TGBridgeUserLastNameKey = @"lastName"; +NSString *const TGBridgeUserUserNameKey = @"userName"; +NSString *const TGBridgeUserPhoneNumberKey = @"phoneNumber"; +NSString *const TGBridgeUserPrettyPhoneNumberKey = @"prettyPhoneNumber"; +NSString *const TGBridgeUserOnlineKey = @"online"; +NSString *const TGBridgeUserLastSeenKey = @"lastSeen"; +NSString *const TGBridgeUserPhotoSmallKey = @"photoSmall"; +NSString *const TGBridgeUserPhotoBigKey = @"photoBig"; +NSString *const TGBridgeUserKindKey = @"kind"; +NSString *const TGBridgeUserBotKindKey = @"botKind"; +NSString *const TGBridgeUserBotVersionKey = @"botVersion"; +NSString *const TGBridgeUserVerifiedKey = @"verified"; +NSString *const TGBridgeUserAboutKey = @"about"; +NSString *const TGBridgeUserVersionKey = @"version"; + +NSString *const TGBridgeUsersDictionaryKey = @"users"; + +@implementation TGBridgeUser + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeUserIdentifierKey]; + _firstName = [aDecoder decodeObjectForKey:TGBridgeUserFirstNameKey]; + _lastName = [aDecoder decodeObjectForKey:TGBridgeUserLastNameKey]; + _userName = [aDecoder decodeObjectForKey:TGBridgeUserUserNameKey]; + _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPhoneNumberKey]; + _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPrettyPhoneNumberKey]; + _online = [aDecoder decodeBoolForKey:TGBridgeUserOnlineKey]; + _lastSeen = [aDecoder decodeDoubleForKey:TGBridgeUserLastSeenKey]; + _photoSmall = [aDecoder decodeObjectForKey:TGBridgeUserPhotoSmallKey]; + _photoBig = [aDecoder decodeObjectForKey:TGBridgeUserPhotoBigKey]; + _kind = [aDecoder decodeInt32ForKey:TGBridgeUserKindKey]; + _botKind = [aDecoder decodeInt32ForKey:TGBridgeUserBotKindKey]; + _botVersion = [aDecoder decodeInt32ForKey:TGBridgeUserBotVersionKey]; + _verified = [aDecoder decodeBoolForKey:TGBridgeUserVerifiedKey]; + _about = [aDecoder decodeObjectForKey:TGBridgeUserAboutKey]; + _userVersion = [aDecoder decodeInt32ForKey:TGBridgeUserVersionKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeUserIdentifierKey]; + [aCoder encodeObject:self.firstName forKey:TGBridgeUserFirstNameKey]; + [aCoder encodeObject:self.lastName forKey:TGBridgeUserLastNameKey]; + [aCoder encodeObject:self.userName forKey:TGBridgeUserUserNameKey]; + [aCoder encodeObject:self.phoneNumber forKey:TGBridgeUserPhoneNumberKey]; + [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeUserPrettyPhoneNumberKey]; + [aCoder encodeBool:self.online forKey:TGBridgeUserOnlineKey]; + [aCoder encodeDouble:self.lastSeen forKey:TGBridgeUserLastSeenKey]; + [aCoder encodeObject:self.photoSmall forKey:TGBridgeUserPhotoSmallKey]; + [aCoder encodeObject:self.photoBig forKey:TGBridgeUserPhotoBigKey]; + [aCoder encodeInt32:self.kind forKey:TGBridgeUserKindKey]; + [aCoder encodeInt32:self.botKind forKey:TGBridgeUserBotKindKey]; + [aCoder encodeInt32:self.botVersion forKey:TGBridgeUserBotVersionKey]; + [aCoder encodeBool:self.verified forKey:TGBridgeUserVerifiedKey]; + [aCoder encodeObject:self.about forKey:TGBridgeUserAboutKey]; + [aCoder encodeInt32:self.userVersion forKey:TGBridgeUserVersionKey]; +} + +- (instancetype)copyWithZone:(NSZone *)__unused zone +{ + TGBridgeUser *user = [[TGBridgeUser alloc] init]; + user->_identifier = self.identifier; + user->_firstName = self.firstName; + user->_lastName = self.lastName; + user->_userName = self.userName; + user->_phoneNumber = self.phoneNumber; + user->_prettyPhoneNumber = self.prettyPhoneNumber; + user->_online = self.online; + user->_lastSeen = self.lastSeen; + user->_photoSmall = self.photoSmall; + user->_photoBig = self.photoBig; + user->_kind = self.kind; + user->_botKind = self.botKind; + user->_botVersion = self.botVersion; + user->_verified = self.verified; + user->_about = self.about; + user->_userVersion = self.userVersion; + + return user; +} + +- (NSString *)displayName +{ + NSString *firstName = self.firstName; + NSString *lastName = self.lastName; + + if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) + { + return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; + } + else if (firstName != nil && firstName.length != 0) + return firstName; + else if (lastName != nil && lastName.length != 0) + return lastName; + + return @""; +} + +- (bool)isBot +{ + return (self.kind == TGBridgeUserKindBot || self.kind ==TGBridgeUserKindSmartBot); +} + +- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user +{ + NSMutableDictionary *fields = [[NSMutableDictionary alloc] init]; + + [self _compareString:self.firstName oldString:user.firstName dict:fields key:TGBridgeUserFirstNameKey]; + [self _compareString:self.lastName oldString:user.lastName dict:fields key:TGBridgeUserLastNameKey]; + [self _compareString:self.userName oldString:user.userName dict:fields key:TGBridgeUserUserNameKey]; + [self _compareString:self.phoneNumber oldString:user.phoneNumber dict:fields key:TGBridgeUserPhoneNumberKey]; + [self _compareString:self.prettyPhoneNumber oldString:user.prettyPhoneNumber dict:fields key:TGBridgeUserPrettyPhoneNumberKey]; + + if (self.online != user.online) + fields[TGBridgeUserOnlineKey] = @(self.online); + + if (fabs(self.lastSeen - user.lastSeen) > DBL_EPSILON) + fields[TGBridgeUserLastSeenKey] = @(self.lastSeen); + + [self _compareString:self.photoSmall oldString:user.photoSmall dict:fields key:TGBridgeUserPhotoSmallKey]; + [self _compareString:self.photoBig oldString:user.photoBig dict:fields key:TGBridgeUserPhotoBigKey]; + + if (self.kind != user.kind) + fields[TGBridgeUserKindKey] = @(self.kind); + + if (self.botKind != user.botKind) + fields[TGBridgeUserBotKindKey] = @(self.botKind); + + if (self.botVersion != user.botVersion) + fields[TGBridgeUserBotVersionKey] = @(self.botVersion); + + if (self.verified != user.verified) + fields[TGBridgeUserVerifiedKey] = @(self.verified); + + if (fields.count == 0) + return nil; + + return [[TGBridgeUserChange alloc] initWithUserIdentifier:user.identifier fields:fields]; +} + +- (void)_compareString:(NSString *)newString oldString:(NSString *)oldString dict:(NSMutableDictionary *)dict key:(NSString *)key +{ + if (newString == nil && oldString == nil) + return; + + if (![newString isEqualToString:oldString]) + { + if (newString == nil) + dict[key] = [NSNull null]; + else + dict[key] = newString; + } +} + +- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change +{ + if (change.userIdentifier != self.identifier) + return nil; + + TGBridgeUser *user = [self copy]; + + NSString *firstNameChange = change.fields[TGBridgeUserFirstNameKey]; + if (firstNameChange != nil) + user->_firstName = [self _stringForFieldChange:firstNameChange]; + + NSString *lastNameChange = change.fields[TGBridgeUserLastNameKey]; + if (lastNameChange != nil) + user->_lastName = [self _stringForFieldChange:lastNameChange]; + + NSString *userNameChange = change.fields[TGBridgeUserUserNameKey]; + if (userNameChange != nil) + user->_userName = [self _stringForFieldChange:userNameChange]; + + NSString *phoneNumberChange = change.fields[TGBridgeUserPhoneNumberKey]; + if (phoneNumberChange != nil) + user->_phoneNumber = [self _stringForFieldChange:phoneNumberChange]; + + NSString *prettyPhoneNumberChange = change.fields[TGBridgeUserPrettyPhoneNumberKey]; + if (prettyPhoneNumberChange != nil) + user->_prettyPhoneNumber = [self _stringForFieldChange:prettyPhoneNumberChange]; + + NSNumber *onlineChange = change.fields[TGBridgeUserOnlineKey]; + if (onlineChange != nil) + user->_online = [onlineChange boolValue]; + + NSNumber *lastSeenChange = change.fields[TGBridgeUserLastSeenKey]; + if (lastSeenChange != nil) + user->_lastSeen = [lastSeenChange doubleValue]; + + NSString *photoSmallChange = change.fields[TGBridgeUserPhotoSmallKey]; + if (photoSmallChange != nil) + user->_photoSmall = [self _stringForFieldChange:photoSmallChange]; + + NSString *photoBigChange = change.fields[TGBridgeUserPhotoBigKey]; + if (photoBigChange != nil) + user->_photoBig = [self _stringForFieldChange:photoBigChange]; + + NSNumber *kindChange = change.fields[TGBridgeUserKindKey]; + if (kindChange != nil) + user->_kind = (int32_t)[kindChange intValue]; + + NSNumber *botKindChange = change.fields[TGBridgeUserBotKindKey]; + if (botKindChange != nil) + user->_botKind = (int32_t)[botKindChange intValue]; + + NSNumber *botVersionChange = change.fields[TGBridgeUserBotVersionKey]; + if (botVersionChange != nil) + user->_botVersion = (int32_t)[botVersionChange intValue]; + + NSNumber *verifiedChange = change.fields[TGBridgeUserVerifiedKey]; + if (verifiedChange != nil) + user->_verified = [verifiedChange boolValue]; + + return user; +} + +- (NSString *)_stringForFieldChange:(NSString *)fieldChange +{ + if ([fieldChange isKindOfClass:[NSNull class]]) + return nil; + + return fieldChange; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + return self.identifier == ((TGBridgeUser *)object).identifier; +} + +@end + + +NSString *const TGBridgeUserChangeIdentifierKey = @"userIdentifier"; +NSString *const TGBridgeUserChangeFieldsKey = @"fields"; + +@implementation TGBridgeUserChange + +- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields +{ + self = [super init]; + if (self != nil) + { + _userIdentifier = userIdentifier; + _fields = fields; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _userIdentifier = [aDecoder decodeInt32ForKey:TGBridgeUserChangeIdentifierKey]; + _fields = [aDecoder decodeObjectForKey:TGBridgeUserChangeFieldsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.userIdentifier forKey:TGBridgeUserChangeIdentifierKey]; + [aCoder encodeObject:self.fields forKey:TGBridgeUserChangeFieldsKey]; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.h new file mode 100644 index 0000000000..8d54027ce4 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.h @@ -0,0 +1,12 @@ +#import + +#import + +@interface TGBridgeVideoMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t videoId; +@property (nonatomic, assign) int32_t duration; +@property (nonatomic, assign) CGSize dimensions; +@property (nonatomic, assign) bool round; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m new file mode 100644 index 0000000000..66fe867996 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m @@ -0,0 +1,39 @@ +#import "TGBridgeVideoMediaAttachment.h" +#import + +const NSInteger TGBridgeVideoMediaAttachmentType = 0x338EAA20; + +NSString *const TGBridgeVideoMediaVideoIdKey = @"videoId"; +NSString *const TGBridgeVideoMediaDimensionsKey = @"dimensions"; +NSString *const TGBridgeVideoMediaDurationKey = @"duration"; +NSString *const TGBridgeVideoMediaRoundKey = @"round"; + +@implementation TGBridgeVideoMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _videoId = [aDecoder decodeInt64ForKey:TGBridgeVideoMediaVideoIdKey]; + _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeVideoMediaDimensionsKey]; + _duration = [aDecoder decodeInt32ForKey:TGBridgeVideoMediaDurationKey]; + _round = [aDecoder decodeBoolForKey:TGBridgeVideoMediaRoundKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.videoId forKey:TGBridgeVideoMediaVideoIdKey]; + [aCoder encodeCGSize:self.dimensions forKey:TGBridgeVideoMediaDimensionsKey]; + [aCoder encodeInt32:self.duration forKey:TGBridgeVideoMediaDurationKey]; + [aCoder encodeBool:self.round forKey:TGBridgeVideoMediaRoundKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeVideoMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.h b/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.h new file mode 100644 index 0000000000..6e20ee3f96 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.h @@ -0,0 +1,23 @@ +#import + +#import + +@class TGBridgeImageMediaAttachment; + +@interface TGBridgeWebPageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t webPageId; +@property (nonatomic, strong) NSString *url; +@property (nonatomic, strong) NSString *displayUrl; +@property (nonatomic, strong) NSString *pageType; +@property (nonatomic, strong) NSString *siteName; +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *pageDescription; +@property (nonatomic, strong) TGBridgeImageMediaAttachment *photo; +@property (nonatomic, strong) NSString *embedUrl; +@property (nonatomic, strong) NSString *embedType; +@property (nonatomic, assign) CGSize embedSize; +@property (nonatomic, strong) NSNumber *duration; +@property (nonatomic, strong) NSString *author; + +@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m new file mode 100644 index 0000000000..3983075d69 --- /dev/null +++ b/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m @@ -0,0 +1,65 @@ +#import "TGBridgeWebPageMediaAttachment.h" +#import "TGBridgeImageMediaAttachment.h" +#import + +const NSInteger TGBridgeWebPageMediaAttachmentType = 0x584197af; + +NSString *const TGBridgeWebPageMediaWebPageIdKey = @"webPageId"; +NSString *const TGBridgeWebPageMediaUrlKey = @"url"; +NSString *const TGBridgeWebPageMediaDisplayUrlKey = @"displayUrl"; +NSString *const TGBridgeWebPageMediaPageTypeKey = @"pageType"; +NSString *const TGBridgeWebPageMediaSiteNameKey = @"siteName"; +NSString *const TGBridgeWebPageMediaTitleKey = @"title"; +NSString *const TGBridgeWebPageMediaPageDescriptionKey = @"pageDescription"; +NSString *const TGBridgeWebPageMediaPhotoKey = @"photo"; +NSString *const TGBridgeWebPageMediaEmbedUrlKey = @"embedUrl"; +NSString *const TGBridgeWebPageMediaEmbedTypeKey = @"embedType"; +NSString *const TGBridgeWebPageMediaEmbedSizeKey = @"embedSize"; +NSString *const TGBridgeWebPageMediaDurationKey = @"duration"; +NSString *const TGBridgeWebPageMediaAuthorKey = @"author"; + +@implementation TGBridgeWebPageMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _webPageId = [aDecoder decodeInt64ForKey:TGBridgeWebPageMediaWebPageIdKey]; + _url = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaUrlKey]; + _displayUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDisplayUrlKey]; + _pageType = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageTypeKey]; + _siteName = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaSiteNameKey]; + _title = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaTitleKey]; + _pageDescription = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageDescriptionKey]; + _photo = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPhotoKey]; + _embedUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaEmbedUrlKey]; + _embedSize = [aDecoder decodeCGSizeForKey:TGBridgeWebPageMediaEmbedSizeKey]; + _duration = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDurationKey]; + _author = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaAuthorKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.webPageId forKey:TGBridgeWebPageMediaWebPageIdKey]; + [aCoder encodeObject:self.url forKey:TGBridgeWebPageMediaUrlKey]; + [aCoder encodeObject:self.displayUrl forKey:TGBridgeWebPageMediaDisplayUrlKey]; + [aCoder encodeObject:self.pageType forKey:TGBridgeWebPageMediaPageTypeKey]; + [aCoder encodeObject:self.siteName forKey:TGBridgeWebPageMediaSiteNameKey]; + [aCoder encodeObject:self.title forKey:TGBridgeWebPageMediaTitleKey]; + [aCoder encodeObject:self.pageDescription forKey:TGBridgeWebPageMediaPageDescriptionKey]; + [aCoder encodeObject:self.photo forKey:TGBridgeWebPageMediaPhotoKey]; + [aCoder encodeObject:self.embedUrl forKey:TGBridgeWebPageMediaEmbedUrlKey]; + [aCoder encodeCGSize:self.embedSize forKey:TGBridgeWebPageMediaEmbedSizeKey]; + [aCoder encodeObject:self.duration forKey:TGBridgeWebPageMediaDurationKey]; + [aCoder encodeObject:self.author forKey:TGBridgeWebPageMediaAuthorKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeWebPageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Sources/WatchCommon.h b/submodules/WatchCommon/Host/Sources/WatchCommon.h similarity index 100% rename from submodules/WatchCommon/Sources/WatchCommon.h rename to submodules/WatchCommon/Host/Sources/WatchCommon.h diff --git a/submodules/WatchCommon/Watch/BUCK b/submodules/WatchCommon/Watch/BUCK new file mode 100644 index 0000000000..77c74a57f5 --- /dev/null +++ b/submodules/WatchCommon/Watch/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WatchCommonWatch", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/WatchCommon.h", "Sources/WatchCommon.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/WatchCommon.h", "Sources/WatchCommon.h"]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h new file mode 100644 index 0000000000..5b2f13e4f4 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h @@ -0,0 +1,36 @@ +#import + +typedef NS_ENUM(NSUInteger, TGBridgeMessageAction) { + TGBridgeMessageActionNone = 0, + TGBridgeMessageActionChatEditTitle = 1, + TGBridgeMessageActionChatAddMember = 2, + TGBridgeMessageActionChatDeleteMember = 3, + TGBridgeMessageActionCreateChat = 4, + TGBridgeMessageActionChatEditPhoto = 5, + TGBridgeMessageActionContactRequest = 6, + TGBridgeMessageActionAcceptContactRequest = 7, + TGBridgeMessageActionContactRegistered = 8, + TGBridgeMessageActionUserChangedPhoto = 9, + TGBridgeMessageActionEncryptedChatRequest = 10, + TGBridgeMessageActionEncryptedChatAccept = 11, + TGBridgeMessageActionEncryptedChatDecline = 12, + TGBridgeMessageActionEncryptedChatMessageLifetime = 13, + TGBridgeMessageActionEncryptedChatScreenshot = 14, + TGBridgeMessageActionEncryptedChatMessageScreenshot = 15, + TGBridgeMessageActionCreateBroadcastList = 16, + TGBridgeMessageActionJoinedByLink = 17, + TGBridgeMessageActionChannelCreated = 18, + TGBridgeMessageActionChannelCommentsStatusChanged = 19, + TGBridgeMessageActionChannelInviter = 20, + TGBridgeMessageActionGroupMigratedTo = 21, + TGBridgeMessageActionGroupDeactivated = 22, + TGBridgeMessageActionGroupActivated = 23, + TGBridgeMessageActionChannelMigratedFrom = 24 +}; + +@interface TGBridgeActionMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) TGBridgeMessageAction actionType; +@property (nonatomic, strong) NSDictionary *actionData; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m new file mode 100644 index 0000000000..763cf8a1eb --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m @@ -0,0 +1,33 @@ +#import "TGBridgeActionMediaAttachment.h" +#import "TGBridgeImageMediaAttachment.h" + +const NSInteger TGBridgeActionMediaAttachmentType = 0x1167E28B; + +NSString *const TGBridgeActionMediaTypeKey = @"actionType"; +NSString *const TGBridgeActionMediaDataKey = @"actionData"; + +@implementation TGBridgeActionMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _actionType = (TGBridgeMessageAction)[aDecoder decodeInt32ForKey:TGBridgeActionMediaTypeKey]; + _actionData = [aDecoder decodeObjectForKey:TGBridgeActionMediaDataKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.actionType forKey:TGBridgeActionMediaTypeKey]; + [aCoder encodeObject:self.actionData forKey:TGBridgeActionMediaDataKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeActionMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h new file mode 100644 index 0000000000..d6bdcd9716 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h @@ -0,0 +1,16 @@ +#import + +@interface TGBridgeAudioMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t audioId; +@property (nonatomic, assign) int64_t accessHash; +@property (nonatomic, assign) int32_t datacenterId; + +@property (nonatomic, assign) int64_t localAudioId; + +@property (nonatomic, assign) int32_t duration; +@property (nonatomic, assign) int32_t fileSize; + +- (int64_t)identifier; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m new file mode 100644 index 0000000000..3f4096a897 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m @@ -0,0 +1,65 @@ +#import "TGBridgeAudioMediaAttachment.h" + +const NSInteger TGBridgeAudioMediaAttachmentType = 0x3A0E7A32; + +NSString *const TGBridgeAudioMediaAudioIdKey = @"audioId"; +NSString *const TGBridgeAudioMediaAccessHashKey = @"accessHash"; +NSString *const TGBridgeAudioMediaLocalIdKey = @"localId"; +NSString *const TGBridgeAudioMediaDatacenterIdKey = @"datacenterId"; +NSString *const TGBridgeAudioMediaDurationKey = @"duration"; +NSString *const TGBridgeAudioMediaFileSizeKey = @"fileSize"; + +@implementation TGBridgeAudioMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _audioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAudioIdKey]; + _accessHash = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAccessHashKey]; + _localAudioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaLocalIdKey]; + _datacenterId = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDatacenterIdKey]; + _duration = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDurationKey]; + _fileSize = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaFileSizeKey]; + } + return self; +} + +- (void)encodeWithCoder:(nonnull NSCoder *)aCoder +{ + [aCoder encodeInt64:self.audioId forKey:TGBridgeAudioMediaAudioIdKey]; + [aCoder encodeInt64:self.accessHash forKey:TGBridgeAudioMediaAccessHashKey]; + [aCoder encodeInt64:self.localAudioId forKey:TGBridgeAudioMediaLocalIdKey]; + [aCoder encodeInt32:self.datacenterId forKey:TGBridgeAudioMediaDatacenterIdKey]; + [aCoder encodeInt32:self.duration forKey:TGBridgeAudioMediaDurationKey]; + [aCoder encodeInt32:self.fileSize forKey:TGBridgeAudioMediaFileSizeKey]; +} + +- (int64_t)identifier +{ + if (self.localAudioId != 0) + return self.localAudioId; + + return self.audioId; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeAudioMediaAttachment *audio = (TGBridgeAudioMediaAttachment *)object; + + return (self.audioId == audio.audioId || self.localAudioId == audio.localAudioId); +} + ++ (NSInteger)mediaType +{ + return TGBridgeAudioMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h b/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h new file mode 100644 index 0000000000..fe6f72e1a0 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h @@ -0,0 +1,12 @@ +#import + +@interface TGBridgeBotCommandInfo : NSObject +{ + NSString *_command; + NSString *_commandDescription; +} + +@property (nonatomic, readonly) NSString *command; +@property (nonatomic, readonly) NSString *commandDescription; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m b/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m new file mode 100644 index 0000000000..0f1e005861 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m @@ -0,0 +1,25 @@ +#import "TGBridgeBotCommandInfo.h" + +NSString *const TGBridgeBotCommandInfoCommandKey = @"command"; +NSString *const TGBridgeBotCommandDescriptionKey = @"commandDescription"; + +@implementation TGBridgeBotCommandInfo + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _command = [aDecoder decodeObjectForKey:TGBridgeBotCommandInfoCommandKey]; + _commandDescription = [aDecoder decodeObjectForKey:TGBridgeBotCommandDescriptionKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.command forKey:TGBridgeBotCommandInfoCommandKey]; + [aCoder encodeObject:self.commandDescription forKey:TGBridgeBotCommandDescriptionKey]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h b/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h new file mode 100644 index 0000000000..0dafae5cef --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h @@ -0,0 +1,12 @@ +#import + +@interface TGBridgeBotInfo : NSObject +{ + NSString *_shortDescription; + NSArray *_commandList; +} + +@property (nonatomic, readonly) NSString *shortDescription; +@property (nonatomic, readonly) NSArray *commandList; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m b/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m new file mode 100644 index 0000000000..996abb3a95 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m @@ -0,0 +1,25 @@ +#import "TGBridgeBotInfo.h" + +NSString *const TGBridgeBotInfoShortDescriptionKey = @"shortDescription"; +NSString *const TGBridgeBotInfoCommandListKey = @"commandList"; + +@implementation TGBridgeBotInfo + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _shortDescription = [aDecoder decodeObjectForKey:TGBridgeBotInfoShortDescriptionKey]; + _commandList = [aDecoder decodeObjectForKey:TGBridgeBotInfoCommandListKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.shortDescription forKey:TGBridgeBotInfoShortDescriptionKey]; + [aCoder encodeObject:self.commandList forKey:TGBridgeBotInfoCommandListKey]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChat.h b/submodules/WatchCommon/Watch/Sources/TGBridgeChat.h new file mode 100644 index 0000000000..d326e18fcf --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeChat.h @@ -0,0 +1,46 @@ +#import +#import + +@interface TGBridgeChat : NSObject + +@property (nonatomic) int64_t identifier; +@property (nonatomic) NSTimeInterval date; +@property (nonatomic) int32_t fromUid; +@property (nonatomic, strong) NSString *text; + +@property (nonatomic, strong) NSArray *media; + +@property (nonatomic) bool outgoing; +@property (nonatomic) bool unread; +@property (nonatomic) bool deliveryError; +@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; + +@property (nonatomic) int32_t unreadCount; + +@property (nonatomic) bool isBroadcast; + +@property (nonatomic, strong) NSString *groupTitle; +@property (nonatomic, strong) NSString *groupPhotoSmall; +@property (nonatomic, strong) NSString *groupPhotoBig; + +@property (nonatomic) bool isGroup; +@property (nonatomic) bool hasLeftGroup; +@property (nonatomic) bool isKickedFromGroup; + +@property (nonatomic) bool isChannel; +@property (nonatomic) bool isChannelGroup; + +@property (nonatomic, strong) NSString *userName; +@property (nonatomic, strong) NSString *about; +@property (nonatomic) bool verified; + +@property (nonatomic) int32_t participantsCount; +@property (nonatomic, strong) NSArray *participants; + +- (NSIndexSet *)involvedUserIds; +- (NSIndexSet *)participantsUserIds; + +@end + +extern NSString *const TGBridgeChatKey; +extern NSString *const TGBridgeChatsArrayKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChat.m b/submodules/WatchCommon/Watch/Sources/TGBridgeChat.m new file mode 100644 index 0000000000..4ea9552f08 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeChat.m @@ -0,0 +1,139 @@ +#import "TGBridgeChat.h" +#import "TGBridgePeerIdAdapter.h" + +NSString *const TGBridgeChatIdentifierKey = @"identifier"; +NSString *const TGBridgeChatDateKey = @"date"; +NSString *const TGBridgeChatFromUidKey = @"fromUid"; +NSString *const TGBridgeChatTextKey = @"text"; +NSString *const TGBridgeChatOutgoingKey = @"outgoing"; +NSString *const TGBridgeChatUnreadKey = @"unread"; +NSString *const TGBridgeChatMediaKey = @"media"; +NSString *const TGBridgeChatUnreadCountKey = @"unreadCount"; +NSString *const TGBridgeChatGroupTitleKey = @"groupTitle"; +NSString *const TGBridgeChatGroupPhotoSmallKey = @"groupPhotoSmall"; +NSString *const TGBridgeChatGroupPhotoBigKey = @"groupPhotoBig"; +NSString *const TGBridgeChatIsGroupKey = @"isGroup"; +NSString *const TGBridgeChatHasLeftGroupKey = @"hasLeftGroup"; +NSString *const TGBridgeChatIsKickedFromGroupKey = @"isKickedFromGroup"; +NSString *const TGBridgeChatIsChannelKey = @"isChannel"; +NSString *const TGBridgeChatIsChannelGroupKey = @"isChannelGroup"; +NSString *const TGBridgeChatUserNameKey = @"userName"; +NSString *const TGBridgeChatAboutKey = @"about"; +NSString *const TGBridgeChatVerifiedKey = @"verified"; +NSString *const TGBridgeChatGroupParticipantsCountKey = @"participantsCount"; +NSString *const TGBridgeChatGroupParticipantsKey = @"participants"; +NSString *const TGBridgeChatDeliveryStateKey = @"deliveryState"; +NSString *const TGBridgeChatDeliveryErrorKey = @"deliveryError"; + +NSString *const TGBridgeChatKey = @"chat"; +NSString *const TGBridgeChatsArrayKey = @"chats"; + +@implementation TGBridgeChat + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeChatIdentifierKey]; + _date = [aDecoder decodeDoubleForKey:TGBridgeChatDateKey]; + _fromUid = [aDecoder decodeInt32ForKey:TGBridgeChatFromUidKey]; + _text = [aDecoder decodeObjectForKey:TGBridgeChatTextKey]; + _outgoing = [aDecoder decodeBoolForKey:TGBridgeChatOutgoingKey]; + _unread = [aDecoder decodeBoolForKey:TGBridgeChatUnreadKey]; + _unreadCount = [aDecoder decodeInt32ForKey:TGBridgeChatUnreadCountKey]; + _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeChatDeliveryStateKey]; + _deliveryError = [aDecoder decodeBoolForKey:TGBridgeChatDeliveryErrorKey]; + _media = [aDecoder decodeObjectForKey:TGBridgeChatMediaKey]; + + _groupTitle = [aDecoder decodeObjectForKey:TGBridgeChatGroupTitleKey]; + _groupPhotoSmall = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoSmallKey]; + _groupPhotoBig = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoBigKey]; + _isGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsGroupKey]; + _hasLeftGroup = [aDecoder decodeBoolForKey:TGBridgeChatHasLeftGroupKey]; + _isKickedFromGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsKickedFromGroupKey]; + _isChannel = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelKey]; + _isChannelGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelGroupKey]; + _userName = [aDecoder decodeObjectForKey:TGBridgeChatUserNameKey]; + _about = [aDecoder decodeObjectForKey:TGBridgeChatAboutKey]; + _verified = [aDecoder decodeBoolForKey:TGBridgeChatVerifiedKey]; + _participantsCount = [aDecoder decodeInt32ForKey:TGBridgeChatGroupParticipantsCountKey]; + _participants = [aDecoder decodeObjectForKey:TGBridgeChatGroupParticipantsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeChatIdentifierKey]; + [aCoder encodeDouble:self.date forKey:TGBridgeChatDateKey]; + [aCoder encodeInt32:self.fromUid forKey:TGBridgeChatFromUidKey]; + [aCoder encodeObject:self.text forKey:TGBridgeChatTextKey]; + [aCoder encodeBool:self.outgoing forKey:TGBridgeChatOutgoingKey]; + [aCoder encodeBool:self.unread forKey:TGBridgeChatUnreadKey]; + [aCoder encodeInt32:self.unreadCount forKey:TGBridgeChatUnreadCountKey]; + [aCoder encodeInt32:self.deliveryState forKey:TGBridgeChatDeliveryStateKey]; + [aCoder encodeBool:self.deliveryError forKey:TGBridgeChatDeliveryErrorKey]; + [aCoder encodeObject:self.media forKey:TGBridgeChatMediaKey]; + + [aCoder encodeObject:self.groupTitle forKey:TGBridgeChatGroupTitleKey]; + [aCoder encodeObject:self.groupPhotoSmall forKey:TGBridgeChatGroupPhotoSmallKey]; + [aCoder encodeObject:self.groupPhotoBig forKey:TGBridgeChatGroupPhotoBigKey]; + + [aCoder encodeBool:self.isGroup forKey:TGBridgeChatIsGroupKey]; + [aCoder encodeBool:self.hasLeftGroup forKey:TGBridgeChatHasLeftGroupKey]; + [aCoder encodeBool:self.isKickedFromGroup forKey:TGBridgeChatIsKickedFromGroupKey]; + + [aCoder encodeBool:self.isChannel forKey:TGBridgeChatIsChannelKey]; + [aCoder encodeBool:self.isChannelGroup forKey:TGBridgeChatIsChannelGroupKey]; + [aCoder encodeObject:self.userName forKey:TGBridgeChatUserNameKey]; + [aCoder encodeObject:self.about forKey:TGBridgeChatAboutKey]; + [aCoder encodeBool:self.verified forKey:TGBridgeChatVerifiedKey]; + + [aCoder encodeInt32:self.participantsCount forKey:TGBridgeChatGroupParticipantsCountKey]; + [aCoder encodeObject:self.participants forKey:TGBridgeChatGroupParticipantsKey]; +} + +- (NSIndexSet *)involvedUserIds +{ + NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; + if (!self.isGroup && !self.isChannel && self.identifier != 0) + [userIds addIndex:(int32_t)self.identifier]; + if ((!self.isChannel || self.isChannelGroup) && self.fromUid != self.identifier && self.fromUid != 0 && !TGPeerIdIsChannel(self.fromUid) && self.fromUid > 0) + [userIds addIndex:(int32_t)self.fromUid]; + + for (TGBridgeMediaAttachment *attachment in self.media) + { + if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) + { + TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; + if (actionAttachment.actionData[@"uid"] != nil) + [userIds addIndex:[actionAttachment.actionData[@"uid"] integerValue]]; + } + } + + return userIds; +} + +- (NSIndexSet *)participantsUserIds +{ + NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; + + for (NSNumber *uid in self.participants) + [userIds addIndex:uid.unsignedIntegerValue]; + + return userIds; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + return self.identifier == ((TGBridgeChat *)object).identifier; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h b/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h new file mode 100644 index 0000000000..b185037e4d --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h @@ -0,0 +1,14 @@ +#import + +@class SSignal; + +@interface TGBridgeChatMessages : NSObject +{ + NSArray *_messages; +} + +@property (nonatomic, readonly) NSArray *messages; + +@end + +extern NSString *const TGBridgeChatMessageListViewKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m b/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m new file mode 100644 index 0000000000..c7b64e2c13 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m @@ -0,0 +1,27 @@ +#import "TGBridgeChatMessages.h" +#import "TGBridgeMessage.h" + +NSString *const TGBridgeChatMessageListViewMessagesKey = @"messages"; +NSString *const TGBridgeChatMessageListViewEarlierMessageIdKey = @"earlier"; +NSString *const TGBridgeChatMessageListViewLaterMessageIdKey = @"later"; + +NSString *const TGBridgeChatMessageListViewKey = @"messageListView"; + +@implementation TGBridgeChatMessages + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _messages = [aDecoder decodeObjectForKey:TGBridgeChatMessageListViewMessagesKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.messages forKey:TGBridgeChatMessageListViewMessagesKey]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h b/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h new file mode 100644 index 0000000000..fe0510c041 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h @@ -0,0 +1,95 @@ +#import + +extern NSString *const TGBridgeIncomingFileTypeKey; +extern NSString *const TGBridgeIncomingFileIdentifierKey; +extern NSString *const TGBridgeIncomingFileRandomIdKey; +extern NSString *const TGBridgeIncomingFilePeerIdKey; +extern NSString *const TGBridgeIncomingFileReplyToMidKey; + +extern NSString *const TGBridgeIncomingFileTypeAudio; +extern NSString *const TGBridgeIncomingFileTypeImage; + +@interface TGBridgeSubscription : NSObject + +@property (nonatomic, readonly) int64_t identifier; +@property (nonatomic, readonly, strong) NSString *name; + +@property (nonatomic, readonly) bool isOneTime; +@property (nonatomic, readonly) bool renewable; +@property (nonatomic, readonly) bool dropPreviouslyQueued; +@property (nonatomic, readonly) bool synchronous; + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder; +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder; + ++ (NSString *)subscriptionName; + +@end + + +@interface TGBridgeDisposal : NSObject + +@property (nonatomic, readonly) int64_t identifier; + +- (instancetype)initWithIdentifier:(int64_t)identifier; + +@end + + +@interface TGBridgeFile : NSObject + +@property (nonatomic, readonly, strong) NSData *data; +@property (nonatomic, readonly, strong) NSDictionary *metadata; + +- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata; + +@end + + +@interface TGBridgePing : NSObject + +@property (nonatomic, readonly) int32_t sessionId; + +- (instancetype)initWithSessionId:(int32_t)sessionId; + +@end + + +@interface TGBridgeSubscriptionListRequest : NSObject + +@property (nonatomic, readonly) int32_t sessionId; + +- (instancetype)initWithSessionId:(int32_t)sessionId; + +@end + + +@interface TGBridgeSubscriptionList : NSObject + +@property (nonatomic, readonly, strong) NSArray *subscriptions; + +- (instancetype)initWithArray:(NSArray *)array; + +@end + + +typedef NS_ENUM(int32_t, TGBridgeResponseType) { + TGBridgeResponseTypeUndefined, + TGBridgeResponseTypeNext, + TGBridgeResponseTypeFailed, + TGBridgeResponseTypeCompleted +}; + +@interface TGBridgeResponse : NSObject + +@property (nonatomic, readonly) int64_t subscriptionIdentifier; + +@property (nonatomic, readonly) TGBridgeResponseType type; +@property (nonatomic, readonly, strong) id next; +@property (nonatomic, readonly, strong) NSString *error; + ++ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription; ++ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription; ++ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m b/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m new file mode 100644 index 0000000000..ae0cf5300b --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m @@ -0,0 +1,295 @@ +#import "TGBridgeCommon.h" + +NSString *const TGBridgeIncomingFileTypeKey = @"type"; +NSString *const TGBridgeIncomingFileIdentifierKey = @"identifier"; +NSString *const TGBridgeIncomingFileRandomIdKey = @"randomId"; +NSString *const TGBridgeIncomingFilePeerIdKey = @"peerId"; +NSString *const TGBridgeIncomingFileReplyToMidKey = @"replyToMid"; +NSString *const TGBridgeIncomingFileTypeAudio = @"audio"; +NSString *const TGBridgeIncomingFileTypeImage = @"image"; + +NSString *const TGBridgeResponseSubscriptionIdentifier = @"identifier"; +NSString *const TGBridgeResponseTypeKey = @"type"; +NSString *const TGBridgeResponseNextKey = @"next"; +NSString *const TGBridgeResponseErrorKey = @"error"; + +@implementation TGBridgeResponse + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _subscriptionIdentifier = [aDecoder decodeInt64ForKey:TGBridgeResponseSubscriptionIdentifier]; + _type = [aDecoder decodeInt32ForKey:TGBridgeResponseTypeKey]; + _next = [aDecoder decodeObjectForKey:TGBridgeResponseNextKey]; + _error = [aDecoder decodeObjectForKey:TGBridgeResponseErrorKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.subscriptionIdentifier forKey:TGBridgeResponseSubscriptionIdentifier]; + [aCoder encodeInt32:self.type forKey:TGBridgeResponseTypeKey]; + [aCoder encodeObject:self.next forKey:TGBridgeResponseNextKey]; + [aCoder encodeObject:self.error forKey:TGBridgeResponseErrorKey]; +} + ++ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription +{ + TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; + response->_subscriptionIdentifier = subscription.identifier; + response->_type = TGBridgeResponseTypeNext; + response->_next = next; + return response; +} + ++ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription +{ + TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; + response->_subscriptionIdentifier = subscription.identifier; + response->_type = TGBridgeResponseTypeFailed; + response->_error = error; + return response; +} + ++ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription +{ + TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; + response->_subscriptionIdentifier = subscription.identifier; + response->_type = TGBridgeResponseTypeCompleted; + return response; +} + +@end + + +NSString *const TGBridgeSubscriptionIdentifierKey = @"identifier"; +NSString *const TGBridgeSubscriptionNameKey = @"name"; +NSString *const TGBridgeSubscriptionParametersKey = @"parameters"; + +@implementation TGBridgeSubscription + +- (instancetype)init +{ + self = [super init]; + if (self != nil) + { + int64_t randomId = 0; + arc4random_buf(&randomId, sizeof(int64_t)); + _identifier = randomId; + _name = [[self class] subscriptionName]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; + _name = [aDecoder decodeObjectForKey:TGBridgeSubscriptionNameKey]; + [self _unserializeParametersWithCoder:aDecoder]; + } + return self; +} + +- (bool)synchronous +{ + return false; +} + +- (bool)renewable +{ + return true; +} + +- (bool)dropPreviouslyQueued +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)__unused aCoder +{ + +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)__unused aDecoder +{ + +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; + [aCoder encodeObject:self.name forKey:TGBridgeSubscriptionNameKey]; + [self _serializeParametersWithCoder:aCoder]; +} + ++ (NSString *)subscriptionName +{ + return nil; +} + +@end + + +@implementation TGBridgeDisposal + +- (instancetype)initWithIdentifier:(int64_t)identifier +{ + self = [super init]; + if (self != nil) + { + _identifier = identifier; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; +} + +@end + +NSString *const TGBridgeFileDataKey = @"data"; +NSString *const TGBridgeFileMetadataKey = @"metadata"; + +@implementation TGBridgeFile + +- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata +{ + self = [super init]; + if (self != nil) + { + _data = data; + _metadata = metadata; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _data = [aDecoder decodeObjectForKey:TGBridgeFileDataKey]; + _metadata = [aDecoder decodeObjectForKey:TGBridgeFileMetadataKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.data forKey:TGBridgeFileDataKey]; + [aCoder encodeObject:self.metadata forKey:TGBridgeFileMetadataKey]; +} + +@end + + +NSString *const TGBridgeSessionIdKey = @"sessionId"; + +@implementation TGBridgePing + +- (instancetype)initWithSessionId:(int32_t)sessionId +{ + self = [super init]; + if (self != nil) + { + _sessionId = sessionId; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; +} + +@end + + +@implementation TGBridgeSubscriptionListRequest + +- (instancetype)initWithSessionId:(int32_t)sessionId +{ + self = [super init]; + if (self != nil) + { + _sessionId = sessionId; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; +} + +@end + + +NSString *const TGBridgeSubscriptionListSubscriptionsKey = @"subscriptions"; + +@implementation TGBridgeSubscriptionList + +- (instancetype)initWithArray:(NSArray *)array +{ + self = [super init]; + if (self != nil) + { + _subscriptions = array; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _subscriptions = [aDecoder decodeObjectForKey:TGBridgeSubscriptionListSubscriptionsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.subscriptions forKey:TGBridgeSubscriptionListSubscriptionsKey]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h new file mode 100644 index 0000000000..a8531272d8 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h @@ -0,0 +1,13 @@ +#import + +@interface TGBridgeContactMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int32_t uid; +@property (nonatomic, strong) NSString *firstName; +@property (nonatomic, strong) NSString *lastName; +@property (nonatomic, strong) NSString *phoneNumber; +@property (nonatomic, strong) NSString *prettyPhoneNumber; + +- (NSString *)displayName; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m new file mode 100644 index 0000000000..4b2f482eaa --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m @@ -0,0 +1,60 @@ +#import "TGBridgeContactMediaAttachment.h" + +//#import "../Extension/TGStringUtils.h" + +const NSInteger TGBridgeContactMediaAttachmentType = 0xB90A5663; + +NSString *const TGBridgeContactMediaUidKey = @"uid"; +NSString *const TGBridgeContactMediaFirstNameKey = @"firstName"; +NSString *const TGBridgeContactMediaLastNameKey = @"lastName"; +NSString *const TGBridgeContactMediaPhoneNumberKey = @"phoneNumber"; +NSString *const TGBridgeContactMediaPrettyPhoneNumberKey = @"prettyPhoneNumber"; + +@implementation TGBridgeContactMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _uid = [aDecoder decodeInt32ForKey:TGBridgeContactMediaUidKey]; + _firstName = [aDecoder decodeObjectForKey:TGBridgeContactMediaFirstNameKey]; + _lastName = [aDecoder decodeObjectForKey:TGBridgeContactMediaLastNameKey]; + _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPhoneNumberKey]; + _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPrettyPhoneNumberKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.uid forKey:TGBridgeContactMediaUidKey]; + [aCoder encodeObject:self.firstName forKey:TGBridgeContactMediaFirstNameKey]; + [aCoder encodeObject:self.lastName forKey:TGBridgeContactMediaLastNameKey]; + [aCoder encodeObject:self.phoneNumber forKey:TGBridgeContactMediaPhoneNumberKey]; + [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeContactMediaPrettyPhoneNumberKey]; +} + +- (NSString *)displayName +{ + NSString *firstName = self.firstName; + NSString *lastName = self.lastName; + + if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) + { + return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; + } + else if (firstName != nil && firstName.length != 0) + return firstName; + else if (lastName != nil && lastName.length != 0) + return lastName; + + return @""; +} + ++ (NSInteger)mediaType +{ + return TGBridgeContactMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContext.h b/submodules/WatchCommon/Watch/Sources/TGBridgeContext.h new file mode 100644 index 0000000000..45225a04f6 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeContext.h @@ -0,0 +1,18 @@ +#import + +@interface TGBridgeContext : NSObject + +@property (nonatomic, readonly) bool authorized; +@property (nonatomic, readonly) int32_t userId; +@property (nonatomic, readonly) bool micAccessAllowed; +@property (nonatomic, readonly) NSDictionary *preheatData; +@property (nonatomic, readonly) NSInteger preheatVersion; + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; +- (NSDictionary *)dictionary; + +- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId; +- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data; +- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContext.m b/submodules/WatchCommon/Watch/Sources/TGBridgeContext.m new file mode 100644 index 0000000000..4b0600e2fc --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeContext.m @@ -0,0 +1,101 @@ +#import "TGBridgeContext.h" +#import "TGBridgeCommon.h" +//#import "TGWatchCommon.h" + +NSString *const TGBridgeContextAuthorized = @"authorized"; +NSString *const TGBridgeContextUserId = @"userId"; +NSString *const TGBridgeContextMicAccessAllowed = @"micAccessAllowed"; +NSString *const TGBridgeContextStartupData = @"startupData"; +NSString *const TGBridgeContextStartupDataVersion = @"version"; + +@implementation TGBridgeContext + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary +{ + self = [super init]; + if (self != nil) + { + _authorized = [dictionary[TGBridgeContextAuthorized] boolValue]; + _userId = (int32_t)[dictionary[TGBridgeContextUserId] intValue]; + _micAccessAllowed = [dictionary[TGBridgeContextMicAccessAllowed] boolValue]; + + if (dictionary[TGBridgeContextStartupData] != nil) { + _preheatData = [NSKeyedUnarchiver unarchiveObjectWithData:dictionary[TGBridgeContextStartupData]]; + _preheatVersion = [dictionary[TGBridgeContextStartupDataVersion] integerValue]; + } + } + return self; +} + +- (NSDictionary *)dictionary +{ + NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; + dictionary[TGBridgeContextAuthorized] = @(self.authorized); + dictionary[TGBridgeContextUserId] = @(self.userId); + dictionary[TGBridgeContextMicAccessAllowed] = @(self.micAccessAllowed); + if (self.preheatData != nil) { + dictionary[TGBridgeContextStartupData] = [NSKeyedArchiver archivedDataWithRootObject:self.preheatData]; + dictionary[TGBridgeContextStartupDataVersion] = @(self.preheatVersion); + } + return dictionary; +} + +- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId +{ + TGBridgeContext *context = [[TGBridgeContext alloc] init]; + context->_authorized = authorized; + context->_userId = peerId; + context->_micAccessAllowed = self.micAccessAllowed; + if (authorized) { + context->_preheatData = self.preheatData; + context->_preheatVersion = self.preheatVersion; + } + return context; +} + +- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data +{ + TGBridgeContext *context = [[TGBridgeContext alloc] init]; + context->_authorized = self.authorized; + context->_userId = self.userId; + context->_micAccessAllowed = self.micAccessAllowed; + if (data != nil) { + context->_preheatData = data; + context->_preheatVersion = (int32_t)[NSDate date].timeIntervalSinceReferenceDate; + } + return context; +} + +- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed +{ + TGBridgeContext *context = [[TGBridgeContext alloc] init]; + context->_authorized = self.authorized; + context->_userId = self.userId; + context->_micAccessAllowed = allowed; + context->_preheatData = self.preheatData; + context->_preheatVersion = self.preheatVersion; + return context; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return true; + + if (!object || ![object isKindOfClass:[self class]]) + return false; + + TGBridgeContext *context = (TGBridgeContext *)object; + if (context.authorized != self.authorized) + return false; + if (context.userId != self.userId) + return false; + if (context.micAccessAllowed != self.micAccessAllowed) + return false; + if (context.preheatVersion != self.preheatVersion) + return false; + + return true; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h new file mode 100644 index 0000000000..da96a2ba22 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h @@ -0,0 +1,23 @@ +#import + +@interface TGBridgeDocumentMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t documentId; +@property (nonatomic, assign) int64_t localDocumentId; +@property (nonatomic, assign) int32_t fileSize; + +@property (nonatomic, strong) NSString *fileName; +@property (nonatomic, strong) NSValue *imageSize; +@property (nonatomic, assign) bool isAnimated; +@property (nonatomic, assign) bool isSticker; +@property (nonatomic, strong) NSString *stickerAlt; +@property (nonatomic, assign) int64_t stickerPackId; +@property (nonatomic, assign) int64_t stickerPackAccessHash; + +@property (nonatomic, assign) bool isVoice; +@property (nonatomic, assign) bool isAudio; +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *performer; +@property (nonatomic, assign) int32_t duration; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m new file mode 100644 index 0000000000..8d492ae704 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m @@ -0,0 +1,84 @@ +#import "TGBridgeDocumentMediaAttachment.h" + +const NSInteger TGBridgeDocumentMediaAttachmentType = 0xE6C64318; + +NSString *const TGBridgeDocumentMediaDocumentIdKey = @"documentId"; +NSString *const TGBridgeDocumentMediaLocalDocumentIdKey = @"localDocumentId"; +NSString *const TGBridgeDocumentMediaFileSizeKey = @"fileSize"; +NSString *const TGBridgeDocumentMediaFileNameKey = @"fileName"; +NSString *const TGBridgeDocumentMediaImageSizeKey = @"imageSize"; +NSString *const TGBridgeDocumentMediaAnimatedKey = @"animated"; +NSString *const TGBridgeDocumentMediaStickerKey = @"sticker"; +NSString *const TGBridgeDocumentMediaStickerAltKey = @"stickerAlt"; +NSString *const TGBridgeDocumentMediaStickerPackIdKey = @"stickerPackId"; +NSString *const TGBridgeDocumentMediaStickerPackAccessHashKey = @"stickerPackAccessHash"; +NSString *const TGBridgeDocumentMediaAudioKey = @"audio"; +NSString *const TGBridgeDocumentMediaAudioTitleKey = @"title"; +NSString *const TGBridgeDocumentMediaAudioPerformerKey = @"performer"; +NSString *const TGBridgeDocumentMediaAudioVoice = @"voice"; +NSString *const TGBridgeDocumentMediaAudioDuration = @"duration"; + +@implementation TGBridgeDocumentMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _documentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaDocumentIdKey]; + _localDocumentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaLocalDocumentIdKey]; + _fileSize = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaFileSizeKey]; + _fileName = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaFileNameKey]; + _imageSize = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaImageSizeKey]; + _isAnimated = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAnimatedKey]; + _isSticker = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaStickerKey]; + _stickerAlt = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaStickerAltKey]; + _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackIdKey]; + _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; + _isAudio = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioKey]; + _title = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioTitleKey]; + _performer = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioPerformerKey]; + _isVoice = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioVoice]; + _duration = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaAudioDuration]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.documentId forKey:TGBridgeDocumentMediaDocumentIdKey]; + [aCoder encodeInt64:self.localDocumentId forKey:TGBridgeDocumentMediaLocalDocumentIdKey]; + [aCoder encodeInt32:self.fileSize forKey:TGBridgeDocumentMediaFileSizeKey]; + [aCoder encodeObject:self.fileName forKey:TGBridgeDocumentMediaFileNameKey]; + [aCoder encodeObject:self.imageSize forKey:TGBridgeDocumentMediaImageSizeKey]; + [aCoder encodeBool:self.isAnimated forKey:TGBridgeDocumentMediaAnimatedKey]; + [aCoder encodeBool:self.isSticker forKey:TGBridgeDocumentMediaStickerKey]; + [aCoder encodeObject:self.stickerAlt forKey:TGBridgeDocumentMediaStickerAltKey]; + [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeDocumentMediaStickerPackIdKey]; + [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; + [aCoder encodeBool:self.isAudio forKey:TGBridgeDocumentMediaAudioKey]; + [aCoder encodeObject:self.title forKey:TGBridgeDocumentMediaAudioTitleKey]; + [aCoder encodeObject:self.performer forKey:TGBridgeDocumentMediaAudioPerformerKey]; + [aCoder encodeBool:self.isVoice forKey:TGBridgeDocumentMediaAudioVoice]; + [aCoder encodeInt32:self.duration forKey:TGBridgeDocumentMediaAudioDuration]; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeDocumentMediaAttachment *document = (TGBridgeDocumentMediaAttachment *)object; + + return (self.localDocumentId == 0 && self.documentId == document.documentId) || (self.localDocumentId != 0 && self.localDocumentId == document.localDocumentId); +} + ++ (NSInteger)mediaType +{ + return TGBridgeDocumentMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h new file mode 100644 index 0000000000..7077334864 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h @@ -0,0 +1,9 @@ +#import + +@interface TGBridgeForwardedMessageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t peerId; +@property (nonatomic, assign) int32_t mid; +@property (nonatomic, assign) int32_t date; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m new file mode 100644 index 0000000000..169e261cff --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m @@ -0,0 +1,35 @@ +#import "TGBridgeForwardedMessageMediaAttachment.h" + +const NSInteger TGBridgeForwardedMessageMediaAttachmentType = 0xAA1050C1; + +NSString *const TGBridgeForwardedMessageMediaPeerIdKey = @"peerId"; +NSString *const TGBridgeForwardedMessageMediaMidKey = @"mid"; +NSString *const TGBridgeForwardedMessageMediaDateKey = @"date"; + +@implementation TGBridgeForwardedMessageMediaAttachment + +- (nullable instancetype)initWithCoder:(nonnull NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _peerId = [aDecoder decodeInt64ForKey:TGBridgeForwardedMessageMediaPeerIdKey]; + _mid = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaMidKey]; + _date = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaDateKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeForwardedMessageMediaPeerIdKey]; + [aCoder encodeInt32:self.mid forKey:TGBridgeForwardedMessageMediaMidKey]; + [aCoder encodeInt32:self.date forKey:TGBridgeForwardedMessageMediaDateKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeForwardedMessageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h new file mode 100644 index 0000000000..2a428dc15a --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h @@ -0,0 +1,10 @@ +#import + +#import + +@interface TGBridgeImageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t imageId; +@property (nonatomic, assign) CGSize dimensions; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m new file mode 100644 index 0000000000..8ab5ec7044 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m @@ -0,0 +1,33 @@ +#import "TGBridgeImageMediaAttachment.h" +#import + +const NSInteger TGBridgeImageMediaAttachmentType = 0x269BD8A8; + +NSString *const TGBridgeImageMediaImageIdKey = @"imageId"; +NSString *const TGBridgeImageMediaDimensionsKey = @"dimensions"; + +@implementation TGBridgeImageMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _imageId = [aDecoder decodeInt64ForKey:TGBridgeImageMediaImageIdKey]; + _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeImageMediaDimensionsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.imageId forKey:TGBridgeImageMediaImageIdKey]; + [aCoder encodeCGSize:self.dimensions forKey:TGBridgeImageMediaDimensionsKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeImageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h new file mode 100644 index 0000000000..bba943c11c --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h @@ -0,0 +1,19 @@ +#import + +@interface TGBridgeVenueAttachment : NSObject + +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *address; +@property (nonatomic, strong) NSString *provider; +@property (nonatomic, strong) NSString *venueId; + +@end + +@interface TGBridgeLocationMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) double latitude; +@property (nonatomic, assign) double longitude; + +@property (nonatomic, strong) TGBridgeVenueAttachment *venue; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m new file mode 100644 index 0000000000..f6762eb549 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m @@ -0,0 +1,95 @@ +#import "TGBridgeLocationMediaAttachment.h" + +const NSInteger TGBridgeLocationMediaAttachmentType = 0x0C9ED06E; + +NSString *const TGBridgeLocationMediaLatitudeKey = @"lat"; +NSString *const TGBridgeLocationMediaLongitudeKey = @"lon"; +NSString *const TGBridgeLocationMediaVenueKey = @"venue"; + +NSString *const TGBridgeVenueTitleKey = @"title"; +NSString *const TGBridgeVenueAddressKey = @"address"; +NSString *const TGBridgeVenueProviderKey = @"provider"; +NSString *const TGBridgeVenueIdKey = @"venueId"; + +@implementation TGBridgeVenueAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _title = [aDecoder decodeObjectForKey:TGBridgeVenueTitleKey]; + _address = [aDecoder decodeObjectForKey:TGBridgeVenueAddressKey]; + _provider = [aDecoder decodeObjectForKey:TGBridgeVenueProviderKey]; + _venueId = [aDecoder decodeObjectForKey:TGBridgeVenueIdKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.title forKey:TGBridgeVenueTitleKey]; + [aCoder encodeObject:self.address forKey:TGBridgeVenueAddressKey]; + [aCoder encodeObject:self.provider forKey:TGBridgeVenueProviderKey]; + [aCoder encodeObject:self.venueId forKey:TGBridgeVenueIdKey]; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeVenueAttachment *venue = (TGBridgeVenueAttachment *)object; + + return [self.title isEqualToString:venue.title] && [self.address isEqualToString:venue.address] && [self.provider isEqualToString:venue.provider] && [self.venueId isEqualToString:venue.venueId]; +} + +@end + + +@implementation TGBridgeLocationMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _latitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLatitudeKey]; + _longitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLongitudeKey]; + _venue = [aDecoder decodeObjectForKey:TGBridgeLocationMediaVenueKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeDouble:self.latitude forKey:TGBridgeLocationMediaLatitudeKey]; + [aCoder encodeDouble:self.longitude forKey:TGBridgeLocationMediaLongitudeKey]; + [aCoder encodeObject:self.venue forKey:TGBridgeLocationMediaVenueKey]; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeLocationMediaAttachment *location = (TGBridgeLocationMediaAttachment *)object; + + bool equalCoord = (fabs(self.latitude - location.latitude) < DBL_EPSILON && fabs(self.longitude - location.longitude) < DBL_EPSILON); + bool equalVenue = (self.venue == nil && location.venue == nil) || ([self.venue isEqual:location.venue]); + + return equalCoord || equalVenue; +} + ++ (NSInteger)mediaType +{ + return TGBridgeLocationMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h new file mode 100644 index 0000000000..c626f76f9c --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h @@ -0,0 +1,15 @@ +#import + +@class TGBridgeLocationMediaAttachment; + +@interface TGBridgeLocationVenue : NSObject + +@property (nonatomic) CLLocationCoordinate2D coordinate; +@property (nonatomic, strong) NSString *identifier; +@property (nonatomic, strong) NSString *provider; +@property (nonatomic, strong) NSString *name; +@property (nonatomic, strong) NSString *address; + +- (TGBridgeLocationMediaAttachment *)locationAttachment; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m new file mode 100644 index 0000000000..01c8fc8c1a --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m @@ -0,0 +1,66 @@ +#import "TGBridgeLocationVenue.h" + +#import "TGBridgeLocationMediaAttachment.h" + +NSString *const TGBridgeLocationVenueLatitudeKey = @"lat"; +NSString *const TGBridgeLocationVenueLongitudeKey = @"lon"; +NSString *const TGBridgeLocationVenueIdentifierKey = @"identifier"; +NSString *const TGBridgeLocationVenueProviderKey = @"provider"; +NSString *const TGBridgeLocationVenueNameKey = @"name"; +NSString *const TGBridgeLocationVenueAddressKey = @"address"; + +@implementation TGBridgeLocationVenue + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeLocationVenueLatitudeKey], [aDecoder decodeDoubleForKey:TGBridgeLocationVenueLongitudeKey]); + _identifier = [aDecoder decodeObjectForKey:TGBridgeLocationVenueIdentifierKey]; + _provider = [aDecoder decodeObjectForKey:TGBridgeLocationVenueProviderKey]; + _name = [aDecoder decodeObjectForKey:TGBridgeLocationVenueNameKey]; + _address = [aDecoder decodeObjectForKey:TGBridgeLocationVenueAddressKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeLocationVenueLatitudeKey]; + [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeLocationVenueLongitudeKey]; + [aCoder encodeObject:self.identifier forKey:TGBridgeLocationVenueIdentifierKey]; + [aCoder encodeObject:self.provider forKey:TGBridgeLocationVenueProviderKey]; + [aCoder encodeObject:self.name forKey:TGBridgeLocationVenueNameKey]; + [aCoder encodeObject:self.address forKey:TGBridgeLocationVenueAddressKey]; +} + +- (TGBridgeLocationMediaAttachment *)locationAttachment +{ + TGBridgeLocationMediaAttachment *attachment = [[TGBridgeLocationMediaAttachment alloc] init]; + attachment.latitude = self.coordinate.latitude; + attachment.longitude = self.coordinate.longitude; + + TGBridgeVenueAttachment *venueAttachment = [[TGBridgeVenueAttachment alloc] init]; + venueAttachment.title = self.name; + venueAttachment.address = self.address; + venueAttachment.provider = self.provider; + venueAttachment.venueId = self.identifier; + + attachment.venue = venueAttachment; + + return attachment; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + return [self.identifier isEqualToString:((TGBridgeLocationVenue *)object).identifier]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h new file mode 100644 index 0000000000..3a564e1575 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h @@ -0,0 +1,11 @@ +#import + +@interface TGBridgeMediaAttachment : NSObject + +@property (nonatomic, readonly) NSInteger mediaType; + ++ (NSInteger)mediaType; + +@end + +extern NSString *const TGBridgeMediaAttachmentTypeKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m new file mode 100644 index 0000000000..971a23b64d --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m @@ -0,0 +1,32 @@ +#import "TGBridgeMediaAttachment.h" + +NSString *const TGBridgeMediaAttachmentTypeKey = @"type"; + +@implementation TGBridgeMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)__unused aDecoder +{ + self = [super init]; + if (self != nil) + { + + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)__unused aCoder +{ + +} + +- (NSInteger)mediaType +{ + return 0; +} + ++ (NSInteger)mediaType +{ + return 0; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h new file mode 100644 index 0000000000..59ec1178d2 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h @@ -0,0 +1,65 @@ +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +typedef enum { + TGBridgeTextCheckingResultTypeUndefined, + TGBridgeTextCheckingResultTypeBold, + TGBridgeTextCheckingResultTypeItalic, + TGBridgeTextCheckingResultTypeCode, + TGBridgeTextCheckingResultTypePre +} TGBridgeTextCheckingResultType; + +@interface TGBridgeTextCheckingResult : NSObject + +@property (nonatomic, assign) TGBridgeTextCheckingResultType type; +@property (nonatomic, assign) NSRange range; + +@end + + +typedef NS_ENUM(NSUInteger, TGBridgeMessageDeliveryState) { + TGBridgeMessageDeliveryStateDelivered = 0, + TGBridgeMessageDeliveryStatePending = 1, + TGBridgeMessageDeliveryStateFailed = 2 +}; + +@interface TGBridgeMessage : NSObject + +@property (nonatomic) int32_t identifier; +@property (nonatomic) NSTimeInterval date; +@property (nonatomic) int64_t randomId; +@property (nonatomic) bool unread; +@property (nonatomic) bool deliveryError; +@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; +@property (nonatomic) bool outgoing; +@property (nonatomic) int64_t fromUid; +@property (nonatomic) int64_t toUid; +@property (nonatomic) int64_t cid; +@property (nonatomic, strong) NSString *text; +@property (nonatomic, strong) NSArray *media; +@property (nonatomic) bool forceReply; + +- (NSIndexSet *)involvedUserIds; +- (NSArray *)textCheckingResults; + ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId; ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage; ++ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId; ++ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId; ++ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId; + +@end + +extern NSString *const TGBridgeMessageKey; +extern NSString *const TGBridgeMessagesArrayKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m new file mode 100644 index 0000000000..4f5e5bb6e7 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m @@ -0,0 +1,238 @@ +#import "TGBridgeMessage.h" +//#import "TGWatchCommon.h" +#import "TGBridgePeerIdAdapter.h" + +NSString *const TGBridgeMessageIdentifierKey = @"identifier"; +NSString *const TGBridgeMessageDateKey = @"date"; +NSString *const TGBridgeMessageRandomIdKey = @"randomId"; +NSString *const TGBridgeMessageFromUidKey = @"fromUid"; +NSString *const TGBridgeMessageCidKey = @"cid"; +NSString *const TGBridgeMessageTextKey = @"text"; +NSString *const TGBridgeMessageUnreadKey = @"unread"; +NSString *const TGBridgeMessageOutgoingKey = @"outgoing"; +NSString *const TGBridgeMessageMediaKey = @"media"; +NSString *const TGBridgeMessageDeliveryStateKey = @"deliveryState"; +NSString *const TGBridgeMessageForceReplyKey = @"forceReply"; + +NSString *const TGBridgeMessageKey = @"message"; +NSString *const TGBridgeMessagesArrayKey = @"messages"; + +@interface TGBridgeMessage () +{ + NSArray *_textCheckingResults; +} +@end + +@implementation TGBridgeMessage + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt32ForKey:TGBridgeMessageIdentifierKey]; + _date = [aDecoder decodeDoubleForKey:TGBridgeMessageDateKey]; + _randomId = [aDecoder decodeInt64ForKey:TGBridgeMessageRandomIdKey]; + _fromUid = [aDecoder decodeInt64ForKey:TGBridgeMessageFromUidKey]; + _cid = [aDecoder decodeInt64ForKey:TGBridgeMessageCidKey]; + _text = [aDecoder decodeObjectForKey:TGBridgeMessageTextKey]; + _outgoing = [aDecoder decodeBoolForKey:TGBridgeMessageOutgoingKey]; + _unread = [aDecoder decodeBoolForKey:TGBridgeMessageUnreadKey]; + _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeMessageDeliveryStateKey]; + _media = [aDecoder decodeObjectForKey:TGBridgeMessageMediaKey]; + _forceReply = [aDecoder decodeBoolForKey:TGBridgeMessageForceReplyKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.identifier forKey:TGBridgeMessageIdentifierKey]; + [aCoder encodeDouble:self.date forKey:TGBridgeMessageDateKey]; + [aCoder encodeInt64:self.randomId forKey:TGBridgeMessageRandomIdKey]; + [aCoder encodeInt64:self.fromUid forKey:TGBridgeMessageFromUidKey]; + [aCoder encodeInt64:self.cid forKey:TGBridgeMessageCidKey]; + [aCoder encodeObject:self.text forKey:TGBridgeMessageTextKey]; + [aCoder encodeBool:self.outgoing forKey:TGBridgeMessageOutgoingKey]; + [aCoder encodeBool:self.unread forKey:TGBridgeMessageUnreadKey]; + [aCoder encodeInt32:self.deliveryState forKey:TGBridgeMessageDeliveryStateKey]; + [aCoder encodeObject:self.media forKey:TGBridgeMessageMediaKey]; + [aCoder encodeBool:self.forceReply forKey:TGBridgeMessageForceReplyKey]; +} + +- (NSIndexSet *)involvedUserIds +{ + NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; + if (!TGPeerIdIsChannel(self.fromUid)) + [userIds addIndex:(int32_t)self.fromUid]; + + for (TGBridgeMediaAttachment *attachment in self.media) + { + if ([attachment isKindOfClass:[TGBridgeContactMediaAttachment class]]) + { + TGBridgeContactMediaAttachment *contactAttachment = (TGBridgeContactMediaAttachment *)attachment; + if (contactAttachment.uid != 0) + [userIds addIndex:contactAttachment.uid]; + } + else if ([attachment isKindOfClass:[TGBridgeForwardedMessageMediaAttachment class]]) + { + TGBridgeForwardedMessageMediaAttachment *forwardAttachment = (TGBridgeForwardedMessageMediaAttachment *)attachment; + if (forwardAttachment.peerId != 0 && !TGPeerIdIsChannel(forwardAttachment.peerId)) + [userIds addIndex:(int32_t)forwardAttachment.peerId]; + } + else if ([attachment isKindOfClass:[TGBridgeReplyMessageMediaAttachment class]]) + { + TGBridgeReplyMessageMediaAttachment *replyAttachment = (TGBridgeReplyMessageMediaAttachment *)attachment; + if (replyAttachment.message != nil && !TGPeerIdIsChannel(replyAttachment.message.fromUid)) + [userIds addIndex:(int32_t)replyAttachment.message.fromUid]; + } + else if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) + { + TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; + if (actionAttachment.actionData[@"uid"] != nil) + [userIds addIndex:(int32_t)[actionAttachment.actionData[@"uid"] intValue]]; + } + } + + return userIds; +} + +- (NSArray *)textCheckingResults +{ + if (_textCheckingResults == nil) + { + NSMutableArray *results = [[NSMutableArray alloc] init]; + + NSArray *entities = nil; + for (TGBridgeMediaAttachment *attachment in self.media) + { + if ([attachment isKindOfClass:[TGBridgeMessageEntitiesAttachment class]]) + { + entities = ((TGBridgeMessageEntitiesAttachment *)attachment).entities; + break; + } + } + + for (TGBridgeMessageEntity *entity in entities) + { + TGBridgeTextCheckingResult *result = [[TGBridgeTextCheckingResult alloc] init]; + result.range = entity.range; + + if ([entity isKindOfClass:[TGBridgeMessageEntityBold class]]) + result.type = TGBridgeTextCheckingResultTypeBold; + else if ([entity isKindOfClass:[TGBridgeMessageEntityItalic class]]) + result.type = TGBridgeTextCheckingResultTypeItalic; + else if ([entity isKindOfClass:[TGBridgeMessageEntityCode class]]) + result.type = TGBridgeTextCheckingResultTypeCode; + else if ([entity isKindOfClass:[TGBridgeMessageEntityPre class]]) + result.type = TGBridgeTextCheckingResultTypePre; + + if (result.type != TGBridgeTextCheckingResultTypeUndefined) + [results addObject:result]; + } + + _textCheckingResults = results; + } + + return _textCheckingResults; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + TGBridgeMessage *message = (TGBridgeMessage *)object; + + if (self.randomId != 0) + return self.randomId == message.randomId; + else + return self.identifier == message.identifier; +} + ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId +{ + return [self temporaryNewMessageForText:text userId:userId replyToMessage:nil]; +} + ++ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage +{ + int64_t randomId = 0; + arc4random_buf(&randomId, 8); + + int32_t messageId = 0; + arc4random_buf(&messageId, 4); + + TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; + message->_identifier = -abs(messageId); + message->_fromUid = userId; + message->_randomId = randomId; + message->_unread = true; + message->_outgoing = true; + message->_deliveryState = TGBridgeMessageDeliveryStatePending; + message->_text = text; + message->_date = [[NSDate date] timeIntervalSince1970]; + + if (replyToMessage != nil) + { + TGBridgeReplyMessageMediaAttachment *replyAttachment = [[TGBridgeReplyMessageMediaAttachment alloc] init]; + replyAttachment.mid = replyToMessage.identifier; + replyAttachment.message = replyToMessage; + + message->_media = @[ replyToMessage ]; + } + + return message; +} + ++ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId +{ + return [self _temporaryNewMessageForMediaAttachment:sticker userId:userId]; +} + ++ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId +{ + return [self _temporaryNewMessageForMediaAttachment:location userId:userId]; +} + ++ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId +{ + TGBridgeDocumentMediaAttachment *document = [[TGBridgeDocumentMediaAttachment alloc] init]; + document.isAudio = true; + document.isVoice = true; + document.localDocumentId = localAudioId; + document.duration = duration; + + return [self _temporaryNewMessageForMediaAttachment:document userId:userId]; +} + ++ (instancetype)_temporaryNewMessageForMediaAttachment:(TGBridgeMediaAttachment *)attachment userId:(int32_t)userId +{ + int64_t randomId = 0; + arc4random_buf(&randomId, 8); + + int32_t messageId = 0; + arc4random_buf(&messageId, 4); + + TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; + message->_identifier = -abs(messageId); + message->_fromUid = userId; + message->_unread = true; + message->_outgoing = true; + message->_deliveryState = TGBridgeMessageDeliveryStatePending; + message->_date = [[NSDate date] timeIntervalSince1970]; + + message->_media = @[ attachment ]; + + return message; +} + +@end + + +@implementation TGBridgeTextCheckingResult + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h new file mode 100644 index 0000000000..669ff3b21d --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h @@ -0,0 +1,59 @@ +#import + +@interface TGBridgeMessageEntity : NSObject + +@property (nonatomic, assign) NSRange range; + ++ (instancetype)entitityWithRange:(NSRange)range; + +@end + + +@interface TGBridgeMessageEntityUrl : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityEmail : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityTextUrl : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityMention : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityHashtag : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityBotCommand : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityBold : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityItalic : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityCode : TGBridgeMessageEntity + +@end + + +@interface TGBridgeMessageEntityPre : TGBridgeMessageEntity + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m new file mode 100644 index 0000000000..8d639a9468 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m @@ -0,0 +1,83 @@ +#import "TGBridgeMessageEntities.h" + +NSString *const TGBridgeMessageEntityLocationKey = @"loc"; +NSString *const TGBridgeMessageEntityLengthKey = @"len"; + +@implementation TGBridgeMessageEntity + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + NSUInteger loc = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLocationKey]; + NSUInteger len = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLengthKey]; + _range = NSMakeRange(loc, len); + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInteger:self.range.location forKey:TGBridgeMessageEntityLocationKey]; + [aCoder encodeInteger:self.range.length forKey:TGBridgeMessageEntityLengthKey]; +} + ++ (instancetype)entitityWithRange:(NSRange)range +{ + TGBridgeMessageEntity *entity = [[self alloc] init]; + entity.range = range; + return entity; +} + +@end + + +@implementation TGBridgeMessageEntityUrl + +@end + + +@implementation TGBridgeMessageEntityEmail + +@end + + +@implementation TGBridgeMessageEntityTextUrl + +@end + + +@implementation TGBridgeMessageEntityMention + +@end + + +@implementation TGBridgeMessageEntityHashtag + +@end + + +@implementation TGBridgeMessageEntityBotCommand + +@end + + +@implementation TGBridgeMessageEntityBold + +@end + + +@implementation TGBridgeMessageEntityItalic + +@end + + +@implementation TGBridgeMessageEntityCode + +@end + + +@implementation TGBridgeMessageEntityPre + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h new file mode 100644 index 0000000000..9aaec90b25 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h @@ -0,0 +1,8 @@ +#import +#import + +@interface TGBridgeMessageEntitiesAttachment : TGBridgeMediaAttachment + +@property (nonatomic, strong) NSArray *entities; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m new file mode 100644 index 0000000000..fb5cb3b7d7 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m @@ -0,0 +1,30 @@ +#import "TGBridgeMessageEntitiesAttachment.h" + +const NSInteger TGBridgeMessageEntitiesAttachmentType = 0x8c2e3cce; + +NSString *const TGBridgeMessageEntitiesKey = @"entities"; + +@implementation TGBridgeMessageEntitiesAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _entities = [aDecoder decodeObjectForKey:TGBridgeMessageEntitiesKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.entities forKey:TGBridgeMessageEntitiesKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeMessageEntitiesAttachmentType; +} + + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h b/submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h new file mode 100644 index 0000000000..c5f0ac92fc --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h @@ -0,0 +1,52 @@ +#ifndef Telegraph_TGPeerIdAdapter_h +#define Telegraph_TGPeerIdAdapter_h + +static inline bool TGPeerIdIsGroup(int64_t peerId) { + return peerId < 0 && peerId > INT32_MIN; +} + +static inline bool TGPeerIdIsUser(int64_t peerId) { + return peerId > 0 && peerId < INT32_MAX; +} + +static inline bool TGPeerIdIsChannel(int64_t peerId) { + return peerId <= ((int64_t)INT32_MIN) * 2 && peerId > ((int64_t)INT32_MIN) * 3; +} + +static inline bool TGPeerIdIsAdminLog(int64_t peerId) { + return peerId <= ((int64_t)INT32_MIN) * 3 && peerId > ((int64_t)INT32_MIN) * 4; +} + +static inline int32_t TGChannelIdFromPeerId(int64_t peerId) { + if (TGPeerIdIsChannel(peerId)) { + return (int32_t)(((int64_t)INT32_MIN) * 2 - peerId); + } else { + return 0; + } +} + +static inline int64_t TGPeerIdFromChannelId(int32_t channelId) { + return ((int64_t)INT32_MIN) * 2 - ((int64_t)channelId); +} + +static inline int64_t TGPeerIdFromAdminLogId(int32_t channelId) { + return ((int64_t)INT32_MIN) * 3 - ((int64_t)channelId); +} + +static inline int64_t TGPeerIdFromGroupId(int32_t groupId) { + return -groupId; +} + +static inline int32_t TGGroupIdFromPeerId(int64_t peerId) { + if (TGPeerIdIsGroup(peerId)) { + return (int32_t)-peerId; + } else { + return 0; + } +} + +static inline bool TGPeerIdIsSecretChat(int64_t peerId) { + return peerId <= ((int64_t)INT32_MIN) && peerId > ((int64_t)INT32_MIN) * 2; +} + +#endif diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h b/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h new file mode 100644 index 0000000000..fce723cecb --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h @@ -0,0 +1,7 @@ +#import + +@interface TGBridgePeerNotificationSettings : NSObject + +@property (nonatomic, assign) int32_t muteFor; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m b/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m new file mode 100644 index 0000000000..662c2f4ca4 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m @@ -0,0 +1,22 @@ +#import "TGBridgePeerNotificationSettings.h" + +NSString *const TGBridgePeerNotificationSettingsMuteForKey = @"muteFor"; + +@implementation TGBridgePeerNotificationSettings + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _muteFor = [aDecoder decodeInt32ForKey:TGBridgePeerNotificationSettingsMuteForKey]; + } + return self; +} + +- (void)encodeWithCoder:(nonnull NSCoder *)aCoder +{ + [aCoder encodeInt32:self.muteFor forKey:TGBridgePeerNotificationSettingsMuteForKey]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h new file mode 100644 index 0000000000..430398271a --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h @@ -0,0 +1,9 @@ +#import + +@class TGBridgeBotReplyMarkup; + +@interface TGBridgeReplyMarkupMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, strong) TGBridgeBotReplyMarkup *replyMarkup; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m new file mode 100644 index 0000000000..1299c900cd --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m @@ -0,0 +1,29 @@ +#import "TGBridgeReplyMarkupMediaAttachment.h" + +const NSInteger TGBridgeReplyMarkupMediaAttachmentType = 0x5678acc1; + +NSString *const TGBridgeReplyMarkupMediaMessageKey = @"replyMarkup"; + +@implementation TGBridgeReplyMarkupMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _replyMarkup = [aDecoder decodeObjectForKey:TGBridgeReplyMarkupMediaMessageKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.replyMarkup forKey:TGBridgeReplyMarkupMediaMessageKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeReplyMarkupMediaAttachmentType; +} + +@end \ No newline at end of file diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h new file mode 100644 index 0000000000..a5dbeae13c --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h @@ -0,0 +1,10 @@ +#import + +@class TGBridgeMessage; + +@interface TGBridgeReplyMessageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int32_t mid; +@property (nonatomic, strong) TGBridgeMessage *message; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m new file mode 100644 index 0000000000..fbc2456919 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m @@ -0,0 +1,33 @@ +#import "TGBridgeReplyMessageMediaAttachment.h" +#import "TGBridgeMessage.h" + +const NSInteger TGBridgeReplyMessageMediaAttachmentType = 414002169; + +NSString *const TGBridgeReplyMessageMediaMidKey = @"mid"; +NSString *const TGBridgeReplyMessageMediaMessageKey = @"message"; + +@implementation TGBridgeReplyMessageMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _mid = [aDecoder decodeInt32ForKey:TGBridgeReplyMessageMediaMidKey]; + _message = [aDecoder decodeObjectForKey:TGBridgeReplyMessageMediaMessageKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.mid forKey:TGBridgeReplyMessageMediaMidKey]; + [aCoder encodeObject:self.message forKey:TGBridgeReplyMessageMediaMessageKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeReplyMessageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h b/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h new file mode 100644 index 0000000000..f2f7ec7ac5 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h @@ -0,0 +1,268 @@ +#import + +#import +#import + +@class TGBridgeMediaAttachment; +@class TGBridgeImageMediaAttachment; +@class TGBridgeVideoMediaAttachment; +@class TGBridgeDocumentMediaAttachment; +@class TGBridgeLocationMediaAttachment; +@class TGBridgePeerNotificationSettings; + +@interface TGBridgeAudioSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) TGBridgeMediaAttachment *attachment; +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; + +- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId; + +@end + + +@interface TGBridgeAudioSentSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t conversationId; + +- (instancetype)initWithConversationId:(int64_t)conversationId; + +@end + + +@interface TGBridgeChatListSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int32_t limit; + +- (instancetype)initWithLimit:(int32_t)limit; + +@end + + +@interface TGBridgeChatMessageListSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t atMessageId; +@property (nonatomic, readonly) NSUInteger rangeMessageCount; + +- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount; + +@end + + +@interface TGBridgeChatMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; + +@end + + +@interface TGBridgeReadChatMessageListSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; + +@end + + +@interface TGBridgeContactsSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) NSString *query; + +- (instancetype)initWithQuery:(NSString *)query; + +@end + + +@interface TGBridgeConversationSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end + + +@interface TGBridgeNearbyVenuesSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) CLLocationCoordinate2D coordinate; +@property (nonatomic, readonly) int32_t limit; + +- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit; + +@end + + +@interface TGBridgeMediaThumbnailSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; +@property (nonatomic, readonly) CGSize size; +@property (nonatomic, readonly) bool notification; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification; + +@end + + +typedef NS_ENUM(NSUInteger, TGBridgeMediaAvatarType) { + TGBridgeMediaAvatarTypeSmall, + TGBridgeMediaAvatarTypeProfile, + TGBridgeMediaAvatarTypeLarge +}; + +@interface TGBridgeMediaAvatarSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) NSString *url; +@property (nonatomic, readonly) TGBridgeMediaAvatarType type; + +- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type; + +@end + +@interface TGBridgeMediaStickerSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t documentId; +@property (nonatomic, readonly) int64_t stickerPackId; +@property (nonatomic, readonly) int64_t stickerPackAccessHash; +@property (nonatomic, readonly) int64_t stickerPeerId; +@property (nonatomic, readonly) int32_t stickerMessageId; +@property (nonatomic, readonly) bool notification; +@property (nonatomic, readonly) CGSize size; + +- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size; + +@end + + +@interface TGBridgePeerSettingsSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end + +@interface TGBridgePeerUpdateNotificationSettingsSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end + +@interface TGBridgePeerUpdateBlockStatusSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) bool blocked; + +- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked; + +@end + + +@interface TGBridgeRemoteSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; +@property (nonatomic, readonly) int32_t type; +@property (nonatomic, readonly) bool autoPlay; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay; + +@end + + +@interface TGBridgeSendTextMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) NSString *text; +@property (nonatomic, readonly) int32_t replyToMid; + +- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid; + +@end + + +@interface TGBridgeSendStickerMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) TGBridgeDocumentMediaAttachment *document; +@property (nonatomic, readonly) int32_t replyToMid; + +- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid; + +@end + + +@interface TGBridgeSendLocationMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) TGBridgeLocationMediaAttachment *location; +@property (nonatomic, readonly) int32_t replyToMid; + +- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid; + +@end + + +@interface TGBridgeSendForwardedMessageSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; +@property (nonatomic, readonly) int32_t messageId; +@property (nonatomic, readonly) int64_t targetPeerId; + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId; + +@end + + +@interface TGBridgeStateSubscription : TGBridgeSubscription + +@end + + +@interface TGBridgeStickerPacksSubscription : TGBridgeSubscription + +@end + + +@interface TGBridgeRecentStickersSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int32_t limit; + +- (instancetype)initWithLimit:(int32_t)limit; + +@end + + +@interface TGBridgeUserInfoSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) NSArray *userIds; + +- (instancetype)initWithUserIds:(NSArray *)userIds; + +@end + + +@interface TGBridgeUserBotInfoSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) NSArray *userIds; + +- (instancetype)initWithUserIds:(NSArray *)userIds; + +@end + +@interface TGBridgeBotReplyMarkupSubscription : TGBridgeSubscription + +@property (nonatomic, readonly) int64_t peerId; + +- (instancetype)initWithPeerId:(int64_t)peerId; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m b/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m new file mode 100644 index 0000000000..8c4b50d224 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m @@ -0,0 +1,1048 @@ +#import "TGBridgeSubscriptions.h" + +#import + +#import "TGBridgeImageMediaAttachment.h" +#import "TGBridgeVideoMediaAttachment.h" +#import "TGBridgeDocumentMediaAttachment.h" +#import "TGBridgeLocationMediaAttachment.h" +#import "TGBridgePeerNotificationSettings.h" + +NSString *const TGBridgeAudioSubscriptionName = @"media.audio"; +NSString *const TGBridgeAudioSubscriptionAttachmentKey = @"attachment"; +NSString *const TGBridgeAudioSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeAudioSubscriptionMessageIdKey = @"messageId"; + +@implementation TGBridgeAudioSubscription + +- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId +{ + self = [super init]; + if (self != nil) + { + _attachment = attachment; + _peerId = peerId; + _messageId = messageId; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.attachment forKey:TGBridgeAudioSubscriptionAttachmentKey]; + [aCoder encodeInt64:self.peerId forKey:TGBridgeAudioSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeAudioSubscriptionMessageIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _attachment = [aDecoder decodeObjectForKey:TGBridgeAudioSubscriptionAttachmentKey]; + _peerId = [aDecoder decodeInt64ForKey:TGBridgeAudioSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeAudioSubscriptionMessageIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeAudioSubscriptionName; +} + +@end + + +NSString *const TGBridgeAudioSentSubscriptionName = @"media.audioSent"; +NSString *const TGBridgeAudioSentSubscriptionConversationIdKey = @"conversationId"; + +@implementation TGBridgeAudioSentSubscription + +- (instancetype)initWithConversationId:(int64_t)conversationId +{ + self = [super init]; + if (self != nil) + { + _conversationId = conversationId; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.conversationId forKey:TGBridgeAudioSentSubscriptionConversationIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _conversationId = [aDecoder decodeInt64ForKey:TGBridgeAudioSentSubscriptionConversationIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeAudioSentSubscriptionName; +} + +@end + + +NSString *const TGBridgeChatListSubscriptionName = @"chats.chatList"; +NSString *const TGBridgeChatListSubscriptionLimitKey = @"limit"; + +@implementation TGBridgeChatListSubscription + +- (instancetype)initWithLimit:(int32_t)limit +{ + self = [super init]; + if (self != nil) + { + _limit = limit; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.limit forKey:TGBridgeChatListSubscriptionLimitKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _limit = [aDecoder decodeInt32ForKey:TGBridgeChatListSubscriptionLimitKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeChatListSubscriptionName; +} + +@end + + +NSString *const TGBridgeChatMessageListSubscriptionName = @"chats.chatMessageList"; +NSString *const TGBridgeChatMessageListSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeChatMessageListSubscriptionAtMessageIdKey = @"atMessageId"; +NSString *const TGBridgeChatMessageListSubscriptionRangeMessageCountKey = @"rangeMessageCount"; + +@implementation TGBridgeChatMessageListSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _atMessageId = messageId; + _rangeMessageCount = rangeMessageCount; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.atMessageId forKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; + [aCoder encodeInt32:(int32_t)self.rangeMessageCount forKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; + _atMessageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; + _rangeMessageCount = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeChatMessageListSubscriptionName; +} + +@end + + +NSString *const TGBridgeChatMessageSubscriptionName = @"chats.message"; +NSString *const TGBridgeChatMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeChatMessageSubscriptionMessageIdKey = @"mid"; + +@implementation TGBridgeChatMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + } + return self; +} + +- (bool)synchronous +{ + return true; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeChatMessageSubscriptionMessageIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageSubscriptionMessageIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeChatMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeReadChatMessageListSubscriptionName = @"chats.readChatMessageList"; +NSString *const TGBridgeReadChatMessageListSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeReadChatMessageListSubscriptionMessageIdKey = @"mid"; + +@implementation TGBridgeReadChatMessageListSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeReadChatMessageListSubscriptionName; +} + +@end + + +NSString *const TGBridgeContactsSubscriptionName = @"contacts.search"; +NSString *const TGBridgeContactsSubscriptionQueryKey = @"query"; + +@implementation TGBridgeContactsSubscription + +- (instancetype)initWithQuery:(NSString *)query +{ + self = [super init]; + if (self != nil) + { + _query = query; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.query forKey:TGBridgeContactsSubscriptionQueryKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _query = [aDecoder decodeObjectForKey:TGBridgeContactsSubscriptionQueryKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeContactsSubscriptionName; +} + +@end + + +NSString *const TGBridgeConversationSubscriptionName = @"chats.conversation"; +NSString *const TGBridgeConversationSubscriptionPeerIdKey = @"peerId"; + +@implementation TGBridgeConversationSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeConversationSubscriptionPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeConversationSubscriptionPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeConversationSubscriptionName; +} + +@end + + +NSString *const TGBridgeNearbyVenuesSubscriptionName = @"location.nearbyVenues"; +NSString *const TGBridgeNearbyVenuesSubscriptionLatitudeKey = @"lat"; +NSString *const TGBridgeNearbyVenuesSubscriptionLongitudeKey = @"lon"; +NSString *const TGBridgeNearbyVenuesSubscriptionLimitKey = @"limit"; + +@implementation TGBridgeNearbyVenuesSubscription + +- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit +{ + self = [super init]; + if (self != nil) + { + _coordinate = coordinate; + _limit = limit; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey]; + [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]; + [aCoder encodeInt32:self.limit forKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey], + [aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]); + _limit = [aDecoder decodeInt32ForKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeNearbyVenuesSubscriptionName; +} + +@end + + +NSString *const TGBridgeMediaThumbnailSubscriptionName = @"media.thumbnail"; +NSString *const TGBridgeMediaThumbnailPeerIdKey = @"peerId"; +NSString *const TGBridgeMediaThumbnailMessageIdKey = @"mid"; +NSString *const TGBridgeMediaThumbnailSizeKey = @"size"; +NSString *const TGBridgeMediaThumbnailNotificationKey = @"notification"; + +@implementation TGBridgeMediaThumbnailSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + _size = size; + _notification = notification; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaThumbnailPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeMediaThumbnailMessageIdKey]; + [aCoder encodeCGSize:self.size forKey:TGBridgeMediaThumbnailSizeKey]; + [aCoder encodeBool:self.notification forKey:TGBridgeMediaThumbnailNotificationKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaThumbnailPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeMediaThumbnailMessageIdKey]; + _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaThumbnailSizeKey]; + _notification = [aDecoder decodeBoolForKey:TGBridgeMediaThumbnailNotificationKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeMediaThumbnailSubscriptionName; +} + +@end + + +NSString *const TGBridgeMediaAvatarSubscriptionName = @"media.avatar"; +NSString *const TGBridgeMediaAvatarPeerIdKey = @"peerId"; +NSString *const TGBridgeMediaAvatarUrlKey = @"url"; +NSString *const TGBridgeMediaAvatarTypeKey = @"type"; + +@implementation TGBridgeMediaAvatarSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _url = url; + _type = type; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaAvatarPeerIdKey]; + [aCoder encodeObject:self.url forKey:TGBridgeMediaAvatarUrlKey]; + [aCoder encodeInt32:self.type forKey:TGBridgeMediaAvatarTypeKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaAvatarPeerIdKey]; + _url = [aDecoder decodeObjectForKey:TGBridgeMediaAvatarUrlKey]; + _type = [aDecoder decodeInt32ForKey:TGBridgeMediaAvatarTypeKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeMediaAvatarSubscriptionName; +} + +@end + + +NSString *const TGBridgeMediaStickerSubscriptionName = @"media.sticker"; +NSString *const TGBridgeMediaStickerDocumentIdKey = @"documentId"; +NSString *const TGBridgeMediaStickerPackIdKey = @"packId"; +NSString *const TGBridgeMediaStickerPackAccessHashKey = @"accessHash"; +NSString *const TGBridgeMediaStickerPeerIdKey = @"peerId"; +NSString *const TGBridgeMediaStickerMessageIdKey = @"mid"; +NSString *const TGBridgeMediaStickerNotificationKey = @"notification"; +NSString *const TGBridgeMediaStickerSizeKey = @"size"; + +@implementation TGBridgeMediaStickerSubscription + +- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size +{ + self = [super init]; + if (self != nil) + { + _documentId = documentId; + _stickerPackId = stickerPackId; + _stickerPackAccessHash = stickerPackAccessHash; + _stickerPeerId = stickerPeerId; + _stickerMessageId = stickerMessageId; + _notification = notification; + _size = size; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.documentId forKey:TGBridgeMediaStickerDocumentIdKey]; + [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeMediaStickerPackIdKey]; + [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeMediaStickerPackAccessHashKey]; + [aCoder encodeInt64:self.stickerPeerId forKey:TGBridgeMediaStickerPeerIdKey]; + [aCoder encodeInt32:self.stickerMessageId forKey:TGBridgeMediaStickerMessageIdKey]; + [aCoder encodeBool:self.notification forKey:TGBridgeMediaStickerNotificationKey]; + [aCoder encodeCGSize:self.size forKey:TGBridgeMediaStickerSizeKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _documentId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerDocumentIdKey]; + _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackIdKey]; + _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackAccessHashKey]; + _stickerPeerId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPeerIdKey]; + _stickerMessageId = [aDecoder decodeInt32ForKey:TGBridgeMediaStickerMessageIdKey]; + _notification = [aDecoder decodeBoolForKey:TGBridgeMediaStickerNotificationKey]; + _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaStickerSizeKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeMediaStickerSubscriptionName; +} + +@end + + +NSString *const TGBridgePeerSettingsSubscriptionName = @"peer.settings"; +NSString *const TGBridgePeerSettingsSubscriptionPeerIdKey = @"peerId"; + +@implementation TGBridgePeerSettingsSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgePeerSettingsSubscriptionName; +} + +@end + + +NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionName = @"peer.notificationSettings"; +NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey = @"peerId"; + +@implementation TGBridgePeerUpdateNotificationSettingsSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgePeerUpdateNotificationSettingsSubscriptionName; +} + +@end + + +NSString *const TGBridgePeerUpdateBlockStatusSubscriptionName = @"peer.updateBlocked"; +NSString *const TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey = @"blocked"; + +@implementation TGBridgePeerUpdateBlockStatusSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _blocked = blocked; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; + [aCoder encodeBool:self.blocked forKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; + _blocked = [aDecoder decodeBoolForKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgePeerUpdateBlockStatusSubscriptionName; +} + +@end + + +NSString *const TGBridgeRemoteSubscriptionName = @"remote.request"; +NSString *const TGBridgeRemotePeerIdKey = @"peerId"; +NSString *const TGBridgeRemoteMessageIdKey = @"mid"; +NSString *const TGBridgeRemoteTypeKey = @"mediaType"; +NSString *const TGBridgeRemoteAutoPlayKey = @"autoPlay"; + +@implementation TGBridgeRemoteSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + _type = type; + _autoPlay = autoPlay; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeRemotePeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeRemoteMessageIdKey]; + [aCoder encodeInt32:self.type forKey:TGBridgeRemoteTypeKey]; + [aCoder encodeBool:self.autoPlay forKey:TGBridgeRemoteAutoPlayKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeRemotePeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeRemoteMessageIdKey]; + _type = [aDecoder decodeInt32ForKey:TGBridgeRemoteTypeKey]; + _autoPlay = [aDecoder decodeBoolForKey:TGBridgeRemoteAutoPlayKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeRemoteSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendTextMessageSubscriptionName = @"sendMessage.text"; +NSString *const TGBridgeSendTextMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendTextMessageSubscriptionTextKey = @"text"; +NSString *const TGBridgeSendTextMessageSubscriptionReplyToMidKey = @"replyToMid"; + +@implementation TGBridgeSendTextMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _text = text; + _replyToMid = replyToMid; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; + [aCoder encodeObject:self.text forKey:TGBridgeSendTextMessageSubscriptionTextKey]; + [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; + _text = [aDecoder decodeObjectForKey:TGBridgeSendTextMessageSubscriptionTextKey]; + _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendTextMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendStickerMessageSubscriptionName = @"sendMessage.sticker"; +NSString *const TGBridgeSendStickerMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendStickerMessageSubscriptionDocumentKey = @"document"; +NSString *const TGBridgeSendStickerMessageSubscriptionReplyToMidKey = @"replyToMid"; + +@implementation TGBridgeSendStickerMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _document = document; + _replyToMid = replyToMid; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; + [aCoder encodeObject:self.document forKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; + [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; +} + + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; + _document = [aDecoder decodeObjectForKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; + _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendStickerMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendLocationMessageSubscriptionName = @"sendMessage.location"; +NSString *const TGBridgeSendLocationMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendLocationMessageSubscriptionLocationKey = @"location"; +NSString *const TGBridgeSendLocationMessageSubscriptionReplyToMidKey = @"replyToMid"; + +@implementation TGBridgeSendLocationMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _location = location; + _replyToMid = replyToMid; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; + [aCoder encodeObject:self.location forKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; + [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; + _location = [aDecoder decodeObjectForKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; + _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendLocationMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeSendForwardedMessageSubscriptionName = @"sendMessage.forward"; +NSString *const TGBridgeSendForwardedMessageSubscriptionPeerIdKey = @"peerId"; +NSString *const TGBridgeSendForwardedMessageSubscriptionMidKey = @"mid"; +NSString *const TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey = @"targetPeerId"; + +@implementation TGBridgeSendForwardedMessageSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + _messageId = messageId; + _targetPeerId = targetPeerId; + } + return self; +} + +- (bool)renewable +{ + return false; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; + [aCoder encodeInt32:self.messageId forKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; + [aCoder encodeInt64:self.targetPeerId forKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; + _messageId = [aDecoder decodeInt32ForKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; + _targetPeerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeSendForwardedMessageSubscriptionName; +} + +@end + + +NSString *const TGBridgeStateSubscriptionName = @"state.syncState"; + +@implementation TGBridgeStateSubscription + +- (bool)dropPreviouslyQueued +{ + return true; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeStateSubscriptionName; +} + +@end + + +NSString *const TGBridgeStickerPacksSubscriptionName = @"stickers.packs"; + +@implementation TGBridgeStickerPacksSubscription + ++ (NSString *)subscriptionName +{ + return TGBridgeStickerPacksSubscriptionName; +} + +@end + + +NSString *const TGBridgeRecentStickersSubscriptionName = @"stickers.recent"; +NSString *const TGBridgeRecentStickersSubscriptionLimitKey = @"limit"; + +@implementation TGBridgeRecentStickersSubscription + +- (instancetype)initWithLimit:(int32_t)limit +{ + self = [super init]; + if (self != nil) + { + _limit = limit; + } + return self; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.limit forKey:TGBridgeRecentStickersSubscriptionLimitKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _limit = [aDecoder decodeInt32ForKey:TGBridgeRecentStickersSubscriptionLimitKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeRecentStickersSubscriptionName; +} + +@end + + +NSString *const TGBridgeUserInfoSubscriptionName = @"user.userInfo"; +NSString *const TGBridgeUserInfoSubscriptionUserIdsKey = @"uids"; + +@implementation TGBridgeUserInfoSubscription + +- (instancetype)initWithUserIds:(NSArray *)userIds +{ + self = [super init]; + if (self != nil) + { + _userIds = userIds; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.userIds forKey:TGBridgeUserInfoSubscriptionUserIdsKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _userIds = [aDecoder decodeObjectForKey:TGBridgeUserInfoSubscriptionUserIdsKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeUserInfoSubscriptionName; +} + +@end + + +NSString *const TGBridgeUserBotInfoSubscriptionName = @"user.botInfo"; +NSString *const TGBridgeUserBotInfoSubscriptionUserIdsKey = @"uids"; + +@implementation TGBridgeUserBotInfoSubscription + +- (instancetype)initWithUserIds:(NSArray *)userIds +{ + self = [super init]; + if (self != nil) + { + _userIds = userIds; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.userIds forKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _userIds = [aDecoder decodeObjectForKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeUserBotInfoSubscriptionName; +} + +@end + + +NSString *const TGBridgeBotReplyMarkupSubscriptionName = @"user.botReplyMarkup"; +NSString *const TGBridgeBotReplyMarkupPeerIdKey = @"peerId"; + +@implementation TGBridgeBotReplyMarkupSubscription + +- (instancetype)initWithPeerId:(int64_t)peerId +{ + self = [super init]; + if (self != nil) + { + _peerId = peerId; + } + return self; +} + +- (bool)dropPreviouslyQueued +{ + return true; +} + +- (void)_serializeParametersWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.peerId forKey:TGBridgeBotReplyMarkupPeerIdKey]; +} + +- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder +{ + _peerId = [aDecoder decodeInt64ForKey:TGBridgeBotReplyMarkupPeerIdKey]; +} + ++ (NSString *)subscriptionName +{ + return TGBridgeBotReplyMarkupSubscriptionName; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h new file mode 100644 index 0000000000..a115df56bf --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h @@ -0,0 +1,9 @@ +#import + +@interface TGBridgeUnsupportedMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, strong) NSString *compactTitle; +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *subtitle; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m new file mode 100644 index 0000000000..b51e422fd1 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m @@ -0,0 +1,35 @@ +#import "TGBridgeUnsupportedMediaAttachment.h" + +const NSInteger TGBridgeUnsupportedMediaAttachmentType = 0x3837BEF7; + +NSString *const TGBridgeUnsupportedMediaCompactTitleKey = @"compactTitle"; +NSString *const TGBridgeUnsupportedMediaTitleKey = @"title"; +NSString *const TGBridgeUnsupportedMediaSubtitleKey = @"subtitle"; + +@implementation TGBridgeUnsupportedMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _compactTitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaCompactTitleKey]; + _title = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaTitleKey]; + _subtitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaSubtitleKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.compactTitle forKey:TGBridgeUnsupportedMediaCompactTitleKey]; + [aCoder encodeObject:self.title forKey:TGBridgeUnsupportedMediaTitleKey]; + [aCoder encodeObject:self.subtitle forKey:TGBridgeUnsupportedMediaSubtitleKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeUnsupportedMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUser.h b/submodules/WatchCommon/Watch/Sources/TGBridgeUser.h new file mode 100644 index 0000000000..9aca3fa520 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeUser.h @@ -0,0 +1,59 @@ +#import + +@class TGBridgeBotInfo; +@class TGBridgeUserChange; + +typedef NS_ENUM(NSUInteger, TGBridgeUserKind) { + TGBridgeUserKindGeneric, + TGBridgeUserKindBot, + TGBridgeUserKindSmartBot +}; + +typedef NS_ENUM(NSUInteger, TGBridgeBotKind) { + TGBridgeBotKindGeneric, + TGBridgeBotKindPrivate +}; + +@interface TGBridgeUser : NSObject + +@property (nonatomic) int64_t identifier; +@property (nonatomic, strong) NSString *firstName; +@property (nonatomic, strong) NSString *lastName; +@property (nonatomic, strong) NSString *userName; +@property (nonatomic, strong) NSString *phoneNumber; +@property (nonatomic, strong) NSString *prettyPhoneNumber; +@property (nonatomic, strong) NSString *about; + +@property (nonatomic) bool online; +@property (nonatomic) NSTimeInterval lastSeen; + +@property (nonatomic, strong) NSString *photoSmall; +@property (nonatomic, strong) NSString *photoBig; + +@property (nonatomic) TGBridgeUserKind kind; +@property (nonatomic) TGBridgeBotKind botKind; +@property (nonatomic) int32_t botVersion; + +@property (nonatomic) bool verified; + +@property (nonatomic) int32_t userVersion; + +- (NSString *)displayName; +- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user; +- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change; + +- (bool)isBot; + +@end + + +@interface TGBridgeUserChange : NSObject + +@property (nonatomic, readonly) int32_t userIdentifier; +@property (nonatomic, readonly) NSDictionary *fields; + +- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields; + +@end + +extern NSString *const TGBridgeUsersDictionaryKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUser.m b/submodules/WatchCommon/Watch/Sources/TGBridgeUser.m new file mode 100644 index 0000000000..4c0fed8d97 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeUser.m @@ -0,0 +1,286 @@ +#import "TGBridgeUser.h" +//#import "TGWatchCommon.h" +#import "TGBridgeBotInfo.h" + +//#import "../Extension/TGStringUtils.h" + +NSString *const TGBridgeUserIdentifierKey = @"identifier"; +NSString *const TGBridgeUserFirstNameKey = @"firstName"; +NSString *const TGBridgeUserLastNameKey = @"lastName"; +NSString *const TGBridgeUserUserNameKey = @"userName"; +NSString *const TGBridgeUserPhoneNumberKey = @"phoneNumber"; +NSString *const TGBridgeUserPrettyPhoneNumberKey = @"prettyPhoneNumber"; +NSString *const TGBridgeUserOnlineKey = @"online"; +NSString *const TGBridgeUserLastSeenKey = @"lastSeen"; +NSString *const TGBridgeUserPhotoSmallKey = @"photoSmall"; +NSString *const TGBridgeUserPhotoBigKey = @"photoBig"; +NSString *const TGBridgeUserKindKey = @"kind"; +NSString *const TGBridgeUserBotKindKey = @"botKind"; +NSString *const TGBridgeUserBotVersionKey = @"botVersion"; +NSString *const TGBridgeUserVerifiedKey = @"verified"; +NSString *const TGBridgeUserAboutKey = @"about"; +NSString *const TGBridgeUserVersionKey = @"version"; + +NSString *const TGBridgeUsersDictionaryKey = @"users"; + +@implementation TGBridgeUser + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _identifier = [aDecoder decodeInt64ForKey:TGBridgeUserIdentifierKey]; + _firstName = [aDecoder decodeObjectForKey:TGBridgeUserFirstNameKey]; + _lastName = [aDecoder decodeObjectForKey:TGBridgeUserLastNameKey]; + _userName = [aDecoder decodeObjectForKey:TGBridgeUserUserNameKey]; + _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPhoneNumberKey]; + _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPrettyPhoneNumberKey]; + _online = [aDecoder decodeBoolForKey:TGBridgeUserOnlineKey]; + _lastSeen = [aDecoder decodeDoubleForKey:TGBridgeUserLastSeenKey]; + _photoSmall = [aDecoder decodeObjectForKey:TGBridgeUserPhotoSmallKey]; + _photoBig = [aDecoder decodeObjectForKey:TGBridgeUserPhotoBigKey]; + _kind = [aDecoder decodeInt32ForKey:TGBridgeUserKindKey]; + _botKind = [aDecoder decodeInt32ForKey:TGBridgeUserBotKindKey]; + _botVersion = [aDecoder decodeInt32ForKey:TGBridgeUserBotVersionKey]; + _verified = [aDecoder decodeBoolForKey:TGBridgeUserVerifiedKey]; + _about = [aDecoder decodeObjectForKey:TGBridgeUserAboutKey]; + _userVersion = [aDecoder decodeInt32ForKey:TGBridgeUserVersionKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.identifier forKey:TGBridgeUserIdentifierKey]; + [aCoder encodeObject:self.firstName forKey:TGBridgeUserFirstNameKey]; + [aCoder encodeObject:self.lastName forKey:TGBridgeUserLastNameKey]; + [aCoder encodeObject:self.userName forKey:TGBridgeUserUserNameKey]; + [aCoder encodeObject:self.phoneNumber forKey:TGBridgeUserPhoneNumberKey]; + [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeUserPrettyPhoneNumberKey]; + [aCoder encodeBool:self.online forKey:TGBridgeUserOnlineKey]; + [aCoder encodeDouble:self.lastSeen forKey:TGBridgeUserLastSeenKey]; + [aCoder encodeObject:self.photoSmall forKey:TGBridgeUserPhotoSmallKey]; + [aCoder encodeObject:self.photoBig forKey:TGBridgeUserPhotoBigKey]; + [aCoder encodeInt32:self.kind forKey:TGBridgeUserKindKey]; + [aCoder encodeInt32:self.botKind forKey:TGBridgeUserBotKindKey]; + [aCoder encodeInt32:self.botVersion forKey:TGBridgeUserBotVersionKey]; + [aCoder encodeBool:self.verified forKey:TGBridgeUserVerifiedKey]; + [aCoder encodeObject:self.about forKey:TGBridgeUserAboutKey]; + [aCoder encodeInt32:self.userVersion forKey:TGBridgeUserVersionKey]; +} + +- (instancetype)copyWithZone:(NSZone *)__unused zone +{ + TGBridgeUser *user = [[TGBridgeUser alloc] init]; + user->_identifier = self.identifier; + user->_firstName = self.firstName; + user->_lastName = self.lastName; + user->_userName = self.userName; + user->_phoneNumber = self.phoneNumber; + user->_prettyPhoneNumber = self.prettyPhoneNumber; + user->_online = self.online; + user->_lastSeen = self.lastSeen; + user->_photoSmall = self.photoSmall; + user->_photoBig = self.photoBig; + user->_kind = self.kind; + user->_botKind = self.botKind; + user->_botVersion = self.botVersion; + user->_verified = self.verified; + user->_about = self.about; + user->_userVersion = self.userVersion; + + return user; +} + +- (NSString *)displayName +{ + NSString *firstName = self.firstName; + NSString *lastName = self.lastName; + + if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) + { + return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; + } + else if (firstName != nil && firstName.length != 0) + return firstName; + else if (lastName != nil && lastName.length != 0) + return lastName; + + return @""; +} + +- (bool)isBot +{ + return (self.kind == TGBridgeUserKindBot || self.kind ==TGBridgeUserKindSmartBot); +} + +- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user +{ + NSMutableDictionary *fields = [[NSMutableDictionary alloc] init]; + + [self _compareString:self.firstName oldString:user.firstName dict:fields key:TGBridgeUserFirstNameKey]; + [self _compareString:self.lastName oldString:user.lastName dict:fields key:TGBridgeUserLastNameKey]; + [self _compareString:self.userName oldString:user.userName dict:fields key:TGBridgeUserUserNameKey]; + [self _compareString:self.phoneNumber oldString:user.phoneNumber dict:fields key:TGBridgeUserPhoneNumberKey]; + [self _compareString:self.prettyPhoneNumber oldString:user.prettyPhoneNumber dict:fields key:TGBridgeUserPrettyPhoneNumberKey]; + + if (self.online != user.online) + fields[TGBridgeUserOnlineKey] = @(self.online); + + if (fabs(self.lastSeen - user.lastSeen) > DBL_EPSILON) + fields[TGBridgeUserLastSeenKey] = @(self.lastSeen); + + [self _compareString:self.photoSmall oldString:user.photoSmall dict:fields key:TGBridgeUserPhotoSmallKey]; + [self _compareString:self.photoBig oldString:user.photoBig dict:fields key:TGBridgeUserPhotoBigKey]; + + if (self.kind != user.kind) + fields[TGBridgeUserKindKey] = @(self.kind); + + if (self.botKind != user.botKind) + fields[TGBridgeUserBotKindKey] = @(self.botKind); + + if (self.botVersion != user.botVersion) + fields[TGBridgeUserBotVersionKey] = @(self.botVersion); + + if (self.verified != user.verified) + fields[TGBridgeUserVerifiedKey] = @(self.verified); + + if (fields.count == 0) + return nil; + + return [[TGBridgeUserChange alloc] initWithUserIdentifier:user.identifier fields:fields]; +} + +- (void)_compareString:(NSString *)newString oldString:(NSString *)oldString dict:(NSMutableDictionary *)dict key:(NSString *)key +{ + if (newString == nil && oldString == nil) + return; + + if (![newString isEqualToString:oldString]) + { + if (newString == nil) + dict[key] = [NSNull null]; + else + dict[key] = newString; + } +} + +- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change +{ + if (change.userIdentifier != self.identifier) + return nil; + + TGBridgeUser *user = [self copy]; + + NSString *firstNameChange = change.fields[TGBridgeUserFirstNameKey]; + if (firstNameChange != nil) + user->_firstName = [self _stringForFieldChange:firstNameChange]; + + NSString *lastNameChange = change.fields[TGBridgeUserLastNameKey]; + if (lastNameChange != nil) + user->_lastName = [self _stringForFieldChange:lastNameChange]; + + NSString *userNameChange = change.fields[TGBridgeUserUserNameKey]; + if (userNameChange != nil) + user->_userName = [self _stringForFieldChange:userNameChange]; + + NSString *phoneNumberChange = change.fields[TGBridgeUserPhoneNumberKey]; + if (phoneNumberChange != nil) + user->_phoneNumber = [self _stringForFieldChange:phoneNumberChange]; + + NSString *prettyPhoneNumberChange = change.fields[TGBridgeUserPrettyPhoneNumberKey]; + if (prettyPhoneNumberChange != nil) + user->_prettyPhoneNumber = [self _stringForFieldChange:prettyPhoneNumberChange]; + + NSNumber *onlineChange = change.fields[TGBridgeUserOnlineKey]; + if (onlineChange != nil) + user->_online = [onlineChange boolValue]; + + NSNumber *lastSeenChange = change.fields[TGBridgeUserLastSeenKey]; + if (lastSeenChange != nil) + user->_lastSeen = [lastSeenChange doubleValue]; + + NSString *photoSmallChange = change.fields[TGBridgeUserPhotoSmallKey]; + if (photoSmallChange != nil) + user->_photoSmall = [self _stringForFieldChange:photoSmallChange]; + + NSString *photoBigChange = change.fields[TGBridgeUserPhotoBigKey]; + if (photoBigChange != nil) + user->_photoBig = [self _stringForFieldChange:photoBigChange]; + + NSNumber *kindChange = change.fields[TGBridgeUserKindKey]; + if (kindChange != nil) + user->_kind = (int32_t)[kindChange intValue]; + + NSNumber *botKindChange = change.fields[TGBridgeUserBotKindKey]; + if (botKindChange != nil) + user->_botKind = (int32_t)[botKindChange intValue]; + + NSNumber *botVersionChange = change.fields[TGBridgeUserBotVersionKey]; + if (botVersionChange != nil) + user->_botVersion = (int32_t)[botVersionChange intValue]; + + NSNumber *verifiedChange = change.fields[TGBridgeUserVerifiedKey]; + if (verifiedChange != nil) + user->_verified = [verifiedChange boolValue]; + + return user; +} + +- (NSString *)_stringForFieldChange:(NSString *)fieldChange +{ + if ([fieldChange isKindOfClass:[NSNull class]]) + return nil; + + return fieldChange; +} + +- (BOOL)isEqual:(id)object +{ + if (object == self) + return YES; + + if (!object || ![object isKindOfClass:[self class]]) + return NO; + + return self.identifier == ((TGBridgeUser *)object).identifier; +} + +@end + + +NSString *const TGBridgeUserChangeIdentifierKey = @"userIdentifier"; +NSString *const TGBridgeUserChangeFieldsKey = @"fields"; + +@implementation TGBridgeUserChange + +- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields +{ + self = [super init]; + if (self != nil) + { + _userIdentifier = userIdentifier; + _fields = fields; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _userIdentifier = [aDecoder decodeInt32ForKey:TGBridgeUserChangeIdentifierKey]; + _fields = [aDecoder decodeObjectForKey:TGBridgeUserChangeFieldsKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt32:self.userIdentifier forKey:TGBridgeUserChangeIdentifierKey]; + [aCoder encodeObject:self.fields forKey:TGBridgeUserChangeFieldsKey]; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h new file mode 100644 index 0000000000..12eb34bd23 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h @@ -0,0 +1,12 @@ +#import + +#import + +@interface TGBridgeVideoMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t videoId; +@property (nonatomic, assign) int32_t duration; +@property (nonatomic, assign) CGSize dimensions; +@property (nonatomic, assign) bool round; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m new file mode 100644 index 0000000000..66fe867996 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m @@ -0,0 +1,39 @@ +#import "TGBridgeVideoMediaAttachment.h" +#import + +const NSInteger TGBridgeVideoMediaAttachmentType = 0x338EAA20; + +NSString *const TGBridgeVideoMediaVideoIdKey = @"videoId"; +NSString *const TGBridgeVideoMediaDimensionsKey = @"dimensions"; +NSString *const TGBridgeVideoMediaDurationKey = @"duration"; +NSString *const TGBridgeVideoMediaRoundKey = @"round"; + +@implementation TGBridgeVideoMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _videoId = [aDecoder decodeInt64ForKey:TGBridgeVideoMediaVideoIdKey]; + _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeVideoMediaDimensionsKey]; + _duration = [aDecoder decodeInt32ForKey:TGBridgeVideoMediaDurationKey]; + _round = [aDecoder decodeBoolForKey:TGBridgeVideoMediaRoundKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.videoId forKey:TGBridgeVideoMediaVideoIdKey]; + [aCoder encodeCGSize:self.dimensions forKey:TGBridgeVideoMediaDimensionsKey]; + [aCoder encodeInt32:self.duration forKey:TGBridgeVideoMediaDurationKey]; + [aCoder encodeBool:self.round forKey:TGBridgeVideoMediaRoundKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeVideoMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h new file mode 100644 index 0000000000..dda2a83e4a --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h @@ -0,0 +1,23 @@ +#import + +#import + +@class TGBridgeImageMediaAttachment; + +@interface TGBridgeWebPageMediaAttachment : TGBridgeMediaAttachment + +@property (nonatomic, assign) int64_t webPageId; +@property (nonatomic, strong) NSString *url; +@property (nonatomic, strong) NSString *displayUrl; +@property (nonatomic, strong) NSString *pageType; +@property (nonatomic, strong) NSString *siteName; +@property (nonatomic, strong) NSString *title; +@property (nonatomic, strong) NSString *pageDescription; +@property (nonatomic, strong) TGBridgeImageMediaAttachment *photo; +@property (nonatomic, strong) NSString *embedUrl; +@property (nonatomic, strong) NSString *embedType; +@property (nonatomic, assign) CGSize embedSize; +@property (nonatomic, strong) NSNumber *duration; +@property (nonatomic, strong) NSString *author; + +@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m new file mode 100644 index 0000000000..3983075d69 --- /dev/null +++ b/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m @@ -0,0 +1,65 @@ +#import "TGBridgeWebPageMediaAttachment.h" +#import "TGBridgeImageMediaAttachment.h" +#import + +const NSInteger TGBridgeWebPageMediaAttachmentType = 0x584197af; + +NSString *const TGBridgeWebPageMediaWebPageIdKey = @"webPageId"; +NSString *const TGBridgeWebPageMediaUrlKey = @"url"; +NSString *const TGBridgeWebPageMediaDisplayUrlKey = @"displayUrl"; +NSString *const TGBridgeWebPageMediaPageTypeKey = @"pageType"; +NSString *const TGBridgeWebPageMediaSiteNameKey = @"siteName"; +NSString *const TGBridgeWebPageMediaTitleKey = @"title"; +NSString *const TGBridgeWebPageMediaPageDescriptionKey = @"pageDescription"; +NSString *const TGBridgeWebPageMediaPhotoKey = @"photo"; +NSString *const TGBridgeWebPageMediaEmbedUrlKey = @"embedUrl"; +NSString *const TGBridgeWebPageMediaEmbedTypeKey = @"embedType"; +NSString *const TGBridgeWebPageMediaEmbedSizeKey = @"embedSize"; +NSString *const TGBridgeWebPageMediaDurationKey = @"duration"; +NSString *const TGBridgeWebPageMediaAuthorKey = @"author"; + +@implementation TGBridgeWebPageMediaAttachment + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + if (self != nil) + { + _webPageId = [aDecoder decodeInt64ForKey:TGBridgeWebPageMediaWebPageIdKey]; + _url = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaUrlKey]; + _displayUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDisplayUrlKey]; + _pageType = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageTypeKey]; + _siteName = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaSiteNameKey]; + _title = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaTitleKey]; + _pageDescription = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageDescriptionKey]; + _photo = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPhotoKey]; + _embedUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaEmbedUrlKey]; + _embedSize = [aDecoder decodeCGSizeForKey:TGBridgeWebPageMediaEmbedSizeKey]; + _duration = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDurationKey]; + _author = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaAuthorKey]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeInt64:self.webPageId forKey:TGBridgeWebPageMediaWebPageIdKey]; + [aCoder encodeObject:self.url forKey:TGBridgeWebPageMediaUrlKey]; + [aCoder encodeObject:self.displayUrl forKey:TGBridgeWebPageMediaDisplayUrlKey]; + [aCoder encodeObject:self.pageType forKey:TGBridgeWebPageMediaPageTypeKey]; + [aCoder encodeObject:self.siteName forKey:TGBridgeWebPageMediaSiteNameKey]; + [aCoder encodeObject:self.title forKey:TGBridgeWebPageMediaTitleKey]; + [aCoder encodeObject:self.pageDescription forKey:TGBridgeWebPageMediaPageDescriptionKey]; + [aCoder encodeObject:self.photo forKey:TGBridgeWebPageMediaPhotoKey]; + [aCoder encodeObject:self.embedUrl forKey:TGBridgeWebPageMediaEmbedUrlKey]; + [aCoder encodeCGSize:self.embedSize forKey:TGBridgeWebPageMediaEmbedSizeKey]; + [aCoder encodeObject:self.duration forKey:TGBridgeWebPageMediaDurationKey]; + [aCoder encodeObject:self.author forKey:TGBridgeWebPageMediaAuthorKey]; +} + ++ (NSInteger)mediaType +{ + return TGBridgeWebPageMediaAttachmentType; +} + +@end diff --git a/submodules/WatchCommon/Sources/WatchCommonWatch.h b/submodules/WatchCommon/Watch/Sources/WatchCommonWatch.h similarity index 100% rename from submodules/WatchCommon/Sources/WatchCommonWatch.h rename to submodules/WatchCommon/Watch/Sources/WatchCommonWatch.h diff --git a/submodules/WatchCommon/Watch/Watch.xcodeproj/project.pbxproj b/submodules/WatchCommon/Watch/Watch.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..bdc16643a9 --- /dev/null +++ b/submodules/WatchCommon/Watch/Watch.xcodeproj/project.pbxproj @@ -0,0 +1,1271 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E291FCEFAA000000000 + + isa + PBXFileReference + name + WatchCommonWatch-Debug.xcconfig + path + ../../../buck-out/gen/submodules/WatchCommon/Watch/WatchCommonWatch-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294D1D6A0A00000000 + + isa + PBXFileReference + name + WatchCommonWatch-Profile.xcconfig + path + ../../../buck-out/gen/submodules/WatchCommon/Watch/WatchCommonWatch-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C0B4156C00000000 + + isa + PBXFileReference + name + WatchCommonWatch-Release.xcconfig + path + ../../../buck-out/gen/submodules/WatchCommon/Watch/WatchCommonWatch-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E291FCEFAA000000000 + 1DD70E294D1D6A0A00000000 + 1DD70E29C0B4156C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29E0D8ED6D00000000 + + isa + PBXFileReference + name + libWatchCommonWatch.a + path + libWatchCommonWatch.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29E0D8ED6D00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2910FAED4F00000000 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.h + path + Sources/TGBridgeActionMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2910FAED5400000000 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.m + path + Sources/TGBridgeActionMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296780922700000000 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.h + path + Sources/TGBridgeAudioMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296780922C00000000 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.m + path + Sources/TGBridgeAudioMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296F242FC800000000 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.h + path + Sources/TGBridgeBotCommandInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296F242FCD00000000 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.m + path + Sources/TGBridgeBotCommandInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A4102F5300000000 + + isa + PBXFileReference + name + TGBridgeBotInfo.h + path + Sources/TGBridgeBotInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A4102F5800000000 + + isa + PBXFileReference + name + TGBridgeBotInfo.m + path + Sources/TGBridgeBotInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC46724E00000000 + + isa + PBXFileReference + name + TGBridgeChat.h + path + Sources/TGBridgeChat.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC46725300000000 + + isa + PBXFileReference + name + TGBridgeChat.m + path + Sources/TGBridgeChat.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29BD9A98BA00000000 + + isa + PBXFileReference + name + TGBridgeChatMessages.h + path + Sources/TGBridgeChatMessages.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BD9A98BF00000000 + + isa + PBXFileReference + name + TGBridgeChatMessages.m + path + Sources/TGBridgeChatMessages.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295AF3E12100000000 + + isa + PBXFileReference + name + TGBridgeCommon.h + path + Sources/TGBridgeCommon.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295AF3E12600000000 + + isa + PBXFileReference + name + TGBridgeCommon.m + path + Sources/TGBridgeCommon.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2932A9981D00000000 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.h + path + Sources/TGBridgeContactMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2932A9982200000000 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.m + path + Sources/TGBridgeContactMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2943D90B6D00000000 + + isa + PBXFileReference + name + TGBridgeContext.h + path + Sources/TGBridgeContext.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2943D90B7200000000 + + isa + PBXFileReference + name + TGBridgeContext.m + path + Sources/TGBridgeContext.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29613B100A00000000 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.h + path + Sources/TGBridgeDocumentMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29613B100F00000000 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.m + path + Sources/TGBridgeDocumentMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29772A4CE200000000 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.h + path + Sources/TGBridgeForwardedMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29772A4CE700000000 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.m + path + Sources/TGBridgeForwardedMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2936F99F4200000000 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.h + path + Sources/TGBridgeImageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2936F99F4700000000 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.m + path + Sources/TGBridgeImageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29294008B000000000 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.h + path + Sources/TGBridgeLocationMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29294008B500000000 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.m + path + Sources/TGBridgeLocationMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29750E2FB800000000 + + isa + PBXFileReference + name + TGBridgeLocationVenue.h + path + Sources/TGBridgeLocationVenue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29750E2FBD00000000 + + isa + PBXFileReference + name + TGBridgeLocationVenue.m + path + Sources/TGBridgeLocationVenue.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2952F66BE500000000 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.h + path + Sources/TGBridgeMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2952F66BEA00000000 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.m + path + Sources/TGBridgeMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2906439FC500000000 + + isa + PBXFileReference + name + TGBridgeMessage.h + path + Sources/TGBridgeMessage.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2906439FCA00000000 + + isa + PBXFileReference + name + TGBridgeMessage.m + path + Sources/TGBridgeMessage.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A971DC6600000000 + + isa + PBXFileReference + name + TGBridgeMessageEntities.h + path + Sources/TGBridgeMessageEntities.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A971DC6B00000000 + + isa + PBXFileReference + name + TGBridgeMessageEntities.m + path + Sources/TGBridgeMessageEntities.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29026AB5E900000000 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.h + path + Sources/TGBridgeMessageEntitiesAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29026AB5EE00000000 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.m + path + Sources/TGBridgeMessageEntitiesAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2947AA647000000000 + + isa + PBXFileReference + name + TGBridgePeerIdAdapter.h + path + Sources/TGBridgePeerIdAdapter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1A600000000 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.h + path + Sources/TGBridgePeerNotificationSettings.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1AB00000000 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.m + path + Sources/TGBridgePeerNotificationSettings.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29484836CB00000000 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.h + path + Sources/TGBridgeReplyMarkupMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29484836D000000000 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.m + path + Sources/TGBridgeReplyMarkupMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC504DA800000000 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.h + path + Sources/TGBridgeReplyMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC504DAD00000000 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.m + path + Sources/TGBridgeReplyMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2914A1B7F400000000 + + isa + PBXFileReference + name + TGBridgeSubscriptions.h + path + Sources/TGBridgeSubscriptions.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2914A1B7F900000000 + + isa + PBXFileReference + name + TGBridgeSubscriptions.m + path + Sources/TGBridgeSubscriptions.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29811188A800000000 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.h + path + Sources/TGBridgeUnsupportedMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29811188AD00000000 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.m + path + Sources/TGBridgeUnsupportedMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29EB9A7A0100000000 + + isa + PBXFileReference + name + TGBridgeUser.h + path + Sources/TGBridgeUser.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EB9A7A0600000000 + + isa + PBXFileReference + name + TGBridgeUser.m + path + Sources/TGBridgeUser.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A2A3D82200000000 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.h + path + Sources/TGBridgeVideoMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A2A3D82700000000 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.m + path + Sources/TGBridgeVideoMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299B2EC69A00000000 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.h + path + Sources/TGBridgeWebPageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299B2EC69F00000000 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.m + path + Sources/TGBridgeWebPageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29D3B7022F00000000 + + isa + PBXFileReference + name + WatchCommonWatch.h + path + Sources/WatchCommonWatch.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2910FAED4F00000000 + 1DD70E2910FAED5400000000 + 1DD70E296780922700000000 + 1DD70E296780922C00000000 + 1DD70E296F242FC800000000 + 1DD70E296F242FCD00000000 + 1DD70E29A4102F5300000000 + 1DD70E29A4102F5800000000 + 1DD70E29CC46724E00000000 + 1DD70E29CC46725300000000 + 1DD70E29BD9A98BA00000000 + 1DD70E29BD9A98BF00000000 + 1DD70E295AF3E12100000000 + 1DD70E295AF3E12600000000 + 1DD70E2932A9981D00000000 + 1DD70E2932A9982200000000 + 1DD70E2943D90B6D00000000 + 1DD70E2943D90B7200000000 + 1DD70E29613B100A00000000 + 1DD70E29613B100F00000000 + 1DD70E29772A4CE200000000 + 1DD70E29772A4CE700000000 + 1DD70E2936F99F4200000000 + 1DD70E2936F99F4700000000 + 1DD70E29294008B000000000 + 1DD70E29294008B500000000 + 1DD70E29750E2FB800000000 + 1DD70E29750E2FBD00000000 + 1DD70E2952F66BE500000000 + 1DD70E2952F66BEA00000000 + 1DD70E2906439FC500000000 + 1DD70E2906439FCA00000000 + 1DD70E29A971DC6600000000 + 1DD70E29A971DC6B00000000 + 1DD70E29026AB5E900000000 + 1DD70E29026AB5EE00000000 + 1DD70E2947AA647000000000 + 1DD70E29E3E3C1A600000000 + 1DD70E29E3E3C1AB00000000 + 1DD70E29484836CB00000000 + 1DD70E29484836D000000000 + 1DD70E29CC504DA800000000 + 1DD70E29CC504DAD00000000 + 1DD70E2914A1B7F400000000 + 1DD70E2914A1B7F900000000 + 1DD70E29811188A800000000 + 1DD70E29811188AD00000000 + 1DD70E29EB9A7A0100000000 + 1DD70E29EB9A7A0600000000 + 1DD70E29A2A3D82200000000 + 1DD70E29A2A3D82700000000 + 1DD70E299B2EC69A00000000 + 1DD70E299B2EC69F00000000 + 1DD70E29D3B7022F00000000 + + + B401C9795A42857500000000 + + isa + PBXGroup + name + WatchCommonWatch + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C9795A42857500000000 + + + E7A30F0410FAED5400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2910FAED5400000000 + + E7A30F046780922C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296780922C00000000 + + E7A30F046F242FCD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296F242FCD00000000 + + E7A30F04A4102F5800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A4102F5800000000 + + E7A30F04CC46725300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC46725300000000 + + E7A30F04BD9A98BF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BD9A98BF00000000 + + E7A30F045AF3E12600000000 + + isa + PBXBuildFile + fileRef + 1DD70E295AF3E12600000000 + + E7A30F0432A9982200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2932A9982200000000 + + E7A30F0443D90B7200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943D90B7200000000 + + E7A30F04613B100F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29613B100F00000000 + + E7A30F04772A4CE700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29772A4CE700000000 + + E7A30F0436F99F4700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936F99F4700000000 + + E7A30F04294008B500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29294008B500000000 + + E7A30F04750E2FBD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29750E2FBD00000000 + + E7A30F0452F66BEA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952F66BEA00000000 + + E7A30F0406439FCA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2906439FCA00000000 + + E7A30F04A971DC6B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A971DC6B00000000 + + E7A30F04026AB5EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29026AB5EE00000000 + + E7A30F04E3E3C1AB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3E3C1AB00000000 + + E7A30F04484836D000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29484836D000000000 + + E7A30F04CC504DAD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC504DAD00000000 + + E7A30F0414A1B7F900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914A1B7F900000000 + + E7A30F04811188AD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29811188AD00000000 + + E7A30F04EB9A7A0600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EB9A7A0600000000 + + E7A30F04A2A3D82700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A2A3D82700000000 + + E7A30F049B2EC69F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299B2EC69F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0410FAED5400000000 + E7A30F046780922C00000000 + E7A30F046F242FCD00000000 + E7A30F04A4102F5800000000 + E7A30F04CC46725300000000 + E7A30F04BD9A98BF00000000 + E7A30F045AF3E12600000000 + E7A30F0432A9982200000000 + E7A30F0443D90B7200000000 + E7A30F04613B100F00000000 + E7A30F04772A4CE700000000 + E7A30F0436F99F4700000000 + E7A30F04294008B500000000 + E7A30F04750E2FBD00000000 + E7A30F0452F66BEA00000000 + E7A30F0406439FCA00000000 + E7A30F04A971DC6B00000000 + E7A30F04026AB5EE00000000 + E7A30F04E3E3C1AB00000000 + E7A30F04484836D000000000 + E7A30F04CC504DAD00000000 + E7A30F0414A1B7F900000000 + E7A30F04811188AD00000000 + E7A30F04EB9A7A0600000000 + E7A30F04A2A3D82700000000 + E7A30F049B2EC69F00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E291FCEFAA000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E294D1D6A0A00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29C0B4156C00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E5A42857500000000 + + isa + PBXNativeTarget + name + WatchCommonWatch + productName + WatchCommonWatch + productReference + 1DD70E29E0D8ED6D00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479304F7D4AF00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E5A42857500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479304F7D4AF00000000 + + \ No newline at end of file diff --git a/submodules/WatchCommon/Watch/Watch.xcodeproj/xcshareddata/xcschemes/Watch.xcscheme b/submodules/WatchCommon/Watch/Watch.xcodeproj/xcshareddata/xcschemes/Watch.xcscheme new file mode 100644 index 0000000000..5b8dad249d --- /dev/null +++ b/submodules/WatchCommon/Watch/Watch.xcodeproj/xcshareddata/xcschemes/Watch.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WatchCommon/WatchCommon.xcodeproj/project.pbxproj b/submodules/WatchCommon/WatchCommon.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..dbbdd0249e --- /dev/null +++ b/submodules/WatchCommon/WatchCommon.xcodeproj/project.pbxproj @@ -0,0 +1,2397 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29CAF2A9FB00000000 + + isa + PBXFileReference + name + WatchCommon-Debug.xcconfig + path + ../../buck-out/gen/submodules/WatchCommon/WatchCommon-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29BE12AEA500000000 + + isa + PBXFileReference + name + WatchCommon-Profile.xcconfig + path + ../../buck-out/gen/submodules/WatchCommon/WatchCommon-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2931A95A0700000000 + + isa + PBXFileReference + name + WatchCommon-Release.xcconfig + path + ../../buck-out/gen/submodules/WatchCommon/WatchCommon-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E291FCEFAA000000000 + + isa + PBXFileReference + name + WatchCommonWatch-Debug.xcconfig + path + ../../buck-out/gen/submodules/WatchCommon/WatchCommonWatch-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294D1D6A0A00000000 + + isa + PBXFileReference + name + WatchCommonWatch-Profile.xcconfig + path + ../../buck-out/gen/submodules/WatchCommon/WatchCommonWatch-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29C0B4156C00000000 + + isa + PBXFileReference + name + WatchCommonWatch-Release.xcconfig + path + ../../buck-out/gen/submodules/WatchCommon/WatchCommonWatch-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29CAF2A9FB00000000 + 1DD70E29BE12AEA500000000 + 1DD70E2931A95A0700000000 + 1DD70E291FCEFAA000000000 + 1DD70E294D1D6A0A00000000 + 1DD70E29C0B4156C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E298011D88800000000 + + isa + PBXFileReference + name + libWatchCommon.a + path + libWatchCommon.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29E0D8ED6D00000000 + + isa + PBXFileReference + name + libWatchCommonWatch.a + path + libWatchCommonWatch.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E298011D88800000000 + 1DD70E29E0D8ED6D00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2910FAED4F00000000 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.h + path + Sources/TGBridgeActionMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2910FAED5400000000 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.m + path + Sources/TGBridgeActionMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296780922700000000 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.h + path + Sources/TGBridgeAudioMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296780922C00000000 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.m + path + Sources/TGBridgeAudioMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296F242FC800000000 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.h + path + Sources/TGBridgeBotCommandInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296F242FCD00000000 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.m + path + Sources/TGBridgeBotCommandInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A4102F5300000000 + + isa + PBXFileReference + name + TGBridgeBotInfo.h + path + Sources/TGBridgeBotInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A4102F5800000000 + + isa + PBXFileReference + name + TGBridgeBotInfo.m + path + Sources/TGBridgeBotInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC46724E00000000 + + isa + PBXFileReference + name + TGBridgeChat.h + path + Sources/TGBridgeChat.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC46725300000000 + + isa + PBXFileReference + name + TGBridgeChat.m + path + Sources/TGBridgeChat.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29BD9A98BA00000000 + + isa + PBXFileReference + name + TGBridgeChatMessages.h + path + Sources/TGBridgeChatMessages.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BD9A98BF00000000 + + isa + PBXFileReference + name + TGBridgeChatMessages.m + path + Sources/TGBridgeChatMessages.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295AF3E12100000000 + + isa + PBXFileReference + name + TGBridgeCommon.h + path + Sources/TGBridgeCommon.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295AF3E12600000000 + + isa + PBXFileReference + name + TGBridgeCommon.m + path + Sources/TGBridgeCommon.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2932A9981D00000000 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.h + path + Sources/TGBridgeContactMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2932A9982200000000 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.m + path + Sources/TGBridgeContactMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2943D90B6D00000000 + + isa + PBXFileReference + name + TGBridgeContext.h + path + Sources/TGBridgeContext.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2943D90B7200000000 + + isa + PBXFileReference + name + TGBridgeContext.m + path + Sources/TGBridgeContext.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29613B100A00000000 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.h + path + Sources/TGBridgeDocumentMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29613B100F00000000 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.m + path + Sources/TGBridgeDocumentMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29772A4CE200000000 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.h + path + Sources/TGBridgeForwardedMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29772A4CE700000000 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.m + path + Sources/TGBridgeForwardedMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2936F99F4200000000 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.h + path + Sources/TGBridgeImageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2936F99F4700000000 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.m + path + Sources/TGBridgeImageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29294008B000000000 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.h + path + Sources/TGBridgeLocationMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29294008B500000000 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.m + path + Sources/TGBridgeLocationMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29750E2FB800000000 + + isa + PBXFileReference + name + TGBridgeLocationVenue.h + path + Sources/TGBridgeLocationVenue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29750E2FBD00000000 + + isa + PBXFileReference + name + TGBridgeLocationVenue.m + path + Sources/TGBridgeLocationVenue.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2952F66BE500000000 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.h + path + Sources/TGBridgeMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2952F66BEA00000000 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.m + path + Sources/TGBridgeMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2906439FC500000000 + + isa + PBXFileReference + name + TGBridgeMessage.h + path + Sources/TGBridgeMessage.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2906439FCA00000000 + + isa + PBXFileReference + name + TGBridgeMessage.m + path + Sources/TGBridgeMessage.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A971DC6600000000 + + isa + PBXFileReference + name + TGBridgeMessageEntities.h + path + Sources/TGBridgeMessageEntities.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A971DC6B00000000 + + isa + PBXFileReference + name + TGBridgeMessageEntities.m + path + Sources/TGBridgeMessageEntities.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29026AB5E900000000 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.h + path + Sources/TGBridgeMessageEntitiesAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29026AB5EE00000000 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.m + path + Sources/TGBridgeMessageEntitiesAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2947AA647000000000 + + isa + PBXFileReference + name + TGBridgePeerIdAdapter.h + path + Sources/TGBridgePeerIdAdapter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1A600000000 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.h + path + Sources/TGBridgePeerNotificationSettings.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1AB00000000 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.m + path + Sources/TGBridgePeerNotificationSettings.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29484836CB00000000 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.h + path + Sources/TGBridgeReplyMarkupMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29484836D000000000 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.m + path + Sources/TGBridgeReplyMarkupMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC504DA800000000 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.h + path + Sources/TGBridgeReplyMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC504DAD00000000 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.m + path + Sources/TGBridgeReplyMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2914A1B7F400000000 + + isa + PBXFileReference + name + TGBridgeSubscriptions.h + path + Sources/TGBridgeSubscriptions.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2914A1B7F900000000 + + isa + PBXFileReference + name + TGBridgeSubscriptions.m + path + Sources/TGBridgeSubscriptions.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29811188A800000000 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.h + path + Sources/TGBridgeUnsupportedMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29811188AD00000000 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.m + path + Sources/TGBridgeUnsupportedMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29EB9A7A0100000000 + + isa + PBXFileReference + name + TGBridgeUser.h + path + Sources/TGBridgeUser.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EB9A7A0600000000 + + isa + PBXFileReference + name + TGBridgeUser.m + path + Sources/TGBridgeUser.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A2A3D82200000000 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.h + path + Sources/TGBridgeVideoMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A2A3D82700000000 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.m + path + Sources/TGBridgeVideoMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299B2EC69A00000000 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.h + path + Sources/TGBridgeWebPageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299B2EC69F00000000 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.m + path + Sources/TGBridgeWebPageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2910FAED4F00000000 + 1DD70E2910FAED5400000000 + 1DD70E296780922700000000 + 1DD70E296780922C00000000 + 1DD70E296F242FC800000000 + 1DD70E296F242FCD00000000 + 1DD70E29A4102F5300000000 + 1DD70E29A4102F5800000000 + 1DD70E29CC46724E00000000 + 1DD70E29CC46725300000000 + 1DD70E29BD9A98BA00000000 + 1DD70E29BD9A98BF00000000 + 1DD70E295AF3E12100000000 + 1DD70E295AF3E12600000000 + 1DD70E2932A9981D00000000 + 1DD70E2932A9982200000000 + 1DD70E2943D90B6D00000000 + 1DD70E2943D90B7200000000 + 1DD70E29613B100A00000000 + 1DD70E29613B100F00000000 + 1DD70E29772A4CE200000000 + 1DD70E29772A4CE700000000 + 1DD70E2936F99F4200000000 + 1DD70E2936F99F4700000000 + 1DD70E29294008B000000000 + 1DD70E29294008B500000000 + 1DD70E29750E2FB800000000 + 1DD70E29750E2FBD00000000 + 1DD70E2952F66BE500000000 + 1DD70E2952F66BEA00000000 + 1DD70E2906439FC500000000 + 1DD70E2906439FCA00000000 + 1DD70E29A971DC6600000000 + 1DD70E29A971DC6B00000000 + 1DD70E29026AB5E900000000 + 1DD70E29026AB5EE00000000 + 1DD70E2947AA647000000000 + 1DD70E29E3E3C1A600000000 + 1DD70E29E3E3C1AB00000000 + 1DD70E29484836CB00000000 + 1DD70E29484836D000000000 + 1DD70E29CC504DA800000000 + 1DD70E29CC504DAD00000000 + 1DD70E2914A1B7F400000000 + 1DD70E2914A1B7F900000000 + 1DD70E29811188A800000000 + 1DD70E29811188AD00000000 + 1DD70E29EB9A7A0100000000 + 1DD70E29EB9A7A0600000000 + 1DD70E29A2A3D82200000000 + 1DD70E29A2A3D82700000000 + 1DD70E299B2EC69A00000000 + 1DD70E299B2EC69F00000000 + + + B401C9797ACF6B7A00000000 + + isa + PBXGroup + name + WatchCommon + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + 1DD70E29001F47FB00000001 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2910FAED4F00000001 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.h + path + Sources/TGBridgeActionMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2910FAED5400000001 + + isa + PBXFileReference + name + TGBridgeActionMediaAttachment.m + path + Sources/TGBridgeActionMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296780922700000001 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.h + path + Sources/TGBridgeAudioMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296780922C00000001 + + isa + PBXFileReference + name + TGBridgeAudioMediaAttachment.m + path + Sources/TGBridgeAudioMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296F242FC800000001 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.h + path + Sources/TGBridgeBotCommandInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296F242FCD00000001 + + isa + PBXFileReference + name + TGBridgeBotCommandInfo.m + path + Sources/TGBridgeBotCommandInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A4102F5300000001 + + isa + PBXFileReference + name + TGBridgeBotInfo.h + path + Sources/TGBridgeBotInfo.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A4102F5800000001 + + isa + PBXFileReference + name + TGBridgeBotInfo.m + path + Sources/TGBridgeBotInfo.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC46724E00000001 + + isa + PBXFileReference + name + TGBridgeChat.h + path + Sources/TGBridgeChat.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC46725300000001 + + isa + PBXFileReference + name + TGBridgeChat.m + path + Sources/TGBridgeChat.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29BD9A98BA00000001 + + isa + PBXFileReference + name + TGBridgeChatMessages.h + path + Sources/TGBridgeChatMessages.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BD9A98BF00000001 + + isa + PBXFileReference + name + TGBridgeChatMessages.m + path + Sources/TGBridgeChatMessages.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E295AF3E12100000001 + + isa + PBXFileReference + name + TGBridgeCommon.h + path + Sources/TGBridgeCommon.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295AF3E12600000001 + + isa + PBXFileReference + name + TGBridgeCommon.m + path + Sources/TGBridgeCommon.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2932A9981D00000001 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.h + path + Sources/TGBridgeContactMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2932A9982200000001 + + isa + PBXFileReference + name + TGBridgeContactMediaAttachment.m + path + Sources/TGBridgeContactMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2943D90B6D00000001 + + isa + PBXFileReference + name + TGBridgeContext.h + path + Sources/TGBridgeContext.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2943D90B7200000001 + + isa + PBXFileReference + name + TGBridgeContext.m + path + Sources/TGBridgeContext.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29613B100A00000001 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.h + path + Sources/TGBridgeDocumentMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29613B100F00000001 + + isa + PBXFileReference + name + TGBridgeDocumentMediaAttachment.m + path + Sources/TGBridgeDocumentMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29772A4CE200000001 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.h + path + Sources/TGBridgeForwardedMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29772A4CE700000001 + + isa + PBXFileReference + name + TGBridgeForwardedMessageMediaAttachment.m + path + Sources/TGBridgeForwardedMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2936F99F4200000001 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.h + path + Sources/TGBridgeImageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2936F99F4700000001 + + isa + PBXFileReference + name + TGBridgeImageMediaAttachment.m + path + Sources/TGBridgeImageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29294008B000000001 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.h + path + Sources/TGBridgeLocationMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29294008B500000001 + + isa + PBXFileReference + name + TGBridgeLocationMediaAttachment.m + path + Sources/TGBridgeLocationMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29750E2FB800000001 + + isa + PBXFileReference + name + TGBridgeLocationVenue.h + path + Sources/TGBridgeLocationVenue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29750E2FBD00000001 + + isa + PBXFileReference + name + TGBridgeLocationVenue.m + path + Sources/TGBridgeLocationVenue.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2952F66BE500000001 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.h + path + Sources/TGBridgeMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2952F66BEA00000001 + + isa + PBXFileReference + name + TGBridgeMediaAttachment.m + path + Sources/TGBridgeMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2906439FC500000001 + + isa + PBXFileReference + name + TGBridgeMessage.h + path + Sources/TGBridgeMessage.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2906439FCA00000001 + + isa + PBXFileReference + name + TGBridgeMessage.m + path + Sources/TGBridgeMessage.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A971DC6600000001 + + isa + PBXFileReference + name + TGBridgeMessageEntities.h + path + Sources/TGBridgeMessageEntities.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A971DC6B00000001 + + isa + PBXFileReference + name + TGBridgeMessageEntities.m + path + Sources/TGBridgeMessageEntities.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29026AB5E900000001 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.h + path + Sources/TGBridgeMessageEntitiesAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29026AB5EE00000001 + + isa + PBXFileReference + name + TGBridgeMessageEntitiesAttachment.m + path + Sources/TGBridgeMessageEntitiesAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2947AA647000000001 + + isa + PBXFileReference + name + TGBridgePeerIdAdapter.h + path + Sources/TGBridgePeerIdAdapter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1A600000001 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.h + path + Sources/TGBridgePeerNotificationSettings.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E3C1AB00000001 + + isa + PBXFileReference + name + TGBridgePeerNotificationSettings.m + path + Sources/TGBridgePeerNotificationSettings.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29484836CB00000001 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.h + path + Sources/TGBridgeReplyMarkupMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29484836D000000001 + + isa + PBXFileReference + name + TGBridgeReplyMarkupMediaAttachment.m + path + Sources/TGBridgeReplyMarkupMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29CC504DA800000001 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.h + path + Sources/TGBridgeReplyMessageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC504DAD00000001 + + isa + PBXFileReference + name + TGBridgeReplyMessageMediaAttachment.m + path + Sources/TGBridgeReplyMessageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2914A1B7F400000001 + + isa + PBXFileReference + name + TGBridgeSubscriptions.h + path + Sources/TGBridgeSubscriptions.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2914A1B7F900000001 + + isa + PBXFileReference + name + TGBridgeSubscriptions.m + path + Sources/TGBridgeSubscriptions.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29811188A800000001 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.h + path + Sources/TGBridgeUnsupportedMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29811188AD00000001 + + isa + PBXFileReference + name + TGBridgeUnsupportedMediaAttachment.m + path + Sources/TGBridgeUnsupportedMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29EB9A7A0100000001 + + isa + PBXFileReference + name + TGBridgeUser.h + path + Sources/TGBridgeUser.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EB9A7A0600000001 + + isa + PBXFileReference + name + TGBridgeUser.m + path + Sources/TGBridgeUser.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29A2A3D82200000001 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.h + path + Sources/TGBridgeVideoMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A2A3D82700000001 + + isa + PBXFileReference + name + TGBridgeVideoMediaAttachment.m + path + Sources/TGBridgeVideoMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299B2EC69A00000001 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.h + path + Sources/TGBridgeWebPageMediaAttachment.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299B2EC69F00000001 + + isa + PBXFileReference + name + TGBridgeWebPageMediaAttachment.m + path + Sources/TGBridgeWebPageMediaAttachment.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2904A27AF400000000 + + isa + PBXFileReference + name + WatchCommon.h + path + Sources/WatchCommon.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000001 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2910FAED4F00000001 + 1DD70E2910FAED5400000001 + 1DD70E296780922700000001 + 1DD70E296780922C00000001 + 1DD70E296F242FC800000001 + 1DD70E296F242FCD00000001 + 1DD70E29A4102F5300000001 + 1DD70E29A4102F5800000001 + 1DD70E29CC46724E00000001 + 1DD70E29CC46725300000001 + 1DD70E29BD9A98BA00000001 + 1DD70E29BD9A98BF00000001 + 1DD70E295AF3E12100000001 + 1DD70E295AF3E12600000001 + 1DD70E2932A9981D00000001 + 1DD70E2932A9982200000001 + 1DD70E2943D90B6D00000001 + 1DD70E2943D90B7200000001 + 1DD70E29613B100A00000001 + 1DD70E29613B100F00000001 + 1DD70E29772A4CE200000001 + 1DD70E29772A4CE700000001 + 1DD70E2936F99F4200000001 + 1DD70E2936F99F4700000001 + 1DD70E29294008B000000001 + 1DD70E29294008B500000001 + 1DD70E29750E2FB800000001 + 1DD70E29750E2FBD00000001 + 1DD70E2952F66BE500000001 + 1DD70E2952F66BEA00000001 + 1DD70E2906439FC500000001 + 1DD70E2906439FCA00000001 + 1DD70E29A971DC6600000001 + 1DD70E29A971DC6B00000001 + 1DD70E29026AB5E900000001 + 1DD70E29026AB5EE00000001 + 1DD70E2947AA647000000001 + 1DD70E29E3E3C1A600000001 + 1DD70E29E3E3C1AB00000001 + 1DD70E29484836CB00000001 + 1DD70E29484836D000000001 + 1DD70E29CC504DA800000001 + 1DD70E29CC504DAD00000001 + 1DD70E2914A1B7F400000001 + 1DD70E2914A1B7F900000001 + 1DD70E29811188A800000001 + 1DD70E29811188AD00000001 + 1DD70E29EB9A7A0100000001 + 1DD70E29EB9A7A0600000001 + 1DD70E29A2A3D82200000001 + 1DD70E29A2A3D82700000001 + 1DD70E299B2EC69A00000001 + 1DD70E299B2EC69F00000001 + 1DD70E2904A27AF400000000 + + + B401C9795A42857500000000 + + isa + PBXGroup + name + WatchCommonWatch + sourceTree + ]]> + children + + 1DD70E29001F47FB00000001 + B401C979EAB5339800000001 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C9797ACF6B7A00000000 + B401C9795A42857500000000 + + + E7A30F0410FAED5400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2910FAED5400000000 + + E7A30F046780922C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296780922C00000000 + + E7A30F046F242FCD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296F242FCD00000000 + + E7A30F04A4102F5800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A4102F5800000000 + + E7A30F04CC46725300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC46725300000000 + + E7A30F04BD9A98BF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BD9A98BF00000000 + + E7A30F045AF3E12600000000 + + isa + PBXBuildFile + fileRef + 1DD70E295AF3E12600000000 + + E7A30F0432A9982200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2932A9982200000000 + + E7A30F0443D90B7200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2943D90B7200000000 + + E7A30F04613B100F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29613B100F00000000 + + E7A30F04772A4CE700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29772A4CE700000000 + + E7A30F0436F99F4700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936F99F4700000000 + + E7A30F04294008B500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29294008B500000000 + + E7A30F04750E2FBD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29750E2FBD00000000 + + E7A30F0452F66BEA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952F66BEA00000000 + + E7A30F0406439FCA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2906439FCA00000000 + + E7A30F04A971DC6B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A971DC6B00000000 + + E7A30F04026AB5EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29026AB5EE00000000 + + E7A30F04E3E3C1AB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3E3C1AB00000000 + + E7A30F04484836D000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29484836D000000000 + + E7A30F04CC504DAD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CC504DAD00000000 + + E7A30F0414A1B7F900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914A1B7F900000000 + + E7A30F04811188AD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29811188AD00000000 + + E7A30F04EB9A7A0600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EB9A7A0600000000 + + E7A30F04A2A3D82700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A2A3D82700000000 + + E7A30F049B2EC69F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299B2EC69F00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0410FAED5400000000 + E7A30F046780922C00000000 + E7A30F046F242FCD00000000 + E7A30F04A4102F5800000000 + E7A30F04CC46725300000000 + E7A30F04BD9A98BF00000000 + E7A30F045AF3E12600000000 + E7A30F0432A9982200000000 + E7A30F0443D90B7200000000 + E7A30F04613B100F00000000 + E7A30F04772A4CE700000000 + E7A30F0436F99F4700000000 + E7A30F04294008B500000000 + E7A30F04750E2FBD00000000 + E7A30F0452F66BEA00000000 + E7A30F0406439FCA00000000 + E7A30F04A971DC6B00000000 + E7A30F04026AB5EE00000000 + E7A30F04E3E3C1AB00000000 + E7A30F04484836D000000000 + E7A30F04CC504DAD00000000 + E7A30F0414A1B7F900000000 + E7A30F04811188AD00000000 + E7A30F04EB9A7A0600000000 + E7A30F04A2A3D82700000000 + E7A30F049B2EC69F00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29CAF2A9FB00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29BE12AEA500000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2931A95A0700000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E7ACF6B7A00000000 + + isa + PBXNativeTarget + name + WatchCommon + productName + WatchCommon + productReference + 1DD70E298011D88800000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + E7A30F0410FAED5400000001 + + isa + PBXBuildFile + fileRef + 1DD70E2910FAED5400000001 + + E7A30F046780922C00000001 + + isa + PBXBuildFile + fileRef + 1DD70E296780922C00000001 + + E7A30F046F242FCD00000001 + + isa + PBXBuildFile + fileRef + 1DD70E296F242FCD00000001 + + E7A30F04A4102F5800000001 + + isa + PBXBuildFile + fileRef + 1DD70E29A4102F5800000001 + + E7A30F04CC46725300000001 + + isa + PBXBuildFile + fileRef + 1DD70E29CC46725300000001 + + E7A30F04BD9A98BF00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29BD9A98BF00000001 + + E7A30F045AF3E12600000001 + + isa + PBXBuildFile + fileRef + 1DD70E295AF3E12600000001 + + E7A30F0432A9982200000001 + + isa + PBXBuildFile + fileRef + 1DD70E2932A9982200000001 + + E7A30F0443D90B7200000001 + + isa + PBXBuildFile + fileRef + 1DD70E2943D90B7200000001 + + E7A30F04613B100F00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29613B100F00000001 + + E7A30F04772A4CE700000001 + + isa + PBXBuildFile + fileRef + 1DD70E29772A4CE700000001 + + E7A30F0436F99F4700000001 + + isa + PBXBuildFile + fileRef + 1DD70E2936F99F4700000001 + + E7A30F04294008B500000001 + + isa + PBXBuildFile + fileRef + 1DD70E29294008B500000001 + + E7A30F04750E2FBD00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29750E2FBD00000001 + + E7A30F0452F66BEA00000001 + + isa + PBXBuildFile + fileRef + 1DD70E2952F66BEA00000001 + + E7A30F0406439FCA00000001 + + isa + PBXBuildFile + fileRef + 1DD70E2906439FCA00000001 + + E7A30F04A971DC6B00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29A971DC6B00000001 + + E7A30F04026AB5EE00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29026AB5EE00000001 + + E7A30F04E3E3C1AB00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29E3E3C1AB00000001 + + E7A30F04484836D000000001 + + isa + PBXBuildFile + fileRef + 1DD70E29484836D000000001 + + E7A30F04CC504DAD00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29CC504DAD00000001 + + E7A30F0414A1B7F900000001 + + isa + PBXBuildFile + fileRef + 1DD70E2914A1B7F900000001 + + E7A30F04811188AD00000001 + + isa + PBXBuildFile + fileRef + 1DD70E29811188AD00000001 + + E7A30F04EB9A7A0600000001 + + isa + PBXBuildFile + fileRef + 1DD70E29EB9A7A0600000001 + + E7A30F04A2A3D82700000001 + + isa + PBXBuildFile + fileRef + 1DD70E29A2A3D82700000001 + + E7A30F049B2EC69F00000001 + + isa + PBXBuildFile + fileRef + 1DD70E299B2EC69F00000001 + + 1870857F0000000000000001 + + isa + PBXSourcesBuildPhase + files + + E7A30F0410FAED5400000001 + E7A30F046780922C00000001 + E7A30F046F242FCD00000001 + E7A30F04A4102F5800000001 + E7A30F04CC46725300000001 + E7A30F04BD9A98BF00000001 + E7A30F045AF3E12600000001 + E7A30F0432A9982200000001 + E7A30F0443D90B7200000001 + E7A30F04613B100F00000001 + E7A30F04772A4CE700000001 + E7A30F0436F99F4700000001 + E7A30F04294008B500000001 + E7A30F04750E2FBD00000001 + E7A30F0452F66BEA00000001 + E7A30F0406439FCA00000001 + E7A30F04A971DC6B00000001 + E7A30F04026AB5EE00000001 + E7A30F04E3E3C1AB00000001 + E7A30F04484836D000000001 + E7A30F04CC504DAD00000001 + E7A30F0414A1B7F900000001 + E7A30F04811188AD00000001 + E7A30F04EB9A7A0600000001 + E7A30F04A2A3D82700000001 + E7A30F049B2EC69F00000001 + + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E291FCEFAA000000000 + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E294D1D6A0A00000000 + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29C0B4156C00000000 + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + E66DC04E5A42857500000000 + + isa + PBXNativeTarget + name + WatchCommonWatch + productName + WatchCommonWatch + productReference + 1DD70E29E0D8ED6D00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000001 + + buildConfigurationList + 218C37090000000000000001 + + 4952437303EDA63300000002 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000002 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000002 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000002 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000002 + 4952437350C7218900000002 + 49524373A439BFE700000002 + + defaultConfigurationIsVisible + + + 96C847937ACF6B7A00000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E7ACF6B7A00000000 + E66DC04E5A42857500000000 + + buildConfigurationList + 218C37090000000000000002 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847937ACF6B7A00000000 + + \ No newline at end of file diff --git a/submodules/WatchCommon/WatchCommon.xcodeproj/xcshareddata/xcschemes/WatchCommon.xcscheme b/submodules/WatchCommon/WatchCommon.xcodeproj/xcshareddata/xcschemes/WatchCommon.xcscheme new file mode 100644 index 0000000000..37d134fcc7 --- /dev/null +++ b/submodules/WatchCommon/WatchCommon.xcodeproj/xcshareddata/xcschemes/WatchCommon.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WebSearchUI/BUCK b/submodules/WebSearchUI/BUCK new file mode 100644 index 0000000000..b53c2f6d56 --- /dev/null +++ b/submodules/WebSearchUI/BUCK @@ -0,0 +1,34 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WebSearchUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + "//submodules/Postbox:Postbox#shared", + "//submodules/TelegramCore:TelegramCore#shared", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/AccountContext:AccountContext", + "//submodules/LegacyComponents:LegacyComponents", + "//submodules/TelegramUIPreferences:TelegramUIPreferences", + "//submodules/MergeLists:MergeLists", + "//submodules/GalleryUI:GalleryUI", + "//submodules/ChatListSearchItemHeader:ChatListSearchItemHeader", + "//submodules/TelegramUniversalVideoContent:TelegramUniversalVideoContent", + "//submodules/CheckNode:CheckNode", + "//submodules/PhotoResources:PhotoResources", + "//submodules/SearchBarNode:SearchBarNode", + "//submodules/ItemListUI:ItemListUI", + "//submodules/LegacyMediaPickerUI:LegacyMediaPickerUI", + "//submodules/AppBundle:AppBundle", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/QuickLook.framework", + ], +) diff --git a/submodules/WebSearchUI/Sources/FrameworkBundle.swift b/submodules/WebSearchUI/Sources/FrameworkBundle.swift deleted file mode 100644 index 8ca13d7d92..0000000000 --- a/submodules/WebSearchUI/Sources/FrameworkBundle.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Foundation -import UIKit - -private class FrameworkBundleClass: NSObject { -} - -let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self) - -extension UIImage { - convenience init?(bundleImageName: String) { - self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil) - } -} diff --git a/submodules/WebSearchUI/Sources/WebSearchControllerNode.swift b/submodules/WebSearchUI/Sources/WebSearchControllerNode.swift index c10344cfd0..a47c63ea0a 100644 --- a/submodules/WebSearchUI/Sources/WebSearchControllerNode.swift +++ b/submodules/WebSearchUI/Sources/WebSearchControllerNode.swift @@ -12,6 +12,7 @@ import MergeLists import AccountContext import GalleryUI import ChatListSearchItemHeader +import AppBundle private struct WebSearchContextResultStableId: Hashable { let result: ChatContextResult diff --git a/submodules/WebSearchUI/WebSearchUI.xcodeproj/project.pbxproj b/submodules/WebSearchUI/WebSearchUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..dc58d668cb --- /dev/null +++ b/submodules/WebSearchUI/WebSearchUI.xcodeproj/project.pbxproj @@ -0,0 +1,1785 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2972E87D2500000000 + + isa + PBXFileReference + name + WebSearchUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/WebSearchUI/WebSearchUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E293FE05F4F00000000 + + isa + PBXFileReference + name + WebSearchUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/WebSearchUI/WebSearchUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29B3770AB100000000 + + isa + PBXFileReference + name + WebSearchUI-Release.xcconfig + path + ../../buck-out/gen/submodules/WebSearchUI/WebSearchUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2972E87D2500000000 + 1DD70E293FE05F4F00000000 + 1DD70E29B3770AB100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E299D2580DA00000000 + + isa + PBXFileReference + name + libAccountContext.a + path + libAccountContext.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291E16CC6C00000000 + + isa + PBXFileReference + name + libActionSheetPeerItem.a + path + libActionSheetPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BF0846EE00000000 + + isa + PBXFileReference + name + libActivityIndicator.a + path + libActivityIndicator.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292420028600000000 + + isa + PBXFileReference + name + libAnimationUI.a + path + libAnimationUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A54A195300000000 + + isa + PBXFileReference + name + libAvatarNode.a + path + libAvatarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FD72F45600000000 + + isa + PBXFileReference + name + libChatListSearchItemHeader.a + path + libChatListSearchItemHeader.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E297AB043C800000000 + + isa + PBXFileReference + name + libChatListSearchRecentPeersNode.a + path + libChatListSearchRecentPeersNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2997B4D6D800000000 + + isa + PBXFileReference + name + libCheckNode.a + path + libCheckNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292417E0B200000000 + + isa + PBXFileReference + name + libDeviceAccess.a + path + libDeviceAccess.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295915423000000000 + + isa + PBXFileReference + name + libDeviceLocationManager.a + path + libDeviceLocationManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29F29DEA1400000000 + + isa + PBXFileReference + name + libGalleryUI.a + path + libGalleryUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2971ED41B100000000 + + isa + PBXFileReference + name + libHorizontalPeerItem.a + path + libHorizontalPeerItem.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D6F14E1000000000 + + isa + PBXFileReference + name + libImageBlur.a + path + libImageBlur.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C6E517A300000000 + + isa + PBXFileReference + name + libImageCompression.a + path + libImageCompression.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29247D9AC100000000 + + isa + PBXFileReference + name + libImageTransparency.a + path + libImageTransparency.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E295A26607D00000000 + + isa + PBXFileReference + name + libItemListUI.a + path + libItemListUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E296C39078B00000000 + + isa + PBXFileReference + name + libLegacyMediaPickerUI.a + path + libLegacyMediaPickerUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2952137F3500000000 + + isa + PBXFileReference + name + libLegacyUI.a + path + libLegacyUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AC43662400000000 + + isa + PBXFileReference + name + libListSectionHeaderNode.a + path + libListSectionHeaderNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2968BAC05A00000000 + + isa + PBXFileReference + name + libLocalMediaResources.a + path + libLocalMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CE34063500000000 + + isa + PBXFileReference + name + libLocalizedPeerData.a + path + libLocalizedPeerData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2936DE2CF900000000 + + isa + PBXFileReference + name + libMediaResources.a + path + libMediaResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C37F741500000000 + + isa + PBXFileReference + name + libMergeLists.a + path + libMergeLists.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29AF00DC4900000000 + + isa + PBXFileReference + name + libOpenInExternalAppUI.a + path + libOpenInExternalAppUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29928D142900000000 + + isa + PBXFileReference + name + libPeerOnlineMarkerNode.a + path + libPeerOnlineMarkerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D233F68C00000000 + + isa + PBXFileReference + name + libPeerPresenceStatusManager.a + path + libPeerPresenceStatusManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29490601EB00000000 + + isa + PBXFileReference + name + libPhotoResources.a + path + libPhotoResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E290F1A3C6400000000 + + isa + PBXFileReference + name + libPlatformRestrictionMatching.a + path + libPlatformRestrictionMatching.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DB6520C800000000 + + isa + PBXFileReference + name + libPostbox.dylib + path + libPostbox.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E29CBE117ED00000000 + + isa + PBXFileReference + name + libProgressNavigationButtonNode.a + path + libProgressNavigationButtonNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293E4DE92B00000000 + + isa + PBXFileReference + name + libRadialStatusNode.a + path + libRadialStatusNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E291D58331200000000 + + isa + PBXFileReference + name + libSaveToCameraRoll.a + path + libSaveToCameraRoll.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CF967D4300000000 + + isa + PBXFileReference + name + libScreenCaptureDetection.a + path + libScreenCaptureDetection.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29EA9CBB5B00000000 + + isa + PBXFileReference + name + libSearchBarNode.a + path + libSearchBarNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29097DBE9200000000 + + isa + PBXFileReference + name + libSelectablePeerNode.a + path + libSelectablePeerNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2981AE180900000000 + + isa + PBXFileReference + name + libShareController.a + path + libShareController.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E293594DCC000000000 + + isa + PBXFileReference + name + libStickerResources.a + path + libStickerResources.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29D65BA68200000000 + + isa + PBXFileReference + name + libSwiftSignalKit.dylib + path + libSwiftSignalKit.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E296A346AC200000000 + + isa + PBXFileReference + name + libSwipeToDismissGesture.a + path + libSwipeToDismissGesture.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2925BBFEEE00000000 + + isa + PBXFileReference + name + libSwitchNode.a + path + libSwitchNode.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F33FDAC300000000 + + isa + PBXFileReference + name + libTelegramAudio.a + path + libTelegramAudio.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29119CDA0700000000 + + isa + PBXFileReference + name + libTelegramCore.dylib + path + libTelegramCore.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + 1DD70E2984A59C1D00000000 + + isa + PBXFileReference + name + libTelegramPresentationData.a + path + libTelegramPresentationData.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29DD3C940F00000000 + + isa + PBXFileReference + name + libTelegramStringFormatting.a + path + libTelegramStringFormatting.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E292395015100000000 + + isa + PBXFileReference + name + libTelegramUIPreferences.a + path + libTelegramUIPreferences.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29C7E0F39600000000 + + isa + PBXFileReference + name + libTelegramUniversalVideoContent.a + path + libTelegramUniversalVideoContent.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29BA06E3A600000000 + + isa + PBXFileReference + name + libTemporaryCachedPeerDataManager.a + path + libTemporaryCachedPeerDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29F0C15F9C00000000 + + isa + PBXFileReference + name + libTextFormat.a + path + libTextFormat.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29B4B05B7A00000000 + + isa + PBXFileReference + name + libTinyThumbnail.a + path + libTinyThumbnail.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29CD296A8300000000 + + isa + PBXFileReference + name + libTuples.a + path + libTuples.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E2951398CF200000000 + + isa + PBXFileReference + name + libUniversalMediaPlayer.a + path + libUniversalMediaPlayer.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29597BAFBB00000000 + + isa + PBXFileReference + name + libUrlEscaping.a + path + libUrlEscaping.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E299D2580DA00000000 + 1DD70E291E16CC6C00000000 + 1DD70E29BF0846EE00000000 + 1DD70E292420028600000000 + 1DD70E29A54A195300000000 + 1DD70E29FD72F45600000000 + 1DD70E297AB043C800000000 + 1DD70E2997B4D6D800000000 + 1DD70E292417E0B200000000 + 1DD70E295915423000000000 + 1DD70E29FF334B1F00000000 + 1DD70E29F29DEA1400000000 + 1DD70E2971ED41B100000000 + 1DD70E29D6F14E1000000000 + 1DD70E29C6E517A300000000 + 1DD70E29247D9AC100000000 + 1DD70E295A26607D00000000 + 1DD70E296C39078B00000000 + 1DD70E2952137F3500000000 + 1DD70E29AC43662400000000 + 1DD70E2968BAC05A00000000 + 1DD70E29CE34063500000000 + 1DD70E2936DE2CF900000000 + 1DD70E29C37F741500000000 + 1DD70E29AF00DC4900000000 + 1DD70E29928D142900000000 + 1DD70E29D233F68C00000000 + 1DD70E29490601EB00000000 + 1DD70E290F1A3C6400000000 + 1DD70E29DB6520C800000000 + 1DD70E29CBE117ED00000000 + 1DD70E293E4DE92B00000000 + 1DD70E291D58331200000000 + 1DD70E29CF967D4300000000 + 1DD70E29EA9CBB5B00000000 + 1DD70E29097DBE9200000000 + 1DD70E2981AE180900000000 + 1DD70E293594DCC000000000 + 1DD70E29D65BA68200000000 + 1DD70E296A346AC200000000 + 1DD70E2925BBFEEE00000000 + 1DD70E29F33FDAC300000000 + 1DD70E29119CDA0700000000 + 1DD70E2984A59C1D00000000 + 1DD70E29DD3C940F00000000 + 1DD70E292395015100000000 + 1DD70E29C7E0F39600000000 + 1DD70E29BA06E3A600000000 + 1DD70E29F0C15F9C00000000 + 1DD70E29B4B05B7A00000000 + 1DD70E29CD296A8300000000 + 1DD70E2951398CF200000000 + 1DD70E29597BAFBB00000000 + 1DD70E29A6BAE8A300000000 + + + 1DD70E29DF12291E00000000 + + isa + PBXFileReference + name + libWebSearchUI.a + path + libWebSearchUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29DF12291E00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EB1ECA2500000000 + + isa + PBXFileReference + name + LegacyWebSearchEditor.swift + path + Sources/LegacyWebSearchEditor.swift + sourceTree + SOURCE_ROOT + + 1DD70E2999E4D30400000000 + + isa + PBXFileReference + name + LegacyWebSearchGallery.swift + path + Sources/LegacyWebSearchGallery.swift + sourceTree + SOURCE_ROOT + + 1DD70E296E94698E00000000 + + isa + PBXFileReference + name + WebSearchBadgeNode.swift + path + Sources/WebSearchBadgeNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2910DAA35D00000000 + + isa + PBXFileReference + name + WebSearchController.swift + path + Sources/WebSearchController.swift + sourceTree + SOURCE_ROOT + + 1DD70E29615707FF00000000 + + isa + PBXFileReference + name + WebSearchControllerNode.swift + path + Sources/WebSearchControllerNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2935BBAF1700000000 + + isa + PBXFileReference + name + WebSearchGalleryController.swift + path + Sources/WebSearchGalleryController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2923730D8F00000000 + + isa + PBXFileReference + name + WebSearchGalleryFooterContentNode.swift + path + Sources/WebSearchGalleryFooterContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E29409F379900000000 + + isa + PBXFileReference + name + WebSearchInterfaceState.swift + path + Sources/WebSearchInterfaceState.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DA32CA9400000000 + + isa + PBXFileReference + name + WebSearchItem.swift + path + Sources/WebSearchItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29EBE5193000000000 + + isa + PBXFileReference + name + WebSearchNavigationContentNode.swift + path + Sources/WebSearchNavigationContentNode.swift + sourceTree + SOURCE_ROOT + + 1DD70E2968D5F35400000000 + + isa + PBXFileReference + name + WebSearchRecentQueries.swift + path + Sources/WebSearchRecentQueries.swift + sourceTree + SOURCE_ROOT + + 1DD70E294DABADE900000000 + + isa + PBXFileReference + name + WebSearchRecentQueryItem.swift + path + Sources/WebSearchRecentQueryItem.swift + sourceTree + SOURCE_ROOT + + 1DD70E29DFCE264B00000000 + + isa + PBXFileReference + name + WebSearchVideoGalleryItem.swift + path + Sources/WebSearchVideoGalleryItem.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EB1ECA2500000000 + 1DD70E2999E4D30400000000 + 1DD70E296E94698E00000000 + 1DD70E2910DAA35D00000000 + 1DD70E29615707FF00000000 + 1DD70E2935BBAF1700000000 + 1DD70E2923730D8F00000000 + 1DD70E29409F379900000000 + 1DD70E29DA32CA9400000000 + 1DD70E29EBE5193000000000 + 1DD70E2968D5F35400000000 + 1DD70E294DABADE900000000 + 1DD70E29DFCE264B00000000 + + + B401C979F5B6E99000000000 + + isa + PBXGroup + name + WebSearchUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C979F5B6E99000000000 + + + E7A30F04EB1ECA2500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EB1ECA2500000000 + + E7A30F0499E4D30400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2999E4D30400000000 + + E7A30F046E94698E00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296E94698E00000000 + + E7A30F0410DAA35D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2910DAA35D00000000 + + E7A30F04615707FF00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29615707FF00000000 + + E7A30F0435BBAF1700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2935BBAF1700000000 + + E7A30F0423730D8F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2923730D8F00000000 + + E7A30F04409F379900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29409F379900000000 + + E7A30F04DA32CA9400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DA32CA9400000000 + + E7A30F04EBE5193000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EBE5193000000000 + + E7A30F0468D5F35400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968D5F35400000000 + + E7A30F044DABADE900000000 + + isa + PBXBuildFile + fileRef + 1DD70E294DABADE900000000 + + E7A30F04DFCE264B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DFCE264B00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EB1ECA2500000000 + E7A30F0499E4D30400000000 + E7A30F046E94698E00000000 + E7A30F0410DAA35D00000000 + E7A30F04615707FF00000000 + E7A30F0435BBAF1700000000 + E7A30F0423730D8F00000000 + E7A30F04409F379900000000 + E7A30F04DA32CA9400000000 + E7A30F04EBE5193000000000 + E7A30F0468D5F35400000000 + E7A30F044DABADE900000000 + E7A30F04DFCE264B00000000 + + + E7A30F04D65BA68200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D65BA68200000000 + + E7A30F045915423000000000 + + isa + PBXBuildFile + fileRef + 1DD70E295915423000000000 + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + E7A30F04DB6520C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DB6520C800000000 + + E7A30F04F33FDAC300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F33FDAC300000000 + + E7A30F04119CDA0700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29119CDA0700000000 + + E7A30F0451398CF200000000 + + isa + PBXBuildFile + fileRef + 1DD70E2951398CF200000000 + + E7A30F0436DE2CF900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936DE2CF900000000 + + E7A30F042395015100000000 + + isa + PBXBuildFile + fileRef + 1DD70E292395015100000000 + + E7A30F0484A59C1D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2984A59C1D00000000 + + E7A30F04CE34063500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CE34063500000000 + + E7A30F040F1A3C6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E290F1A3C6400000000 + + E7A30F04F0C15F9C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F0C15F9C00000000 + + E7A30F04DD3C940F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DD3C940F00000000 + + E7A30F04BA06E3A600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BA06E3A600000000 + + E7A30F049D2580DA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E299D2580DA00000000 + + E7A30F04AC43662400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AC43662400000000 + + E7A30F04FD72F45600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FD72F45600000000 + + E7A30F0497B4D6D800000000 + + isa + PBXBuildFile + fileRef + 1DD70E2997B4D6D800000000 + + E7A30F04D6F14E1000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D6F14E1000000000 + + E7A30F04247D9AC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29247D9AC100000000 + + E7A30F04B4B05B7A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B4B05B7A00000000 + + E7A30F04CD296A8300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CD296A8300000000 + + E7A30F04490601EB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29490601EB00000000 + + E7A30F04597BAFBB00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29597BAFBB00000000 + + E7A30F04AF00DC4900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29AF00DC4900000000 + + E7A30F04CF967D4300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CF967D4300000000 + + E7A30F043594DCC000000000 + + isa + PBXBuildFile + fileRef + 1DD70E293594DCC000000000 + + E7A30F042420028600000000 + + isa + PBXBuildFile + fileRef + 1DD70E292420028600000000 + + E7A30F04A54A195300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A54A195300000000 + + E7A30F041E16CC6C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E291E16CC6C00000000 + + E7A30F04BF0846EE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BF0846EE00000000 + + E7A30F04928D142900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29928D142900000000 + + E7A30F04097DBE9200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29097DBE9200000000 + + E7A30F0471ED41B100000000 + + isa + PBXBuildFile + fileRef + 1DD70E2971ED41B100000000 + + E7A30F04C37F741500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C37F741500000000 + + E7A30F047AB043C800000000 + + isa + PBXBuildFile + fileRef + 1DD70E297AB043C800000000 + + E7A30F04D233F68C00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D233F68C00000000 + + E7A30F043E4DE92B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E293E4DE92B00000000 + + E7A30F042417E0B200000000 + + isa + PBXBuildFile + fileRef + 1DD70E292417E0B200000000 + + E7A30F041D58331200000000 + + isa + PBXBuildFile + fileRef + 1DD70E291D58331200000000 + + E7A30F0481AE180900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2981AE180900000000 + + E7A30F046A346AC200000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A346AC200000000 + + E7A30F04C7E0F39600000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C7E0F39600000000 + + E7A30F04A6BAE8A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A6BAE8A300000000 + + E7A30F04F29DEA1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29F29DEA1400000000 + + E7A30F04CBE117ED00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29CBE117ED00000000 + + E7A30F0425BBFEEE00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2925BBFEEE00000000 + + E7A30F045A26607D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295A26607D00000000 + + E7A30F0452137F3500000000 + + isa + PBXBuildFile + fileRef + 1DD70E2952137F3500000000 + + E7A30F04C6E517A300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29C6E517A300000000 + + E7A30F0468BAC05A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2968BAC05A00000000 + + E7A30F046C39078B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296C39078B00000000 + + E7A30F04EA9CBB5B00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EA9CBB5B00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04D65BA68200000000 + E7A30F045915423000000000 + E7A30F04FF334B1F00000000 + E7A30F04DB6520C800000000 + E7A30F04F33FDAC300000000 + E7A30F04119CDA0700000000 + E7A30F0451398CF200000000 + E7A30F0436DE2CF900000000 + E7A30F042395015100000000 + E7A30F0484A59C1D00000000 + E7A30F04CE34063500000000 + E7A30F040F1A3C6400000000 + E7A30F04F0C15F9C00000000 + E7A30F04DD3C940F00000000 + E7A30F04BA06E3A600000000 + E7A30F049D2580DA00000000 + E7A30F04AC43662400000000 + E7A30F04FD72F45600000000 + E7A30F0497B4D6D800000000 + E7A30F04D6F14E1000000000 + E7A30F04247D9AC100000000 + E7A30F04B4B05B7A00000000 + E7A30F04CD296A8300000000 + E7A30F04490601EB00000000 + E7A30F04597BAFBB00000000 + E7A30F04AF00DC4900000000 + E7A30F04CF967D4300000000 + E7A30F043594DCC000000000 + E7A30F042420028600000000 + E7A30F04A54A195300000000 + E7A30F041E16CC6C00000000 + E7A30F04BF0846EE00000000 + E7A30F04928D142900000000 + E7A30F04097DBE9200000000 + E7A30F0471ED41B100000000 + E7A30F04C37F741500000000 + E7A30F047AB043C800000000 + E7A30F04D233F68C00000000 + E7A30F043E4DE92B00000000 + E7A30F042417E0B200000000 + E7A30F041D58331200000000 + E7A30F0481AE180900000000 + E7A30F046A346AC200000000 + E7A30F04C7E0F39600000000 + E7A30F04A6BAE8A300000000 + E7A30F04F29DEA1400000000 + E7A30F04CBE117ED00000000 + E7A30F0425BBFEEE00000000 + E7A30F045A26607D00000000 + E7A30F0452137F3500000000 + E7A30F04C6E517A300000000 + E7A30F0468BAC05A00000000 + E7A30F046C39078B00000000 + E7A30F04EA9CBB5B00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2972E87D2500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E293FE05F4F00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29B3770AB100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EF5B6E99000000000 + + isa + PBXNativeTarget + name + WebSearchUI + productName + WebSearchUI + productReference + 1DD70E29DF12291E00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793F5B6E99000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EF5B6E99000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793F5B6E99000000000 + + \ No newline at end of file diff --git a/submodules/WebSearchUI/WebSearchUI.xcodeproj/xcshareddata/xcschemes/WebSearchUI.xcscheme b/submodules/WebSearchUI/WebSearchUI.xcodeproj/xcshareddata/xcschemes/WebSearchUI.xcscheme new file mode 100644 index 0000000000..ca3cab0cc3 --- /dev/null +++ b/submodules/WebSearchUI/WebSearchUI.xcodeproj/xcshareddata/xcschemes/WebSearchUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WebSearchUI/WebSearchUI_Xcode.xcodeproj/project.pbxproj b/submodules/WebSearchUI/WebSearchUI_Xcode.xcodeproj/project.pbxproj index 8deb66fd50..c739eba93d 100644 --- a/submodules/WebSearchUI/WebSearchUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/WebSearchUI/WebSearchUI_Xcode.xcodeproj/project.pbxproj @@ -42,7 +42,7 @@ D03E3F5D2304C3E20049C28B /* LegacyWebSearchEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E3F5A2304C3E20049C28B /* LegacyWebSearchEditor.swift */; }; D03E3F5E2304C3E20049C28B /* LegacyWebSearchGallery.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E3F5B2304C3E20049C28B /* LegacyWebSearchGallery.swift */; }; D03E3FA22304C5AA0049C28B /* LegacyMediaPickerUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3FA12304C5AA0049C28B /* LegacyMediaPickerUI.framework */; }; - D03E3FA42304C5D00049C28B /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E3FA32304C5D00049C28B /* FrameworkBundle.swift */; }; + D0EFF270231982BB00CF5164 /* AppBundle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0EFF26F231982BB00CF5164 /* AppBundle.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -83,7 +83,7 @@ D03E3F5A2304C3E20049C28B /* LegacyWebSearchEditor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LegacyWebSearchEditor.swift; sourceTree = ""; }; D03E3F5B2304C3E20049C28B /* LegacyWebSearchGallery.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LegacyWebSearchGallery.swift; sourceTree = ""; }; D03E3FA12304C5AA0049C28B /* LegacyMediaPickerUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LegacyMediaPickerUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E3FA32304C5D00049C28B /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; }; + D0EFF26F231982BB00CF5164 /* AppBundle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AppBundle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -91,6 +91,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0EFF270231982BB00CF5164 /* AppBundle.framework in Frameworks */, D03E3FA22304C5AA0049C28B /* LegacyMediaPickerUI.framework in Frameworks */, D03E3F562304C37F0049C28B /* ItemListUI.framework in Frameworks */, D03E3F542304C3730049C28B /* SearchBarNode.framework in Frameworks */, @@ -152,7 +153,6 @@ D03E3F1B2304C2DF0049C28B /* WebSearchNavigationContentNode.swift */, D03E3F1F2304C2DF0049C28B /* WebSearchRecentQueries.swift */, D03E3F1C2304C2DF0049C28B /* WebSearchRecentQueryItem.swift */, - D03E3FA32304C5D00049C28B /* FrameworkBundle.swift */, D03E3F0E2304C2530049C28B /* WebSearchUI.h */, ); path = Sources; @@ -161,6 +161,7 @@ D03E3F2E2304C2ED0049C28B /* Frameworks */ = { isa = PBXGroup; children = ( + D0EFF26F231982BB00CF5164 /* AppBundle.framework */, D03E3FA12304C5AA0049C28B /* LegacyMediaPickerUI.framework */, D03E3F552304C37F0049C28B /* ItemListUI.framework */, D03E3F532304C3730049C28B /* SearchBarNode.framework */, @@ -278,7 +279,6 @@ D03E3F272304C2E00049C28B /* WebSearchGalleryFooterContentNode.swift in Sources */, D03E3F2B2304C2E00049C28B /* WebSearchControllerNode.swift in Sources */, D03E3F5D2304C3E20049C28B /* LegacyWebSearchEditor.swift in Sources */, - D03E3FA42304C5D00049C28B /* FrameworkBundle.swift in Sources */, D03E3F262304C2E00049C28B /* WebSearchRecentQueryItem.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/submodules/WebUI/BUCK b/submodules/WebUI/BUCK new file mode 100644 index 0000000000..73067e9373 --- /dev/null +++ b/submodules/WebUI/BUCK @@ -0,0 +1,17 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WebUI", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/AsyncDisplayKit:AsyncDisplayKit#shared", + "//submodules/Display:Display#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/WebKit.framework", + ], +) diff --git a/submodules/WebUI/WebUI.xcodeproj/project.pbxproj b/submodules/WebUI/WebUI.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7b1c3e788c --- /dev/null +++ b/submodules/WebUI/WebUI.xcodeproj/project.pbxproj @@ -0,0 +1,399 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29DD71AEED00000000 + + isa + PBXFileReference + name + WebUI-Debug.xcconfig + path + ../../buck-out/gen/submodules/WebUI/WebUI-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292CE43F1700000000 + + isa + PBXFileReference + name + WebUI-Profile.xcconfig + path + ../../buck-out/gen/submodules/WebUI/WebUI-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29A07AEA7900000000 + + isa + PBXFileReference + name + WebUI-Release.xcconfig + path + ../../buck-out/gen/submodules/WebUI/WebUI-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29DD71AEED00000000 + 1DD70E292CE43F1700000000 + 1DD70E29A07AEA7900000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FF334B1F00000000 + + isa + PBXFileReference + name + libDisplay.dylib + path + libDisplay.dylib + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + compiled.mach-o.dylib + + B401C97968022A5500000000 + + isa + PBXGroup + name + Frameworks + sourceTree + ]]> + children + + 1DD70E29FF334B1F00000000 + + + 1DD70E294F64C29600000000 + + isa + PBXFileReference + name + libWebUI.a + path + libWebUI.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E294F64C29600000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29EB00189500000000 + + isa + PBXFileReference + name + WebController.swift + path + Sources/WebController.swift + sourceTree + SOURCE_ROOT + + 1DD70E2914CF213700000000 + + isa + PBXFileReference + name + WebControllerNode.swift + path + Sources/WebControllerNode.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29EB00189500000000 + 1DD70E2914CF213700000000 + + + B401C97904F960C800000000 + + isa + PBXGroup + name + WebUI + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C97968022A5500000000 + B401C979C806358400000000 + B401C97904F960C800000000 + + + E7A30F04EB00189500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29EB00189500000000 + + E7A30F0414CF213700000000 + + isa + PBXBuildFile + fileRef + 1DD70E2914CF213700000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04EB00189500000000 + E7A30F0414CF213700000000 + + + E7A30F04FF334B1F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29FF334B1F00000000 + + FAF5FAC90000000000000000 + + isa + PBXCopyFilesBuildPhase + files + + E7A30F04FF334B1F00000000 + + name + Fake Swift Dependencies (Copy Files Phase) + runOnlyForDeploymentPostprocessing + 1 + dstSubfolderSpec + 16 + dstPath + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29DD71AEED00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E292CE43F1700000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29A07AEA7900000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E04F960C800000000 + + isa + PBXNativeTarget + name + WebUI + productName + WebUI + productReference + 1DD70E294F64C29600000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + FAF5FAC90000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479304F960C800000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E04F960C800000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479304F960C800000000 + + \ No newline at end of file diff --git a/submodules/WebUI/WebUI.xcodeproj/xcshareddata/xcschemes/WebUI.xcscheme b/submodules/WebUI/WebUI.xcodeproj/xcshareddata/xcschemes/WebUI.xcscheme new file mode 100644 index 0000000000..14e707a342 --- /dev/null +++ b/submodules/WebUI/WebUI.xcodeproj/xcshareddata/xcschemes/WebUI.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/WebsiteType/BUCK b/submodules/WebsiteType/BUCK new file mode 100644 index 0000000000..cc609e752b --- /dev/null +++ b/submodules/WebsiteType/BUCK @@ -0,0 +1,11 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "WebsiteType", + srcs = glob([ + "Sources/**/*.swift", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/WebsiteType/WebsiteType.xcodeproj/project.pbxproj b/submodules/WebsiteType/WebsiteType.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..c353101ab6 --- /dev/null +++ b/submodules/WebsiteType/WebsiteType.xcodeproj/project.pbxproj @@ -0,0 +1,327 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E292DE7DDC000000000 + + isa + PBXFileReference + name + WebsiteType-Debug.xcconfig + path + ../../buck-out/gen/submodules/WebsiteType/WebsiteType-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29388A052A00000000 + + isa + PBXFileReference + name + WebsiteType-Profile.xcconfig + path + ../../buck-out/gen/submodules/WebsiteType/WebsiteType-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29AC20B08C00000000 + + isa + PBXFileReference + name + WebsiteType-Release.xcconfig + path + ../../buck-out/gen/submodules/WebsiteType/WebsiteType-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E292DE7DDC000000000 + 1DD70E29388A052A00000000 + 1DD70E29AC20B08C00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29A6BAE8A300000000 + + isa + PBXFileReference + name + libWebsiteType.a + path + libWebsiteType.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29A6BAE8A300000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2936341D3A00000000 + + isa + PBXFileReference + name + WebsiteType.swift + path + Sources/WebsiteType.swift + sourceTree + SOURCE_ROOT + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2936341D3A00000000 + + + B401C979E523C65500000000 + + isa + PBXGroup + name + WebsiteType + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979E523C65500000000 + + + E7A30F0436341D3A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2936341D3A00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0436341D3A00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E292DE7DDC000000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29388A052A00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29AC20B08C00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EE523C65500000000 + + isa + PBXNativeTarget + name + WebsiteType + productName + WebsiteType + productReference + 1DD70E29A6BAE8A300000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793E523C65500000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EE523C65500000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793E523C65500000000 + + \ No newline at end of file diff --git a/submodules/WebsiteType/WebsiteType.xcodeproj/xcshareddata/xcschemes/WebsiteType.xcscheme b/submodules/WebsiteType/WebsiteType.xcodeproj/xcshareddata/xcschemes/WebsiteType.xcscheme new file mode 100644 index 0000000000..fd3db71e51 --- /dev/null +++ b/submodules/WebsiteType/WebsiteType.xcodeproj/xcshareddata/xcschemes/WebsiteType.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/YuvConversion/BUCK b/submodules/YuvConversion/BUCK new file mode 100644 index 0000000000..735ac133f2 --- /dev/null +++ b/submodules/YuvConversion/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "YuvConversion", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/YuvConversion.h"]), + exported_headers = glob([ + "Sources/*.h", + ], exclude = ["Sources/YuvConversion.h"]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/Accelerate.framework", + ], +) diff --git a/submodules/YuvConversion/YuvConversion.xcodeproj/project.pbxproj b/submodules/YuvConversion/YuvConversion.xcodeproj/project.pbxproj index 43d47d6dec..11051c6cbe 100644 --- a/submodules/YuvConversion/YuvConversion.xcodeproj/project.pbxproj +++ b/submodules/YuvConversion/YuvConversion.xcodeproj/project.pbxproj @@ -1,532 +1,343 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - D03E3E782304B63E0049C28B /* YuvConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E3E762304B63E0049C28B /* YuvConversion.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D03E3E842304B6BA0049C28B /* YUV.m in Sources */ = {isa = PBXBuildFile; fileRef = D03E3E822304B6BA0049C28B /* YUV.m */; }; - D03E3E852304B6BA0049C28B /* YUV.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E3E832304B6BA0049C28B /* YUV.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D03E3E882304B6D30049C28B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3E872304B6D30049C28B /* Foundation.framework */; }; - D03E3E8A2304B6D80049C28B /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3E892304B6D80049C28B /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - D03E3E732304B63E0049C28B /* YuvConversion.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YuvConversion.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D03E3E762304B63E0049C28B /* YuvConversion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuvConversion.h; sourceTree = ""; }; - D03E3E772304B63E0049C28B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D03E3E822304B6BA0049C28B /* YUV.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YUV.m; sourceTree = ""; }; - D03E3E832304B6BA0049C28B /* YUV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YUV.h; sourceTree = ""; }; - D03E3E872304B6D30049C28B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - D03E3E892304B6D80049C28B /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D03E3E702304B63E0049C28B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D03E3E8A2304B6D80049C28B /* Accelerate.framework in Frameworks */, - D03E3E882304B6D30049C28B /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - D03E3E692304B63E0049C28B = { - isa = PBXGroup; - children = ( - D03E3E772304B63E0049C28B /* Info.plist */, - D03E3E752304B63E0049C28B /* Sources */, - D03E3E742304B63E0049C28B /* Products */, - D03E3E862304B6D20049C28B /* Frameworks */, - ); - sourceTree = ""; - }; - D03E3E742304B63E0049C28B /* Products */ = { - isa = PBXGroup; - children = ( - D03E3E732304B63E0049C28B /* YuvConversion.framework */, - ); - name = Products; - sourceTree = ""; - }; - D03E3E752304B63E0049C28B /* Sources */ = { - isa = PBXGroup; - children = ( - D03E3E832304B6BA0049C28B /* YUV.h */, - D03E3E822304B6BA0049C28B /* YUV.m */, - D03E3E762304B63E0049C28B /* YuvConversion.h */, - ); - path = Sources; - sourceTree = ""; - }; - D03E3E862304B6D20049C28B /* Frameworks */ = { - isa = PBXGroup; - children = ( - D03E3E892304B6D80049C28B /* Accelerate.framework */, - D03E3E872304B6D30049C28B /* Foundation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - D03E3E6E2304B63E0049C28B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D03E3E782304B63E0049C28B /* YuvConversion.h in Headers */, - D03E3E852304B6BA0049C28B /* YUV.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - D03E3E722304B63E0049C28B /* YuvConversion */ = { - isa = PBXNativeTarget; - buildConfigurationList = D03E3E7B2304B63E0049C28B /* Build configuration list for PBXNativeTarget "YuvConversion" */; - buildPhases = ( - D03E3E6E2304B63E0049C28B /* Headers */, - D03E3E6F2304B63E0049C28B /* Sources */, - D03E3E702304B63E0049C28B /* Frameworks */, - D03E3E712304B63E0049C28B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = YuvConversion; - productName = YuvConversion; - productReference = D03E3E732304B63E0049C28B /* YuvConversion.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D03E3E6A2304B63E0049C28B /* Project object */ = { - isa = PBXProject; - attributes = { - DefaultBuildSystemTypeForWorkspace = Latest; - LastUpgradeCheck = 1030; - ORGANIZATIONNAME = "Telegram Messenger LLP"; - TargetAttributes = { - D03E3E722304B63E0049C28B = { - CreatedOnToolsVersion = 10.3; - }; - }; - }; - buildConfigurationList = D03E3E6D2304B63E0049C28B /* Build configuration list for PBXProject "YuvConversion" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = D03E3E692304B63E0049C28B; - productRefGroup = D03E3E742304B63E0049C28B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D03E3E722304B63E0049C28B /* YuvConversion */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - D03E3E712304B63E0049C28B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - D03E3E6F2304B63E0049C28B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D03E3E842304B6BA0049C28B /* YUV.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - D03E3E792304B63E0049C28B /* DebugAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = DebugAppStoreLLC; - }; - D03E3E7A2304B63E0049C28B /* ReleaseAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = ReleaseAppStoreLLC; - }; - D03E3E7C2304B63E0049C28B /* DebugAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = DebugAppStoreLLC; - }; - D03E3E7D2304B63E0049C28B /* ReleaseAppStoreLLC */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = ReleaseAppStoreLLC; - }; - D03E3E7E2304B6680049C28B /* DebugHockeyapp */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = DebugHockeyapp; - }; - D03E3E7F2304B6680049C28B /* DebugHockeyapp */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = DebugHockeyapp; - }; - D03E3E802304B6780049C28B /* ReleaseHockeyappInternal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = ReleaseHockeyappInternal; - }; - D03E3E812304B6780049C28B /* ReleaseHockeyappInternal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = ReleaseHockeyappInternal; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - D03E3E6D2304B63E0049C28B /* Build configuration list for PBXProject "YuvConversion" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D03E3E792304B63E0049C28B /* DebugAppStoreLLC */, - D03E3E7E2304B6680049C28B /* DebugHockeyapp */, - D03E3E7A2304B63E0049C28B /* ReleaseAppStoreLLC */, - D03E3E802304B6780049C28B /* ReleaseHockeyappInternal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ReleaseAppStoreLLC; - }; - D03E3E7B2304B63E0049C28B /* Build configuration list for PBXNativeTarget "YuvConversion" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D03E3E7C2304B63E0049C28B /* DebugAppStoreLLC */, - D03E3E7F2304B6680049C28B /* DebugHockeyapp */, - D03E3E7D2304B63E0049C28B /* ReleaseAppStoreLLC */, - D03E3E812304B6780049C28B /* ReleaseHockeyappInternal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ReleaseAppStoreLLC; - }; -/* End XCConfigurationList section */ - }; - rootObject = D03E3E6A2304B63E0049C28B /* Project object */; -} + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2933A9CD4500000000 + + isa + PBXFileReference + name + YuvConversion-Debug.xcconfig + path + ../../buck-out/gen/submodules/YuvConversion/YuvConversion-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29D58E276F00000000 + + isa + PBXFileReference + name + YuvConversion-Profile.xcconfig + path + ../../buck-out/gen/submodules/YuvConversion/YuvConversion-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E294924D2D100000000 + + isa + PBXFileReference + name + YuvConversion-Release.xcconfig + path + ../../buck-out/gen/submodules/YuvConversion/YuvConversion-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2933A9CD4500000000 + 1DD70E29D58E276F00000000 + 1DD70E294924D2D100000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29FB702A3E00000000 + + isa + PBXFileReference + name + libYuvConversion.a + path + libYuvConversion.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29FB702A3E00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29050E183400000000 + + isa + PBXFileReference + name + YUV.h + path + Sources/YUV.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29050E183900000000 + + isa + PBXFileReference + name + YUV.m + path + Sources/YUV.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29050E183400000000 + 1DD70E29050E183900000000 + + + B401C97901C35D7000000000 + + isa + PBXGroup + name + YuvConversion + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C97901C35D7000000000 + + + E7A30F04050E183900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29050E183900000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F04050E183900000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2933A9CD4500000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29D58E276F00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E294924D2D100000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E01C35D7000000000 + + isa + PBXNativeTarget + name + YuvConversion + productName + YuvConversion + productReference + 1DD70E29FB702A3E00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C8479301C35D7000000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E01C35D7000000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C8479301C35D7000000000 + + \ No newline at end of file diff --git a/submodules/YuvConversion/YuvConversion.xcodeproj/xcshareddata/xcschemes/YuvConversion.xcscheme b/submodules/YuvConversion/YuvConversion.xcodeproj/xcshareddata/xcschemes/YuvConversion.xcscheme new file mode 100644 index 0000000000..f44e5ccee7 --- /dev/null +++ b/submodules/YuvConversion/YuvConversion.xcodeproj/xcshareddata/xcschemes/YuvConversion.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/YuvConversion/YuvConversion_Xcode.xcodeproj/project.pbxproj b/submodules/YuvConversion/YuvConversion_Xcode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..d2536aa321 --- /dev/null +++ b/submodules/YuvConversion/YuvConversion_Xcode.xcodeproj/project.pbxproj @@ -0,0 +1,532 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + D03E3E782304B63E0049C28B /* YuvConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E3E762304B63E0049C28B /* YuvConversion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D03E3E842304B6BA0049C28B /* YUV.m in Sources */ = {isa = PBXBuildFile; fileRef = D03E3E822304B6BA0049C28B /* YUV.m */; }; + D03E3E852304B6BA0049C28B /* YUV.h in Headers */ = {isa = PBXBuildFile; fileRef = D03E3E832304B6BA0049C28B /* YUV.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D03E3E882304B6D30049C28B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3E872304B6D30049C28B /* Foundation.framework */; }; + D03E3E8A2304B6D80049C28B /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D03E3E892304B6D80049C28B /* Accelerate.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D03E3E732304B63E0049C28B /* YuvConversion.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YuvConversion.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D03E3E762304B63E0049C28B /* YuvConversion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YuvConversion.h; sourceTree = ""; }; + D03E3E772304B63E0049C28B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D03E3E822304B6BA0049C28B /* YUV.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YUV.m; sourceTree = ""; }; + D03E3E832304B6BA0049C28B /* YUV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YUV.h; sourceTree = ""; }; + D03E3E872304B6D30049C28B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + D03E3E892304B6D80049C28B /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D03E3E702304B63E0049C28B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D03E3E8A2304B6D80049C28B /* Accelerate.framework in Frameworks */, + D03E3E882304B6D30049C28B /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D03E3E692304B63E0049C28B = { + isa = PBXGroup; + children = ( + D03E3E772304B63E0049C28B /* Info.plist */, + D03E3E752304B63E0049C28B /* Sources */, + D03E3E742304B63E0049C28B /* Products */, + D03E3E862304B6D20049C28B /* Frameworks */, + ); + sourceTree = ""; + }; + D03E3E742304B63E0049C28B /* Products */ = { + isa = PBXGroup; + children = ( + D03E3E732304B63E0049C28B /* YuvConversion.framework */, + ); + name = Products; + sourceTree = ""; + }; + D03E3E752304B63E0049C28B /* Sources */ = { + isa = PBXGroup; + children = ( + D03E3E832304B6BA0049C28B /* YUV.h */, + D03E3E822304B6BA0049C28B /* YUV.m */, + D03E3E762304B63E0049C28B /* YuvConversion.h */, + ); + path = Sources; + sourceTree = ""; + }; + D03E3E862304B6D20049C28B /* Frameworks */ = { + isa = PBXGroup; + children = ( + D03E3E892304B6D80049C28B /* Accelerate.framework */, + D03E3E872304B6D30049C28B /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + D03E3E6E2304B63E0049C28B /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D03E3E782304B63E0049C28B /* YuvConversion.h in Headers */, + D03E3E852304B6BA0049C28B /* YUV.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + D03E3E722304B63E0049C28B /* YuvConversion */ = { + isa = PBXNativeTarget; + buildConfigurationList = D03E3E7B2304B63E0049C28B /* Build configuration list for PBXNativeTarget "YuvConversion" */; + buildPhases = ( + D03E3E6E2304B63E0049C28B /* Headers */, + D03E3E6F2304B63E0049C28B /* Sources */, + D03E3E702304B63E0049C28B /* Frameworks */, + D03E3E712304B63E0049C28B /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = YuvConversion; + productName = YuvConversion; + productReference = D03E3E732304B63E0049C28B /* YuvConversion.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D03E3E6A2304B63E0049C28B /* Project object */ = { + isa = PBXProject; + attributes = { + DefaultBuildSystemTypeForWorkspace = Latest; + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = "Telegram Messenger LLP"; + TargetAttributes = { + D03E3E722304B63E0049C28B = { + CreatedOnToolsVersion = 10.3; + }; + }; + }; + buildConfigurationList = D03E3E6D2304B63E0049C28B /* Build configuration list for PBXProject "YuvConversion_Xcode" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = D03E3E692304B63E0049C28B; + productRefGroup = D03E3E742304B63E0049C28B /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D03E3E722304B63E0049C28B /* YuvConversion */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D03E3E712304B63E0049C28B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D03E3E6F2304B63E0049C28B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D03E3E842304B6BA0049C28B /* YUV.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + D03E3E792304B63E0049C28B /* DebugAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugAppStoreLLC; + }; + D03E3E7A2304B63E0049C28B /* ReleaseAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseAppStoreLLC; + }; + D03E3E7C2304B63E0049C28B /* DebugAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugAppStoreLLC; + }; + D03E3E7D2304B63E0049C28B /* ReleaseAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseAppStoreLLC; + }; + D03E3E7E2304B6680049C28B /* DebugHockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugHockeyapp; + }; + D03E3E7F2304B6680049C28B /* DebugHockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugHockeyapp; + }; + D03E3E802304B6780049C28B /* ReleaseHockeyappInternal */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + 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_IMPLICIT_RETAIN_SELF = 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseHockeyappInternal; + }; + D03E3E812304B6780049C28B /* ReleaseHockeyappInternal */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.YuvConversion; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseHockeyappInternal; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D03E3E6D2304B63E0049C28B /* Build configuration list for PBXProject "YuvConversion_Xcode" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D03E3E792304B63E0049C28B /* DebugAppStoreLLC */, + D03E3E7E2304B6680049C28B /* DebugHockeyapp */, + D03E3E7A2304B63E0049C28B /* ReleaseAppStoreLLC */, + D03E3E802304B6780049C28B /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; + D03E3E7B2304B63E0049C28B /* Build configuration list for PBXNativeTarget "YuvConversion" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D03E3E7C2304B63E0049C28B /* DebugAppStoreLLC */, + D03E3E7F2304B6680049C28B /* DebugHockeyapp */, + D03E3E7D2304B63E0049C28B /* ReleaseAppStoreLLC */, + D03E3E812304B6780049C28B /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; +/* End XCConfigurationList section */ + }; + rootObject = D03E3E6A2304B63E0049C28B /* Project object */; +} diff --git a/submodules/ffmpeg/BUCK b/submodules/ffmpeg/BUCK index ef306715d6..82f747f3b8 100644 --- a/submodules/ffmpeg/BUCK +++ b/submodules/ffmpeg/BUCK @@ -1,212 +1,179 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config', 'gen_header_targets', 'lib_basename', 'get_build_variant') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') - -genrule( - name = 'opus_lib', - srcs = [ - 'opus/lib/libopus.a', - ], - bash = 'mkdir -p $OUT; cp $SRCS $OUT/', - out = 'opus_lib', - visibility = [ - '//submodules/ffmpeg:opus', - ] -) - -apple_library( - name = 'opus', - visibility = [ - 'PUBLIC', - ], - header_namespace = 'opus', - exported_headers = glob([ - 'opus/include/opus/*.h', - ]), - exported_linker_flags = [ - '-lopus', - '-L$(location :opus_lib)', - ], -) +load("//Config:buck_rule_macros.bzl", "static_library", "gen_header_targets") ffmpeg_header_paths = [ - 'libavutil/hwcontext.h', - 'libavutil/time.h', - 'libavutil/hwcontext_cuda.h', - 'libavutil/intfloat.h', - 'libavutil/error.h', - 'libavutil/fifo.h', - 'libavutil/blowfish.h', - 'libavutil/hwcontext_mediacodec.h', - 'libavutil/replaygain.h', - 'libavutil/version.h', - 'libavutil/murmur3.h', - 'libavutil/stereo3d.h', - 'libavutil/samplefmt.h', - 'libavutil/pixdesc.h', - 'libavutil/base64.h', - 'libavutil/rational.h', - 'libavutil/sha.h', - 'libavutil/motion_vector.h', - 'libavutil/avconfig.h', - 'libavutil/lfg.h', - 'libavutil/avutil.h', - 'libavutil/xtea.h', - 'libavutil/crc.h', - 'libavutil/hwcontext_vdpau.h', - 'libavutil/frame.h', - 'libavutil/file.h', - 'libavutil/md5.h', - 'libavutil/cast5.h', - 'libavutil/hwcontext_vaapi.h', - 'libavutil/spherical.h', - 'libavutil/ffversion.h', - 'libavutil/audio_fifo.h', - 'libavutil/tree.h', - 'libavutil/threadmessage.h', - 'libavutil/attributes.h', - 'libavutil/adler32.h', - 'libavutil/hwcontext_d3d11va.h', - 'libavutil/timecode.h', - 'libavutil/sha512.h', - 'libavutil/hwcontext_dxva2.h', - 'libavutil/display.h', - 'libavutil/buffer.h', - 'libavutil/camellia.h', - 'libavutil/pixelutils.h', - 'libavutil/hwcontext_drm.h', - 'libavutil/common.h', - 'libavutil/hmac.h', - 'libavutil/eval.h', - 'libavutil/dict.h', - 'libavutil/random_seed.h', - 'libavutil/opt.h', - 'libavutil/mastering_display_metadata.h', - 'libavutil/log.h', - 'libavutil/aes.h', - 'libavutil/macros.h', - 'libavutil/bswap.h', - 'libavutil/rc4.h', - 'libavutil/tea.h', - 'libavutil/cpu.h', - 'libavutil/lzo.h', - 'libavutil/des.h', - 'libavutil/channel_layout.h', - 'libavutil/encryption_info.h', - 'libavutil/twofish.h', - 'libavutil/imgutils.h', - 'libavutil/hwcontext_videotoolbox.h', - 'libavutil/mem.h', - 'libavutil/parseutils.h', - 'libavutil/ripemd.h', - 'libavutil/bprint.h', - 'libavutil/hwcontext_qsv.h', - 'libavutil/pixfmt.h', - 'libavutil/aes_ctr.h', - 'libavutil/timestamp.h', - 'libavutil/downmix_info.h', - 'libavutil/avassert.h', - 'libavutil/hash.h', - 'libavutil/mathematics.h', - 'libavutil/intreadwrite.h', - 'libavutil/avstring.h', - 'libavformat/version.h', - 'libavformat/avio.h', - 'libavformat/avformat.h', - 'libavcodec/adts_parser.h', - 'libavcodec/avcodec.h', - 'libavcodec/version.h', - 'libavcodec/vdpau.h', - 'libavcodec/qsv.h', - 'libavcodec/vaapi.h', - 'libavcodec/videotoolbox.h', - 'libavcodec/xvmc.h', - 'libavcodec/mediacodec.h', - 'libavcodec/d3d11va.h', - 'libavcodec/avfft.h', - 'libavcodec/jni.h', - 'libavcodec/dirac.h', - 'libavcodec/avdct.h', - 'libavcodec/ac3_parser.h', - 'libavcodec/vorbis_parser.h', - 'libavcodec/dxva2.h', - 'libavcodec/dv_profile.h', - 'libswresample/version.h', - 'libswresample/swresample.h', + "libavutil/hwcontext.h", + "libavutil/time.h", + "libavutil/hwcontext_cuda.h", + "libavutil/intfloat.h", + "libavutil/error.h", + "libavutil/fifo.h", + "libavutil/blowfish.h", + "libavutil/hwcontext_mediacodec.h", + "libavutil/replaygain.h", + "libavutil/version.h", + "libavutil/murmur3.h", + "libavutil/stereo3d.h", + "libavutil/samplefmt.h", + "libavutil/pixdesc.h", + "libavutil/base64.h", + "libavutil/rational.h", + "libavutil/sha.h", + "libavutil/motion_vector.h", + "libavutil/avconfig.h", + "libavutil/lfg.h", + "libavutil/avutil.h", + "libavutil/xtea.h", + "libavutil/crc.h", + "libavutil/hwcontext_vdpau.h", + "libavutil/frame.h", + "libavutil/file.h", + "libavutil/md5.h", + "libavutil/cast5.h", + "libavutil/hwcontext_vaapi.h", + "libavutil/spherical.h", + "libavutil/ffversion.h", + "libavutil/audio_fifo.h", + "libavutil/tree.h", + "libavutil/threadmessage.h", + "libavutil/attributes.h", + "libavutil/adler32.h", + "libavutil/hwcontext_d3d11va.h", + "libavutil/timecode.h", + "libavutil/sha512.h", + "libavutil/hwcontext_dxva2.h", + "libavutil/display.h", + "libavutil/buffer.h", + "libavutil/camellia.h", + "libavutil/pixelutils.h", + "libavutil/hwcontext_drm.h", + "libavutil/common.h", + "libavutil/hmac.h", + "libavutil/eval.h", + "libavutil/dict.h", + "libavutil/random_seed.h", + "libavutil/opt.h", + "libavutil/mastering_display_metadata.h", + "libavutil/log.h", + "libavutil/aes.h", + "libavutil/macros.h", + "libavutil/bswap.h", + "libavutil/rc4.h", + "libavutil/tea.h", + "libavutil/cpu.h", + "libavutil/lzo.h", + "libavutil/des.h", + "libavutil/channel_layout.h", + "libavutil/encryption_info.h", + "libavutil/twofish.h", + "libavutil/imgutils.h", + "libavutil/hwcontext_videotoolbox.h", + "libavutil/mem.h", + "libavutil/parseutils.h", + "libavutil/ripemd.h", + "libavutil/bprint.h", + "libavutil/hwcontext_qsv.h", + "libavutil/pixfmt.h", + "libavutil/aes_ctr.h", + "libavutil/timestamp.h", + "libavutil/downmix_info.h", + "libavutil/avassert.h", + "libavutil/hash.h", + "libavutil/mathematics.h", + "libavutil/intreadwrite.h", + "libavutil/avstring.h", + "libavformat/version.h", + "libavformat/avio.h", + "libavformat/avformat.h", + "libavcodec/adts_parser.h", + "libavcodec/avcodec.h", + "libavcodec/version.h", + "libavcodec/vdpau.h", + "libavcodec/qsv.h", + "libavcodec/vaapi.h", + "libavcodec/videotoolbox.h", + "libavcodec/xvmc.h", + "libavcodec/mediacodec.h", + "libavcodec/d3d11va.h", + "libavcodec/avfft.h", + "libavcodec/jni.h", + "libavcodec/dirac.h", + "libavcodec/avdct.h", + "libavcodec/ac3_parser.h", + "libavcodec/vorbis_parser.h", + "libavcodec/dxva2.h", + "libavcodec/dv_profile.h", + "libswresample/version.h", + "libswresample/swresample.h", ] -build_variant = get_build_variant() -library_archs = 'arm64 armv7' if build_variant == 'release' else 'arm64 armv7 x86_64 i386' +library_archs = "arm64 armv7 x86_64"# if native.read_config("custom", "mode") == "project" else "arm64 armv7" genrule( - name = 'libffmpeg_build', + name = "libffmpeg_build", srcs = glob([ "FFMpeg/**/*", - ]), - bash = '$SRCDIR/FFMpeg/build-ffmpeg.sh release "' + library_archs + '" $OUT $SRCDIR/FFMpeg', - out = 'libffmpeg', + ], exclude = ["FFMpeg/**/.*"]), + bash = "$SRCDIR/FFMpeg/build-ffmpeg.sh release \"" + library_archs + "\" $OUT $SRCDIR/FFMpeg", + out = "libffmpeg", visibility = [ - '//submodules/ffmpeg:FFMpeg', - '//submodules/ffmpeg:libffmpeg', + "//submodules/ffmpeg:FFMpeg", + "//submodules/ffmpeg:libffmpeg", ] ) -ffmpeg_header_targets = gen_header_targets(ffmpeg_header_paths, 'ffmpeg_header_', '', 'libffmpeg_build', 'FFmpeg-iOS/include') +ffmpeg_header_targets = gen_header_targets(ffmpeg_header_paths, "ffmpeg_header_", "", "libffmpeg_build", "FFmpeg-iOS/include") apple_library( - name = 'libffmpeg', + name = "libffmpeg", visibility = [ - '//submodules/ffmpeg:FFMpeg' + "//submodules/ffmpeg:FFMpeg" ], - header_namespace = 'ffmpeg', + header_namespace = "ffmpeg", exported_headers = ffmpeg_header_targets, linker_flags = [ - '-L$(location :libffmpeg_build)/FFmpeg-iOS/lib', - '-lavutil', - '-lavcodec', - '-lavformat', - '-lswresample', - '-lbz2', - '-liconv', - '-lz', + "-L$(location :libffmpeg_build)/FFmpeg-iOS/lib", + "-lavutil", + "-lavcodec", + "-lavformat", + "-lswresample", + "-lbz2", + "-liconv", + "-lz", ], exported_linker_flags = [ - '-L$(location :libffmpeg_build)/FFmpeg-iOS/lib', - '-lavutil', - '-lavcodec', - '-lavformat', - '-lswresample', - '-lbz2', - '-liconv', - '-lz', + "-L$(location :libffmpeg_build)/FFmpeg-iOS/lib", + "-lavutil", + "-lavcodec", + "-lavformat", + "-lswresample", + "-lbz2", + "-liconv", + "-lz", ], deps = [ - ':libffmpeg_build', - ':opus', + ":libffmpeg_build", + "//submodules/Opus:opus", ], ) -apple_library( +static_library( name = "FFMpeg", srcs = glob([ "FFMpeg/*.m", ]), - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - header_namespace = 'FFMpeg', headers = ffmpeg_header_targets, exported_headers = glob([ "FFMpeg/*.h", ]), - modular = True, - swift_compiler_flags = ['-suppress-warnings'], - visibility = ["PUBLIC"], deps = [ - ':libffmpeg_build', - ':libffmpeg', - ':opus', + ":libffmpeg_build", + ":libffmpeg", + "//submodules/Opus:opus", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - '$SDKROOT/System/Library/Frameworks/CoreMedia.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/CoreMedia.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", ], ) diff --git a/submodules/ffmpeg/FFMpeg/build-ffmpeg.sh b/submodules/ffmpeg/FFMpeg/build-ffmpeg.sh index e7c155dc02..5086bbe443 100755 --- a/submodules/ffmpeg/FFMpeg/build-ffmpeg.sh +++ b/submodules/ffmpeg/FFMpeg/build-ffmpeg.sh @@ -133,7 +133,7 @@ then CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET" else PLATFORM="iPhoneOS" - CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET -fembed-bitcode" + CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET" if [ "$ARCH" = "arm64" ] then EXPORT="GASPP_FIX_XCODE5=1" diff --git a/submodules/libphonenumber/BUCK b/submodules/libphonenumber/BUCK new file mode 100644 index 0000000000..14fc48fa58 --- /dev/null +++ b/submodules/libphonenumber/BUCK @@ -0,0 +1,22 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "libphonenumber", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = [ + "Sources/NBPhoneNumberDefines.h", + "Sources/NBPhoneNumber.h", + "Sources/NBPhoneNumberUtil.h", + "Sources/NBAsYouTypeFormatter.h", + ], + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/libphonenumber/libphonenumber.xcodeproj/project.pbxproj b/submodules/libphonenumber/libphonenumber.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..92e460009d --- /dev/null +++ b/submodules/libphonenumber/libphonenumber.xcodeproj/project.pbxproj @@ -0,0 +1,789 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E29E45BABE300000000 + + isa + PBXFileReference + name + libphonenumber-Debug.xcconfig + path + ../../buck-out/gen/submodules/libphonenumber/libphonenumber-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E292142D68D00000000 + + isa + PBXFileReference + name + libphonenumber-Profile.xcconfig + path + ../../buck-out/gen/submodules/libphonenumber/libphonenumber-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2994D981EF00000000 + + isa + PBXFileReference + name + libphonenumber-Release.xcconfig + path + ../../buck-out/gen/submodules/libphonenumber/libphonenumber-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E29E45BABE300000000 + 1DD70E292142D68D00000000 + 1DD70E2994D981EF00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29CEF2788A00000000 + + isa + PBXFileReference + name + liblibphonenumber.a + path + liblibphonenumber.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29CEF2788A00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2933905A3100000000 + + isa + PBXFileReference + name + NBAsYouTypeFormatter.h + path + Sources/NBAsYouTypeFormatter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2933905A3600000000 + + isa + PBXFileReference + name + NBAsYouTypeFormatter.m + path + Sources/NBAsYouTypeFormatter.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29061A1CBC00000000 + + isa + PBXFileReference + name + NBMetadataCore.h + path + Sources/NBMetadataCore.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29061A1CC100000000 + + isa + PBXFileReference + name + NBMetadataCore.m + path + Sources/NBMetadataCore.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29799A195D00000000 + + isa + PBXFileReference + name + NBMetadataCoreMapper.h + path + Sources/NBMetadataCoreMapper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29799A196200000000 + + isa + PBXFileReference + name + NBMetadataCoreMapper.m + path + Sources/NBMetadataCoreMapper.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E293EE93FEE00000000 + + isa + PBXFileReference + name + NBMetadataCoreTest.h + path + Sources/NBMetadataCoreTest.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293EE93FF300000000 + + isa + PBXFileReference + name + NBMetadataCoreTest.m + path + Sources/NBMetadataCoreTest.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E296A3A8F0F00000000 + + isa + PBXFileReference + name + NBMetadataCoreTestMapper.h + path + Sources/NBMetadataCoreTestMapper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296A3A8F1400000000 + + isa + PBXFileReference + name + NBMetadataCoreTestMapper.m + path + Sources/NBMetadataCoreTestMapper.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29D4E4884B00000000 + + isa + PBXFileReference + name + NBMetadataHelper.h + path + Sources/NBMetadataHelper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D4E4885000000000 + + isa + PBXFileReference + name + NBMetadataHelper.m + path + Sources/NBMetadataHelper.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2986378D6E00000000 + + isa + PBXFileReference + name + NBNumberFormat.h + path + Sources/NBNumberFormat.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2986378D7300000000 + + isa + PBXFileReference + name + NBNumberFormat.m + path + Sources/NBNumberFormat.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E299959954300000000 + + isa + PBXFileReference + name + NBPhoneMetaData.h + path + Sources/NBPhoneMetaData.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299959954800000000 + + isa + PBXFileReference + name + NBPhoneMetaData.m + path + Sources/NBPhoneMetaData.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29223172C400000000 + + isa + PBXFileReference + name + NBPhoneMetaDataGenerator.h + path + Sources/NBPhoneMetaDataGenerator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29223172C900000000 + + isa + PBXFileReference + name + NBPhoneMetaDataGenerator.m + path + Sources/NBPhoneMetaDataGenerator.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29DE47113D00000000 + + isa + PBXFileReference + name + NBPhoneNumber.h + path + Sources/NBPhoneNumber.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29DE47114200000000 + + isa + PBXFileReference + name + NBPhoneNumber.m + path + Sources/NBPhoneNumber.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E29DBDFB14F00000000 + + isa + PBXFileReference + name + NBPhoneNumberDefines.h + path + Sources/NBPhoneNumberDefines.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29DBDFB15400000000 + + isa + PBXFileReference + name + NBPhoneNumberDefines.m + path + Sources/NBPhoneNumberDefines.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E297B48422E00000000 + + isa + PBXFileReference + name + NBPhoneNumberDesc.h + path + Sources/NBPhoneNumberDesc.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E297B48423300000000 + + isa + PBXFileReference + name + NBPhoneNumberDesc.m + path + Sources/NBPhoneNumberDesc.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E2999199B5F00000000 + + isa + PBXFileReference + name + NBPhoneNumberUtil.h + path + Sources/NBPhoneNumberUtil.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2999199B6400000000 + + isa + PBXFileReference + name + NBPhoneNumberUtil.m + path + Sources/NBPhoneNumberUtil.m + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.objc + + 1DD70E298A34800C00000000 + + isa + PBXFileReference + name + libphonenumber.h + path + Sources/libphonenumber.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E2933905A3100000000 + 1DD70E2933905A3600000000 + 1DD70E29061A1CBC00000000 + 1DD70E29061A1CC100000000 + 1DD70E29799A195D00000000 + 1DD70E29799A196200000000 + 1DD70E293EE93FEE00000000 + 1DD70E293EE93FF300000000 + 1DD70E296A3A8F0F00000000 + 1DD70E296A3A8F1400000000 + 1DD70E29D4E4884B00000000 + 1DD70E29D4E4885000000000 + 1DD70E2986378D6E00000000 + 1DD70E2986378D7300000000 + 1DD70E299959954300000000 + 1DD70E299959954800000000 + 1DD70E29223172C400000000 + 1DD70E29223172C900000000 + 1DD70E29DE47113D00000000 + 1DD70E29DE47114200000000 + 1DD70E29DBDFB14F00000000 + 1DD70E29DBDFB15400000000 + 1DD70E297B48422E00000000 + 1DD70E297B48423300000000 + 1DD70E2999199B5F00000000 + 1DD70E2999199B6400000000 + 1DD70E298A34800C00000000 + + + B401C979FECFD69200000000 + + isa + PBXGroup + name + libphonenumber + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979FECFD69200000000 + + + E7A30F0433905A3600000000 + + isa + PBXBuildFile + fileRef + 1DD70E2933905A3600000000 + + E7A30F04061A1CC100000000 + + isa + PBXBuildFile + fileRef + 1DD70E29061A1CC100000000 + + E7A30F04799A196200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29799A196200000000 + + E7A30F043EE93FF300000000 + + isa + PBXBuildFile + fileRef + 1DD70E293EE93FF300000000 + + E7A30F046A3A8F1400000000 + + isa + PBXBuildFile + fileRef + 1DD70E296A3A8F1400000000 + + E7A30F04D4E4885000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29D4E4885000000000 + + E7A30F0486378D7300000000 + + isa + PBXBuildFile + fileRef + 1DD70E2986378D7300000000 + + E7A30F049959954800000000 + + isa + PBXBuildFile + fileRef + 1DD70E299959954800000000 + + E7A30F04223172C900000000 + + isa + PBXBuildFile + fileRef + 1DD70E29223172C900000000 + + E7A30F04DE47114200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DE47114200000000 + + E7A30F04DBDFB15400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29DBDFB15400000000 + + E7A30F047B48423300000000 + + isa + PBXBuildFile + fileRef + 1DD70E297B48423300000000 + + E7A30F0499199B6400000000 + + isa + PBXBuildFile + fileRef + 1DD70E2999199B6400000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F0433905A3600000000 + E7A30F04061A1CC100000000 + E7A30F04799A196200000000 + E7A30F043EE93FF300000000 + E7A30F046A3A8F1400000000 + E7A30F04D4E4885000000000 + E7A30F0486378D7300000000 + E7A30F049959954800000000 + E7A30F04223172C900000000 + E7A30F04DE47114200000000 + E7A30F04DBDFB15400000000 + E7A30F047B48423300000000 + E7A30F0499199B6400000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E29E45BABE300000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E292142D68D00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2994D981EF00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04EFECFD69200000000 + + isa + PBXNativeTarget + name + libphonenumber + productName + libphonenumber + productReference + 1DD70E29CEF2788A00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793FECFD69200000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04EFECFD69200000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793FECFD69200000000 + + \ No newline at end of file diff --git a/submodules/libphonenumber/libphonenumber.xcodeproj/xcshareddata/xcschemes/libphonenumber.xcscheme b/submodules/libphonenumber/libphonenumber.xcodeproj/xcshareddata/xcschemes/libphonenumber.xcscheme new file mode 100644 index 0000000000..2310cea9da --- /dev/null +++ b/submodules/libphonenumber/libphonenumber.xcodeproj/xcshareddata/xcschemes/libphonenumber.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/libtgvoip/BUCK b/submodules/libtgvoip/BUCK index eed22e6082..6435a94a45 100644 --- a/submodules/libtgvoip/BUCK +++ b/submodules/libtgvoip/BUCK @@ -1,46 +1,40 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config', 'glob_map', 'merge_maps', 'glob_sub_map') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library", "glob_map", "glob_sub_map", "merge_maps") -apple_library( - name = 'tgvoip', +static_library( + name = "libtgvoip", srcs = glob([ - '*.m', - '*.cpp', - 'audio/*.cpp', - 'video/*.cpp', - 'os/darwin/*.m', - 'os/darwin/*.mm', - 'os/darwin/*.cpp', - 'os/posix/*.cpp', - 'webrtc_dsp/**/*.c', - 'webrtc_dsp/**/*.cc', - 'webrtc_dsp/**/*.cpp', - ], exclude = ['os/darwin/*OSX*']), + "*.m", + "*.mm", + "*.cpp", + "audio/*.cpp", + "video/*.cpp", + "os/darwin/*.m", + "os/darwin/*.mm", + "os/darwin/*.cpp", + "os/posix/*.cpp", + "webrtc_dsp/**/*.c", + "webrtc_dsp/**/*.cc", + "webrtc_dsp/**/*.cpp", + ], exclude = ["os/darwin/*OSX*"]), + has_cpp = True, headers = merge_maps([ glob_map(glob([ - '*.h', - 'audio/*.h', - 'video/*.h', + "*.h", + "audio/*.h", + "video/*.h", ])), glob_map(glob([ - 'os/darwin/*.h', - ], exclude = ['os/darwin/*OSX*'])), - glob_sub_map('webrtc_dsp/', [ - 'webrtc_dsp/**/*.h', + "os/darwin/*.h", + ], exclude = ["os/darwin/*OSX*"])), + glob_sub_map("webrtc_dsp/", [ + "webrtc_dsp/**/*.h", ]), ]), - header_namespace = 'tgvoip', exported_headers = glob([ - '*.h' - ]), - exported_linker_flags = [ - '-lc++', - ], - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), + "OngoingCallThreadLocalContext.h" + ], exclude = ["libtgvoip.h"]), platform_compiler_flags = [ ('arm.*', [ - '-w', '-DTGVOIP_USE_CUSTOM_CRYPTO', '-DWEBRTC_APM_DEBUG_DUMP=0', '-DWEBRTC_POSIX', @@ -50,7 +44,6 @@ apple_library( '-DWEBRTC_HAS_NEON', ]), ('.*', [ - '-w', '-DTGVOIP_USE_CUSTOM_CRYPTO', '-DWEBRTC_APM_DEBUG_DUMP=0', '-DWEBRTC_POSIX', @@ -59,18 +52,17 @@ apple_library( '-DWEBRTC_IOS', ]), ], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], deps = [ - '//submodules/ffmpeg:opus', + "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/Opus:opus", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', - '$SDKROOT/System/Library/Frameworks/AudioToolbox.framework', - '$SDKROOT/System/Library/Frameworks/VideoToolbox.framework', - '$SDKROOT/System/Library/Frameworks/CoreTelephony.framework', - '$SDKROOT/System/Library/Frameworks/CoreMedia.framework', - '$SDKROOT/System/Library/Frameworks/AVFoundation.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + "$SDKROOT/System/Library/Frameworks/AudioToolbox.framework", + "$SDKROOT/System/Library/Frameworks/VideoToolbox.framework", + "$SDKROOT/System/Library/Frameworks/CoreTelephony.framework", + "$SDKROOT/System/Library/Frameworks/CoreMedia.framework", + "$SDKROOT/System/Library/Frameworks/AVFoundation.framework", ], -) +) \ No newline at end of file diff --git a/submodules/TelegramVoip/Sources/OngoingCallThreadLocalContext.h b/submodules/libtgvoip/OngoingCallThreadLocalContext.h similarity index 100% rename from submodules/TelegramVoip/Sources/OngoingCallThreadLocalContext.h rename to submodules/libtgvoip/OngoingCallThreadLocalContext.h diff --git a/submodules/TelegramVoip/Sources/OngoingCallThreadLocalContext.mm b/submodules/libtgvoip/OngoingCallThreadLocalContext.mm similarity index 99% rename from submodules/TelegramVoip/Sources/OngoingCallThreadLocalContext.mm rename to submodules/libtgvoip/OngoingCallThreadLocalContext.mm index ec4f6368ed..995f3d9e91 100644 --- a/submodules/TelegramVoip/Sources/OngoingCallThreadLocalContext.mm +++ b/submodules/libtgvoip/OngoingCallThreadLocalContext.mm @@ -1,8 +1,8 @@ #import "OngoingCallThreadLocalContext.h" -#import "../../libtgvoip/VoIPController.h" -#import "../../libtgvoip/VoIPServerConfig.h" -#import "../../libtgvoip/os/darwin/SetupLogging.h" +#import "VoIPController.h" +#import "VoIPServerConfig.h" +#import "os/darwin/SetupLogging.h" #ifdef BUCK #import diff --git a/submodules/libtgvoip/libtgvoip.h b/submodules/libtgvoip/libtgvoip.h new file mode 100644 index 0000000000..b5feb06ea7 --- /dev/null +++ b/submodules/libtgvoip/libtgvoip.h @@ -0,0 +1,6 @@ +#ifndef libtgvoip_h +#define libtgvoip_h + +#import + +#endif /* libtgvoip_h */ diff --git a/submodules/libtgvoip/libtgvoip_Xcode.xcodeproj/project.pbxproj b/submodules/libtgvoip/libtgvoip_Xcode.xcodeproj/project.pbxproj index 8b33ae584f..55e9b6539e 100644 --- a/submodules/libtgvoip/libtgvoip_Xcode.xcodeproj/project.pbxproj +++ b/submodules/libtgvoip/libtgvoip_Xcode.xcodeproj/project.pbxproj @@ -327,6 +327,10 @@ 69F791582222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 69F791562222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.mm */; }; 69F791592222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F791572222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.h */; }; 69FB0B2D20F6860E00827817 /* MessageThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69FB0B2420F6860D00827817 /* MessageThread.cpp */; }; + D01748C9231978B700AF3D3A /* libtgvoip.h in Headers */ = {isa = PBXBuildFile; fileRef = D01748C8231978B700AF3D3A /* libtgvoip.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D01A17362320007000DEA338 /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D01A17352320007000DEA338 /* MtProtoKitDynamic.framework */; }; + D03292E22314249D00338D35 /* OngoingCallThreadLocalContext.h in Headers */ = {isa = PBXBuildFile; fileRef = D03292E02314249C00338D35 /* OngoingCallThreadLocalContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D03292E32314249D00338D35 /* OngoingCallThreadLocalContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = D03292E12314249D00338D35 /* OngoingCallThreadLocalContext.mm */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -1052,6 +1056,10 @@ 69FB0B2420F6860D00827817 /* MessageThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessageThread.cpp; sourceTree = ""; }; 69FB0B2C20F6860D00827817 /* MessageThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageThread.h; sourceTree = ""; }; D00ACA4D20222F5D0045D427 /* SetupLogging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetupLogging.h; sourceTree = ""; }; + D01748C8231978B700AF3D3A /* libtgvoip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libtgvoip.h; sourceTree = ""; }; + D01A17352320007000DEA338 /* MtProtoKitDynamic.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MtProtoKitDynamic.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D03292E02314249C00338D35 /* OngoingCallThreadLocalContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OngoingCallThreadLocalContext.h; sourceTree = ""; }; + D03292E12314249D00338D35 /* OngoingCallThreadLocalContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OngoingCallThreadLocalContext.mm; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1059,6 +1067,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D01A17362320007000DEA338 /* MtProtoKitDynamic.framework in Frameworks */, 09B4A9BC23151A40005C2E08 /* VideoToolbox.framework in Frameworks */, 692AB91F1E675F7000706ACC /* AudioToolbox.framework in Frameworks */, 692AB9201E675F7000706ACC /* AudioUnit.framework in Frameworks */, @@ -1082,6 +1091,8 @@ 692AB8861E6759BF00706ACC /* libtgvoip */ = { isa = PBXGroup; children = ( + D03292E02314249C00338D35 /* OngoingCallThreadLocalContext.h */, + D03292E12314249D00338D35 /* OngoingCallThreadLocalContext.mm */, 692AB8871E6759DD00706ACC /* audio */, 692AB88C1E6759DD00706ACC /* BlockingQueue.cpp */, 692AB88D1E6759DD00706ACC /* BlockingQueue.h */, @@ -1118,6 +1129,7 @@ 692AB8CA1E6759DD00706ACC /* VoIPServerConfig.h */, 69DD8CFC218CD400001E8140 /* video */, 69A6DCFE1E95EC7700000E69 /* webrtc_dsp */, + D01748C8231978B700AF3D3A /* libtgvoip.h */, ); name = libtgvoip; sourceTree = ""; @@ -1175,6 +1187,7 @@ 692AB9061E675E8700706ACC /* Frameworks */ = { isa = PBXGroup; children = ( + D01A17352320007000DEA338 /* MtProtoKitDynamic.framework */, 09B4A9BB23151A3F005C2E08 /* VideoToolbox.framework */, 692AB91C1E675F7000706ACC /* AudioToolbox.framework */, 692AB91D1E675F7000706ACC /* AudioUnit.framework */, @@ -2370,11 +2383,13 @@ 69F791552221F16C00FE53C4 /* VideoToolboxEncoderSource.h in Headers */, 69F7914C2220A41000FE53C4 /* TGVVideoSource.h in Headers */, 692AB9051E6759DD00706ACC /* VoIPServerConfig.h in Headers */, + D01748C9231978B700AF3D3A /* libtgvoip.h in Headers */, 692AB9031E6759DD00706ACC /* VoIPController.h in Headers */, 69F791592222AC2800FE53C4 /* SampleBufferDisplayLayerRenderer.h in Headers */, 69F791502220A76500FE53C4 /* TGVVideoRenderer.h in Headers */, 69B607D422318BBE00ED7D94 /* ScreamCongestionController.h in Headers */, 6929CD102233ED81009B7378 /* PrivateDefines.h in Headers */, + D03292E22314249D00338D35 /* OngoingCallThreadLocalContext.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2549,6 +2564,7 @@ 697E9CEA21A4ED6D00E03846 /* echo_path_variability.cc in Sources */, 697E9B7921A4ED6B00E03846 /* filter_ar.c in Sources */, 692AB9041E6759DD00706ACC /* VoIPServerConfig.cpp in Sources */, + D03292E32314249D00338D35 /* OngoingCallThreadLocalContext.mm in Sources */, 697E9B7D21A4ED6B00E03846 /* ilbc_specific_functions.c in Sources */, 697E9C7021A4ED6C00E03846 /* pitch_search_internal.cc in Sources */, 697E9C7D21A4ED6C00E03846 /* lp_residual.cc in Sources */, diff --git a/submodules/lottie-ios/BUCK b/submodules/lottie-ios/BUCK index 0da5c4de49..91f6530fad 100644 --- a/submodules/lottie-ios/BUCK +++ b/submodules/lottie-ios/BUCK @@ -1,29 +1,20 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library") -apple_library( - name = 'Lottie', +static_library( + name = "Lottie", srcs = glob([ - 'lottie-ios/Classes/**/*.m', + "lottie-ios/**/*.m", ]), headers = glob([ - 'lottie-ios/Classes/**/*.h', + "lottie-ios/**/*.h", ]), - header_namespace = 'HockeySDK', - exported_headers = glob([ - 'lottie-ios/Classes/PublicHeaders/*.h' + exported_headers = glob([ + "lottie-ios/Classes/PublicHeaders/*.h", ]), - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - compiler_flags = [ - '-w' - ], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], deps = [ ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", ], ) diff --git a/submodules/rlottie/BUCK b/submodules/rlottie/BUCK new file mode 100644 index 0000000000..1860b982c9 --- /dev/null +++ b/submodules/rlottie/BUCK @@ -0,0 +1,32 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "RLottieBinding", + srcs = glob([ + "rlottie/src/**/*.cpp", + ], exclude = [ + "rlottie/src/vector/vdrawhelper_neon.cpp", + "rlottie/src/vector/stb/**/*", + ]) + [ + "LottieInstance.mm" + ], + compiler_flags = [ + "-Dpixman_region_selfcheck(x)=1", + "-DLOTTIE_DISABLE_ARM_NEON=1", + ], + headers = glob([ + "rlottie/src/**/*.h", + "rlottie/inc/**/*.h", + ], exclude = [ + "rlottie/src/lottie/rapidjson/msinttypes/**/*", + ]) + [ + "LottieInstance.h" + ], + exported_headers = [ + "LottieInstance.h" + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", + ], +) diff --git a/submodules/rlottie/RLottie.xcodeproj/project.pbxproj b/submodules/rlottie/RLottie.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..641689a5af --- /dev/null +++ b/submodules/rlottie/RLottie.xcodeproj/project.pbxproj @@ -0,0 +1,2256 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E295A917F8100000000 + + isa + PBXFileReference + name + RLottieBinding-Debug.xcconfig + path + ../../buck-out/gen/submodules/rlottie/RLottieBinding-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29E1523AAB00000000 + + isa + PBXFileReference + name + RLottieBinding-Profile.xcconfig + path + ../../buck-out/gen/submodules/rlottie/RLottieBinding-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E2954E8E60D00000000 + + isa + PBXFileReference + name + RLottieBinding-Release.xcconfig + path + ../../buck-out/gen/submodules/rlottie/RLottieBinding-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E295A917F8100000000 + 1DD70E29E1523AAB00000000 + 1DD70E2954E8E60D00000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E2964F71C2C00000000 + + isa + PBXFileReference + name + libRLottieBinding.a + path + libRLottieBinding.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E2964F71C2C00000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E2995D2184B00000000 + + isa + PBXFileReference + name + rlottie.h + path + rlottie/inc/rlottie.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CECCDC7F00000000 + + isa + PBXFileReference + name + rlottie_capi.h + path + rlottie/inc/rlottie_capi.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293971B2B600000000 + + isa + PBXFileReference + name + rlottiecommon.h + path + rlottie/inc/rlottiecommon.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979000197DE00000000 + + isa + PBXGroup + name + inc + path + rlottie/inc + sourceTree + SOURCE_ROOT + children + + 1DD70E2995D2184B00000000 + 1DD70E29CECCDC7F00000000 + 1DD70E293971B2B600000000 + + + 1DD70E298FDF724600000000 + + isa + PBXFileReference + name + lottieanimation_capi.cpp + path + rlottie/src/binding/c/lottieanimation_capi.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + B401C9790000006300000000 + + isa + PBXGroup + name + c + path + rlottie/src/binding/c + sourceTree + SOURCE_ROOT + children + + 1DD70E298FDF724600000000 + + + B401C979F98CAE8500000000 + + isa + PBXGroup + name + binding + path + rlottie/src/binding + sourceTree + SOURCE_ROOT + children + + B401C9790000006300000000 + + + 1DD70E29002F8C6300000000 + + isa + PBXFileReference + name + en.h + path + rlottie/src/lottie/rapidjson/error/en.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A7D8760200000000 + + isa + PBXFileReference + name + error.h + path + rlottie/src/lottie/rapidjson/error/error.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C97905C4D20800000000 + + isa + PBXGroup + name + error + path + rlottie/src/lottie/rapidjson/error + sourceTree + SOURCE_ROOT + children + + 1DD70E29002F8C6300000000 + 1DD70E29A7D8760200000000 + + + 1DD70E296AB552B800000000 + + isa + PBXFileReference + name + biginteger.h + path + rlottie/src/lottie/rapidjson/internal/biginteger.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2963F522D800000000 + + isa + PBXFileReference + name + diyfp.h + path + rlottie/src/lottie/rapidjson/internal/diyfp.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B13B2BDC00000000 + + isa + PBXFileReference + name + dtoa.h + path + rlottie/src/lottie/rapidjson/internal/dtoa.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295A37005400000000 + + isa + PBXFileReference + name + ieee754.h + path + rlottie/src/lottie/rapidjson/internal/ieee754.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B9C366F700000000 + + isa + PBXFileReference + name + itoa.h + path + rlottie/src/lottie/rapidjson/internal/itoa.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BFC5AEBF00000000 + + isa + PBXFileReference + name + meta.h + path + rlottie/src/lottie/rapidjson/internal/meta.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E8C7C6B100000000 + + isa + PBXFileReference + name + pow10.h + path + rlottie/src/lottie/rapidjson/internal/pow10.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2940BB008100000000 + + isa + PBXFileReference + name + regex.h + path + rlottie/src/lottie/rapidjson/internal/regex.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298EE4468200000000 + + isa + PBXFileReference + name + stack.h + path + rlottie/src/lottie/rapidjson/internal/stack.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29EFFF1D2F00000000 + + isa + PBXFileReference + name + strfunc.h + path + rlottie/src/lottie/rapidjson/internal/strfunc.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296B99117200000000 + + isa + PBXFileReference + name + strtod.h + path + rlottie/src/lottie/rapidjson/internal/strtod.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CAF7FECD00000000 + + isa + PBXFileReference + name + swap.h + path + rlottie/src/lottie/rapidjson/internal/swap.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C97921FFC6BD00000000 + + isa + PBXGroup + name + internal + path + rlottie/src/lottie/rapidjson/internal + sourceTree + SOURCE_ROOT + children + + 1DD70E296AB552B800000000 + 1DD70E2963F522D800000000 + 1DD70E29B13B2BDC00000000 + 1DD70E295A37005400000000 + 1DD70E29B9C366F700000000 + 1DD70E29BFC5AEBF00000000 + 1DD70E29E8C7C6B100000000 + 1DD70E2940BB008100000000 + 1DD70E298EE4468200000000 + 1DD70E29EFFF1D2F00000000 + 1DD70E296B99117200000000 + 1DD70E29CAF7FECD00000000 + + + 1DD70E2917079BC200000000 + + isa + PBXFileReference + name + allocators.h + path + rlottie/src/lottie/rapidjson/allocators.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296E58E83700000000 + + isa + PBXFileReference + name + cursorstreamwrapper.h + path + rlottie/src/lottie/rapidjson/cursorstreamwrapper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CF6CFC5500000000 + + isa + PBXFileReference + name + document.h + path + rlottie/src/lottie/rapidjson/document.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29F35A0C8800000000 + + isa + PBXFileReference + name + encodedstream.h + path + rlottie/src/lottie/rapidjson/encodedstream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E297A3D237A00000000 + + isa + PBXFileReference + name + encodings.h + path + rlottie/src/lottie/rapidjson/encodings.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292F04748C00000000 + + isa + PBXFileReference + name + filereadstream.h + path + rlottie/src/lottie/rapidjson/filereadstream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A66B525D00000000 + + isa + PBXFileReference + name + filewritestream.h + path + rlottie/src/lottie/rapidjson/filewritestream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2905D4F2ED00000000 + + isa + PBXFileReference + name + fwd.h + path + rlottie/src/lottie/rapidjson/fwd.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E70AD2C400000000 + + isa + PBXFileReference + name + istreamwrapper.h + path + rlottie/src/lottie/rapidjson/istreamwrapper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299D41B63B00000000 + + isa + PBXFileReference + name + memorybuffer.h + path + rlottie/src/lottie/rapidjson/memorybuffer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2962B9A17B00000000 + + isa + PBXFileReference + name + memorystream.h + path + rlottie/src/lottie/rapidjson/memorystream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29307605FE00000000 + + isa + PBXFileReference + name + ostreamwrapper.h + path + rlottie/src/lottie/rapidjson/ostreamwrapper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295D48A8F700000000 + + isa + PBXFileReference + name + pointer.h + path + rlottie/src/lottie/rapidjson/pointer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29DFA96C2300000000 + + isa + PBXFileReference + name + prettywriter.h + path + rlottie/src/lottie/rapidjson/prettywriter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BC50ECDE00000000 + + isa + PBXFileReference + name + rapidjson.h + path + rlottie/src/lottie/rapidjson/rapidjson.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29CC5239FD00000000 + + isa + PBXFileReference + name + reader.h + path + rlottie/src/lottie/rapidjson/reader.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29D66A575B00000000 + + isa + PBXFileReference + name + schema.h + path + rlottie/src/lottie/rapidjson/schema.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296ABF757A00000000 + + isa + PBXFileReference + name + stream.h + path + rlottie/src/lottie/rapidjson/stream.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E294D48494B00000000 + + isa + PBXFileReference + name + stringbuffer.h + path + rlottie/src/lottie/rapidjson/stringbuffer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2991F159AD00000000 + + isa + PBXFileReference + name + writer.h + path + rlottie/src/lottie/rapidjson/writer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C97940654FE400000000 + + isa + PBXGroup + name + rapidjson + path + rlottie/src/lottie/rapidjson + sourceTree + SOURCE_ROOT + children + + B401C97905C4D20800000000 + B401C97921FFC6BD00000000 + 1DD70E2917079BC200000000 + 1DD70E296E58E83700000000 + 1DD70E29CF6CFC5500000000 + 1DD70E29F35A0C8800000000 + 1DD70E297A3D237A00000000 + 1DD70E292F04748C00000000 + 1DD70E29A66B525D00000000 + 1DD70E2905D4F2ED00000000 + 1DD70E29E70AD2C400000000 + 1DD70E299D41B63B00000000 + 1DD70E2962B9A17B00000000 + 1DD70E29307605FE00000000 + 1DD70E295D48A8F700000000 + 1DD70E29DFA96C2300000000 + 1DD70E29BC50ECDE00000000 + 1DD70E29CC5239FD00000000 + 1DD70E29D66A575B00000000 + 1DD70E296ABF757A00000000 + 1DD70E294D48494B00000000 + 1DD70E2991F159AD00000000 + + + 1DD70E2932B2AEFA00000000 + + isa + PBXFileReference + name + lottieanimation.cpp + path + rlottie/src/lottie/lottieanimation.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E299FBE24E700000000 + + isa + PBXFileReference + name + lottieitem.cpp + path + rlottie/src/lottie/lottieitem.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29E254A4AC00000000 + + isa + PBXFileReference + name + lottieitem.h + path + rlottie/src/lottie/lottieitem.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29BD134ABA00000000 + + isa + PBXFileReference + name + lottiekeypath.cpp + path + rlottie/src/lottie/lottiekeypath.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29944F233F00000000 + + isa + PBXFileReference + name + lottiekeypath.h + path + rlottie/src/lottie/lottiekeypath.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298341AE2700000000 + + isa + PBXFileReference + name + lottieloader.cpp + path + rlottie/src/lottie/lottieloader.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29C7A97DEC00000000 + + isa + PBXFileReference + name + lottieloader.h + path + rlottie/src/lottie/lottieloader.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296276BC9F00000000 + + isa + PBXFileReference + name + lottiemodel.cpp + path + rlottie/src/lottie/lottiemodel.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29333FCA6400000000 + + isa + PBXFileReference + name + lottiemodel.h + path + rlottie/src/lottie/lottiemodel.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29381AD43300000000 + + isa + PBXFileReference + name + lottieparser.cpp + path + rlottie/src/lottie/lottieparser.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29A06CB6F800000000 + + isa + PBXFileReference + name + lottieparser.h + path + rlottie/src/lottie/lottieparser.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A407880F00000000 + + isa + PBXFileReference + name + lottieproxymodel.cpp + path + rlottie/src/lottie/lottieproxymodel.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E290C6CB1D400000000 + + isa + PBXFileReference + name + lottieproxymodel.h + path + rlottie/src/lottie/lottieproxymodel.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979BE9E0F9F00000000 + + isa + PBXGroup + name + lottie + path + rlottie/src/lottie + sourceTree + SOURCE_ROOT + children + + B401C97940654FE400000000 + 1DD70E2932B2AEFA00000000 + 1DD70E299FBE24E700000000 + 1DD70E29E254A4AC00000000 + 1DD70E29BD134ABA00000000 + 1DD70E29944F233F00000000 + 1DD70E298341AE2700000000 + 1DD70E29C7A97DEC00000000 + 1DD70E296276BC9F00000000 + 1DD70E29333FCA6400000000 + 1DD70E29381AD43300000000 + 1DD70E29A06CB6F800000000 + 1DD70E29A407880F00000000 + 1DD70E290C6CB1D400000000 + + + 1DD70E29E6FBB7C500000000 + + isa + PBXFileReference + name + v_ft_math.cpp + path + rlottie/src/vector/freetype/v_ft_math.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29CEF5570A00000000 + + isa + PBXFileReference + name + v_ft_math.h + path + rlottie/src/vector/freetype/v_ft_math.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E294DD571BA00000000 + + isa + PBXFileReference + name + v_ft_raster.cpp + path + rlottie/src/vector/freetype/v_ft_raster.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29ED6F0A3F00000000 + + isa + PBXFileReference + name + v_ft_raster.h + path + rlottie/src/vector/freetype/v_ft_raster.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B262E7E700000000 + + isa + PBXFileReference + name + v_ft_stroker.cpp + path + rlottie/src/vector/freetype/v_ft_stroker.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29CD4E27AC00000000 + + isa + PBXFileReference + name + v_ft_stroker.h + path + rlottie/src/vector/freetype/v_ft_stroker.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29AABCB92B00000000 + + isa + PBXFileReference + name + v_ft_types.h + path + rlottie/src/vector/freetype/v_ft_types.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979A45D8FA600000000 + + isa + PBXGroup + name + freetype + path + rlottie/src/vector/freetype + sourceTree + SOURCE_ROOT + children + + 1DD70E29E6FBB7C500000000 + 1DD70E29CEF5570A00000000 + 1DD70E294DD571BA00000000 + 1DD70E29ED6F0A3F00000000 + 1DD70E29B262E7E700000000 + 1DD70E29CD4E27AC00000000 + 1DD70E29AABCB92B00000000 + + + 1DD70E29B391E3C100000000 + + isa + PBXFileReference + name + pixman-arm-neon-asm.h + path + rlottie/src/vector/pixman/pixman-arm-neon-asm.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292AB45C9F00000000 + + isa + PBXFileReference + name + vregion.cpp + path + rlottie/src/vector/pixman/vregion.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E292E656A6400000000 + + isa + PBXFileReference + name + vregion.h + path + rlottie/src/vector/pixman/vregion.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979C51E9B5B00000000 + + isa + PBXGroup + name + pixman + path + rlottie/src/vector/pixman + sourceTree + SOURCE_ROOT + children + + 1DD70E29B391E3C100000000 + 1DD70E292AB45C9F00000000 + 1DD70E292E656A6400000000 + + + 1DD70E2954BB787700000000 + + isa + PBXFileReference + name + stb_image.h + path + rlottie/src/vector/stb/stb_image.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C9790001BE2100000000 + + isa + PBXGroup + name + stb + path + rlottie/src/vector/stb + sourceTree + SOURCE_ROOT + children + + 1DD70E2954BB787700000000 + + + 1DD70E29DD6BC0BC00000000 + + isa + PBXFileReference + name + config.h + path + rlottie/src/vector/config.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298AFB870A00000000 + + isa + PBXFileReference + name + vbezier.cpp + path + rlottie/src/vector/vbezier.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29D0BA338F00000000 + + isa + PBXFileReference + name + vbezier.h + path + rlottie/src/vector/vbezier.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29396F915A00000000 + + isa + PBXFileReference + name + vbitmap.cpp + path + rlottie/src/vector/vbitmap.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E299A4C91DF00000000 + + isa + PBXFileReference + name + vbitmap.h + path + rlottie/src/vector/vbitmap.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E299598F93900000000 + + isa + PBXFileReference + name + vbrush.cpp + path + rlottie/src/vector/vbrush.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29EB1C657E00000000 + + isa + PBXFileReference + name + vbrush.h + path + rlottie/src/vector/vbrush.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295B6525DC00000000 + + isa + PBXFileReference + name + vcompositionfunctions.cpp + path + rlottie/src/vector/vcompositionfunctions.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E2944E49D3300000000 + + isa + PBXFileReference + name + vcowptr.h + path + rlottie/src/vector/vcowptr.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29166E37EA00000000 + + isa + PBXFileReference + name + vdasher.cpp + path + rlottie/src/vector/vdasher.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29C0E39C6F00000000 + + isa + PBXFileReference + name + vdasher.h + path + rlottie/src/vector/vdasher.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298DF7C3D200000000 + + isa + PBXFileReference + name + vdebug.cpp + path + rlottie/src/vector/vdebug.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E293DAF025700000000 + + isa + PBXFileReference + name + vdebug.h + path + rlottie/src/vector/vdebug.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2915AA6BC900000000 + + isa + PBXFileReference + name + vdrawable.cpp + path + rlottie/src/vector/vdrawable.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29B3093C0E00000000 + + isa + PBXFileReference + name + vdrawable.h + path + rlottie/src/vector/vdrawable.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E296402559D00000000 + + isa + PBXFileReference + name + vdrawhelper.cpp + path + rlottie/src/vector/vdrawhelper.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E298C398AE200000000 + + isa + PBXFileReference + name + vdrawhelper.h + path + rlottie/src/vector/vdrawhelper.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295304167900000000 + + isa + PBXFileReference + name + vdrawhelper_sse2.cpp + path + rlottie/src/vector/vdrawhelper_sse2.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29A69935F400000000 + + isa + PBXFileReference + name + velapsedtimer.cpp + path + rlottie/src/vector/velapsedtimer.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29B6EA94F900000000 + + isa + PBXFileReference + name + velapsedtimer.h + path + rlottie/src/vector/velapsedtimer.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E293741D75300000000 + + isa + PBXFileReference + name + vglobal.h + path + rlottie/src/vector/vglobal.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E2947A291AD00000000 + + isa + PBXFileReference + name + vimageloader.cpp + path + rlottie/src/vector/vimageloader.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29D7D98AF200000000 + + isa + PBXFileReference + name + vimageloader.h + path + rlottie/src/vector/vimageloader.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29E3E54C7200000000 + + isa + PBXFileReference + name + vinterpolator.cpp + path + rlottie/src/vector/vinterpolator.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E2974A632F700000000 + + isa + PBXFileReference + name + vinterpolator.h + path + rlottie/src/vector/vinterpolator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292065D8E400000000 + + isa + PBXFileReference + name + vline.h + path + rlottie/src/vector/vline.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292D0A9EEC00000000 + + isa + PBXFileReference + name + vmatrix.cpp + path + rlottie/src/vector/vmatrix.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E296A11DBF100000000 + + isa + PBXFileReference + name + vmatrix.h + path + rlottie/src/vector/vmatrix.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295DA04C8A00000000 + + isa + PBXFileReference + name + vpainter.cpp + path + rlottie/src/vector/vpainter.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E2948D2590F00000000 + + isa + PBXFileReference + name + vpainter.h + path + rlottie/src/vector/vpainter.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29A10D5ED000000000 + + isa + PBXFileReference + name + vpath.cpp + path + rlottie/src/vector/vpath.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E2926CB44D500000000 + + isa + PBXFileReference + name + vpath.h + path + rlottie/src/vector/vpath.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29B70B8DBD00000000 + + isa + PBXFileReference + name + vpathmesure.cpp + path + rlottie/src/vector/vpathmesure.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E298A724B0200000000 + + isa + PBXFileReference + name + vpathmesure.h + path + rlottie/src/vector/vpathmesure.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C9E9E65400000000 + + isa + PBXFileReference + name + vpoint.h + path + rlottie/src/vector/vpoint.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29ED3D2EA800000000 + + isa + PBXFileReference + name + vraster.cpp + path + rlottie/src/vector/vraster.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E296FDD2AAD00000000 + + isa + PBXFileReference + name + vraster.h + path + rlottie/src/vector/vraster.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29280F5D0F00000000 + + isa + PBXFileReference + name + vrect.cpp + path + rlottie/src/vector/vrect.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E292A65C6D400000000 + + isa + PBXFileReference + name + vrect.h + path + rlottie/src/vector/vrect.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E292E42256A00000000 + + isa + PBXFileReference + name + vrle.cpp + path + rlottie/src/vector/vrle.cpp + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.cpp + + 1DD70E29CFD4E9EF00000000 + + isa + PBXFileReference + name + vrle.h + path + rlottie/src/vector/vrle.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29757EB63300000000 + + isa + PBXFileReference + name + vstackallocator.h + path + rlottie/src/vector/vstackallocator.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29C03FD37000000000 + + isa + PBXFileReference + name + vtaskqueue.h + path + rlottie/src/vector/vtaskqueue.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979CF19E14300000000 + + isa + PBXGroup + name + vector + path + rlottie/src/vector + sourceTree + SOURCE_ROOT + children + + B401C979A45D8FA600000000 + B401C979C51E9B5B00000000 + B401C9790001BE2100000000 + 1DD70E29DD6BC0BC00000000 + 1DD70E298AFB870A00000000 + 1DD70E29D0BA338F00000000 + 1DD70E29396F915A00000000 + 1DD70E299A4C91DF00000000 + 1DD70E299598F93900000000 + 1DD70E29EB1C657E00000000 + 1DD70E295B6525DC00000000 + 1DD70E2944E49D3300000000 + 1DD70E29166E37EA00000000 + 1DD70E29C0E39C6F00000000 + 1DD70E298DF7C3D200000000 + 1DD70E293DAF025700000000 + 1DD70E2915AA6BC900000000 + 1DD70E29B3093C0E00000000 + 1DD70E296402559D00000000 + 1DD70E298C398AE200000000 + 1DD70E295304167900000000 + 1DD70E29A69935F400000000 + 1DD70E29B6EA94F900000000 + 1DD70E293741D75300000000 + 1DD70E2947A291AD00000000 + 1DD70E29D7D98AF200000000 + 1DD70E29E3E54C7200000000 + 1DD70E2974A632F700000000 + 1DD70E292065D8E400000000 + 1DD70E292D0A9EEC00000000 + 1DD70E296A11DBF100000000 + 1DD70E295DA04C8A00000000 + 1DD70E2948D2590F00000000 + 1DD70E29A10D5ED000000000 + 1DD70E2926CB44D500000000 + 1DD70E29B70B8DBD00000000 + 1DD70E298A724B0200000000 + 1DD70E29C9E9E65400000000 + 1DD70E29ED3D2EA800000000 + 1DD70E296FDD2AAD00000000 + 1DD70E29280F5D0F00000000 + 1DD70E292A65C6D400000000 + 1DD70E292E42256A00000000 + 1DD70E29CFD4E9EF00000000 + 1DD70E29757EB63300000000 + 1DD70E29C03FD37000000000 + + + B401C9790001BDE400000000 + + isa + PBXGroup + name + src + path + rlottie/src + sourceTree + SOURCE_ROOT + children + + B401C979F98CAE8500000000 + B401C979BE9E0F9F00000000 + B401C979CF19E14300000000 + + + B401C9794D24729100000000 + + isa + PBXGroup + name + rlottie + path + rlottie + sourceTree + SOURCE_ROOT + children + + B401C979000197DE00000000 + B401C9790001BDE400000000 + + + 1DD70E29EBFC3E6E00000000 + + isa + PBXFileReference + name + LottieInstance.h + path + LottieInstance.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E29938B905A00000000 + + isa + PBXFileReference + name + LottieInstance.mm + path + LottieInstance.mm + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.cpp.objcpp + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + B401C9794D24729100000000 + 1DD70E29EBFC3E6E00000000 + 1DD70E29938B905A00000000 + + + B401C979CF8CFAB400000000 + + isa + PBXGroup + name + RLottieBinding + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979CF8CFAB400000000 + + + E7A30F048FDF724600000000 + + isa + PBXBuildFile + fileRef + 1DD70E298FDF724600000000 + + E7A30F0432B2AEFA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2932B2AEFA00000000 + + E7A30F049FBE24E700000000 + + isa + PBXBuildFile + fileRef + 1DD70E299FBE24E700000000 + + E7A30F04BD134ABA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29BD134ABA00000000 + + E7A30F048341AE2700000000 + + isa + PBXBuildFile + fileRef + 1DD70E298341AE2700000000 + + E7A30F046276BC9F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296276BC9F00000000 + + E7A30F04381AD43300000000 + + isa + PBXBuildFile + fileRef + 1DD70E29381AD43300000000 + + E7A30F04A407880F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A407880F00000000 + + E7A30F04E6FBB7C500000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E6FBB7C500000000 + + E7A30F044DD571BA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E294DD571BA00000000 + + E7A30F04B262E7E700000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B262E7E700000000 + + E7A30F042AB45C9F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292AB45C9F00000000 + + E7A30F048AFB870A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298AFB870A00000000 + + E7A30F04396F915A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29396F915A00000000 + + E7A30F049598F93900000000 + + isa + PBXBuildFile + fileRef + 1DD70E299598F93900000000 + + E7A30F045B6525DC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295B6525DC00000000 + + E7A30F04166E37EA00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29166E37EA00000000 + + E7A30F048DF7C3D200000000 + + isa + PBXBuildFile + fileRef + 1DD70E298DF7C3D200000000 + + E7A30F0415AA6BC900000000 + + isa + PBXBuildFile + fileRef + 1DD70E2915AA6BC900000000 + + E7A30F046402559D00000000 + + isa + PBXBuildFile + fileRef + 1DD70E296402559D00000000 + + E7A30F045304167900000000 + + isa + PBXBuildFile + fileRef + 1DD70E295304167900000000 + + E7A30F04A69935F400000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A69935F400000000 + + E7A30F0447A291AD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E2947A291AD00000000 + + E7A30F04E3E54C7200000000 + + isa + PBXBuildFile + fileRef + 1DD70E29E3E54C7200000000 + + E7A30F042D0A9EEC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292D0A9EEC00000000 + + E7A30F045DA04C8A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E295DA04C8A00000000 + + E7A30F04A10D5ED000000000 + + isa + PBXBuildFile + fileRef + 1DD70E29A10D5ED000000000 + + E7A30F04B70B8DBD00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29B70B8DBD00000000 + + E7A30F04ED3D2EA800000000 + + isa + PBXBuildFile + fileRef + 1DD70E29ED3D2EA800000000 + + E7A30F04280F5D0F00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29280F5D0F00000000 + + E7A30F042E42256A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E292E42256A00000000 + + E7A30F04938B905A00000000 + + isa + PBXBuildFile + fileRef + 1DD70E29938B905A00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F048FDF724600000000 + E7A30F0432B2AEFA00000000 + E7A30F049FBE24E700000000 + E7A30F04BD134ABA00000000 + E7A30F048341AE2700000000 + E7A30F046276BC9F00000000 + E7A30F04381AD43300000000 + E7A30F04A407880F00000000 + E7A30F04E6FBB7C500000000 + E7A30F044DD571BA00000000 + E7A30F04B262E7E700000000 + E7A30F042AB45C9F00000000 + E7A30F048AFB870A00000000 + E7A30F04396F915A00000000 + E7A30F049598F93900000000 + E7A30F045B6525DC00000000 + E7A30F04166E37EA00000000 + E7A30F048DF7C3D200000000 + E7A30F0415AA6BC900000000 + E7A30F046402559D00000000 + E7A30F045304167900000000 + E7A30F04A69935F400000000 + E7A30F0447A291AD00000000 + E7A30F04E3E54C7200000000 + E7A30F042D0A9EEC00000000 + E7A30F045DA04C8A00000000 + E7A30F04A10D5ED000000000 + E7A30F04B70B8DBD00000000 + E7A30F04ED3D2EA800000000 + E7A30F04280F5D0F00000000 + E7A30F042E42256A00000000 + E7A30F04938B905A00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E295A917F8100000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29E1523AAB00000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E2954E8E60D00000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04ECF8CFAB400000000 + + isa + PBXNativeTarget + name + RLottieBinding + productName + RLottieBinding + productReference + 1DD70E2964F71C2C00000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C847934D24729100000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04ECF8CFAB400000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C847934D24729100000000 + + \ No newline at end of file diff --git a/submodules/rlottie/RLottie.xcodeproj/xcshareddata/xcschemes/RLottie.xcscheme b/submodules/rlottie/RLottie.xcodeproj/xcshareddata/xcschemes/RLottie.xcscheme new file mode 100644 index 0000000000..ca64e3fbd0 --- /dev/null +++ b/submodules/rlottie/RLottie.xcodeproj/xcshareddata/xcschemes/RLottie.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/sqlcipher/BUCK b/submodules/sqlcipher/BUCK new file mode 100644 index 0000000000..8bd14acfbf --- /dev/null +++ b/submodules/sqlcipher/BUCK @@ -0,0 +1,30 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "sqlcipher", + compiler_flags = [ + "-DDSQLITE_HAS_CODEC=1", + "-DSQLCIPHER_CRYPTO_CC=1", + "-DSQLITE_ENABLE_FTS5", + "-DSQLITE_DEFAULT_MEMSTATUS=0", + "-DNDEBUG", + ], + srcs = glob([ + "Sources/*.c", + ]), + headers = [ + "Sources/sqlcipher_config.h", + "Sources/sqlite3.h", + "Sources/sqlite3ext.h", + ], + exported_headers = [ + "Sources/sqlcipher_config.h", + "Sources/sqlite3.h", + "Sources/sqlite3ext.h", + ], + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/sqlcipher/Sources/sqlite3.h b/submodules/sqlcipher/Sources/sqlite3.h index 9c7828b664..66160caed5 100644 --- a/submodules/sqlcipher/Sources/sqlite3.h +++ b/submodules/sqlcipher/Sources/sqlite3.h @@ -34,12 +34,13 @@ #define SQLITE3_H #include /* Needed for the definition of va_list */ -#if TARGET_OS_IOS -#include -#else +#if TARGET_OS_OSX #include +#else +#include #endif + /* ** Make sure we can call this stuff from C++. */ diff --git a/submodules/sqlcipher/Sources/sqlite3ext.h b/submodules/sqlcipher/Sources/sqlite3ext.h index 58dfe33f46..48273b4dc6 100644 --- a/submodules/sqlcipher/Sources/sqlite3ext.h +++ b/submodules/sqlcipher/Sources/sqlite3ext.h @@ -18,10 +18,10 @@ #ifndef SQLITE3EXT_H #define SQLITE3EXT_H -#if TARGET_OS_IOS -#include -#else +#if TARGET_OS_OSX #include +#else +#include #endif /* diff --git a/submodules/sqlcipher/sqlcipher.xcodeproj/project.pbxproj b/submodules/sqlcipher/sqlcipher.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..2fe13995bb --- /dev/null +++ b/submodules/sqlcipher/sqlcipher.xcodeproj/project.pbxproj @@ -0,0 +1,371 @@ + + + + + archiveVersion + 1 + classes + + + objectVersion + 46 + objects + + 1DD70E2957B42A3C00000000 + + isa + PBXFileReference + name + sqlcipher-Debug.xcconfig + path + ../../buck-out/gen/submodules/sqlcipher/sqlcipher-Debug.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29207522A600000000 + + isa + PBXFileReference + name + sqlcipher-Profile.xcconfig + path + ../../buck-out/gen/submodules/sqlcipher/sqlcipher-Profile.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + 1DD70E29940BCE0800000000 + + isa + PBXFileReference + name + sqlcipher-Release.xcconfig + path + ../../buck-out/gen/submodules/sqlcipher/sqlcipher-Release.xcconfig + sourceTree + SOURCE_ROOT + explicitFileType + text.xcconfig + + B401C9792F7F325000000000 + + isa + PBXGroup + name + Buck (Do Not Modify) + sourceTree + ]]> + children + + 1DD70E2957B42A3C00000000 + 1DD70E29207522A600000000 + 1DD70E29940BCE0800000000 + + + B401C979B781F65D00000000 + + isa + PBXGroup + name + Configurations + sourceTree + ]]> + children + + B401C9792F7F325000000000 + + + 1DD70E29F6E0AD6700000000 + + isa + PBXFileReference + name + libsqlcipher.a + path + libsqlcipher.a + sourceTree + BUILT_PRODUCTS_DIR + explicitFileType + archive.ar + + B401C979C806358400000000 + + isa + PBXGroup + name + Products + sourceTree + ]]> + children + + 1DD70E29F6E0AD6700000000 + + + 1DD70E29001F47FB00000000 + + isa + PBXFileReference + name + BUCK + path + BUCK + sourceTree + SOURCE_ROOT + explicitFileType + text.script.python + + 1DD70E29591CD4E200000000 + + isa + PBXFileReference + name + sqlcipher_config.h + path + Sources/sqlcipher_config.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E298001D9DC00000000 + + isa + PBXFileReference + name + sqlite3.c + path + Sources/sqlite3.c + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.c + + 1DD70E298001D9E100000000 + + isa + PBXFileReference + name + sqlite3.h + path + Sources/sqlite3.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + 1DD70E295A79DA9400000000 + + isa + PBXFileReference + name + sqlite3ext.h + path + Sources/sqlite3ext.h + sourceTree + SOURCE_ROOT + lastKnownFileType + sourcecode.c.h + + B401C979EAB5339800000000 + + isa + PBXGroup + name + Sources + sourceTree + ]]> + children + + 1DD70E29591CD4E200000000 + 1DD70E298001D9DC00000000 + 1DD70E298001D9E100000000 + 1DD70E295A79DA9400000000 + + + B401C979752F915900000000 + + isa + PBXGroup + name + sqlcipher + sourceTree + ]]> + children + + 1DD70E29001F47FB00000000 + B401C979EAB5339800000000 + + + B401C979EFB6AC4600000000 + + isa + PBXGroup + name + mainGroup + sourceTree + ]]> + children + + B401C979B781F65D00000000 + B401C979C806358400000000 + B401C979752F915900000000 + + + E7A30F048001D9DC00000000 + + isa + PBXBuildFile + fileRef + 1DD70E298001D9DC00000000 + + 1870857F0000000000000000 + + isa + PBXSourcesBuildPhase + files + + E7A30F048001D9DC00000000 + + + 4952437303EDA63300000000 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + baseConfigurationReference + 1DD70E2957B42A3C00000000 + + 4952437350C7218900000000 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + baseConfigurationReference + 1DD70E29207522A600000000 + + 49524373A439BFE700000000 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + baseConfigurationReference + 1DD70E29940BCE0800000000 + + 218C37090000000000000000 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000000 + 4952437350C7218900000000 + 49524373A439BFE700000000 + + defaultConfigurationIsVisible + + + E66DC04E752F915900000000 + + isa + PBXNativeTarget + name + sqlcipher + productName + sqlcipher + productReference + 1DD70E29F6E0AD6700000000 + productType + com.apple.product-type.library.static + dependencies + + + buildPhases + + 1870857F0000000000000000 + + buildConfigurationList + 218C37090000000000000000 + + 4952437303EDA63300000001 + + isa + XCBuildConfiguration + name + Debug + buildSettings + + + + 4952437350C7218900000001 + + isa + XCBuildConfiguration + name + Profile + buildSettings + + + + 49524373A439BFE700000001 + + isa + XCBuildConfiguration + name + Release + buildSettings + + + + 218C37090000000000000001 + + isa + XCConfigurationList + buildConfigurations + + 4952437303EDA63300000001 + 4952437350C7218900000001 + 49524373A439BFE700000001 + + defaultConfigurationIsVisible + + + 96C84793752F915900000000 + + isa + PBXProject + mainGroup + B401C979EFB6AC4600000000 + targets + + E66DC04E752F915900000000 + + buildConfigurationList + 218C37090000000000000001 + compatibilityVersion + Xcode 3.2 + attributes + + LastUpgradeCheck + 9999 + + + + rootObject + 96C84793752F915900000000 + + \ No newline at end of file diff --git a/submodules/sqlcipher/sqlcipher.xcodeproj/xcshareddata/xcschemes/sqlcipher.xcscheme b/submodules/sqlcipher/sqlcipher.xcodeproj/xcshareddata/xcschemes/sqlcipher.xcscheme new file mode 100644 index 0000000000..adf22b862a --- /dev/null +++ b/submodules/sqlcipher/sqlcipher.xcodeproj/xcshareddata/xcschemes/sqlcipher.xcscheme @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/submodules/webp/BUCK b/submodules/webp/BUCK index 3b4d5be107..c8f7bc56c0 100644 --- a/submodules/webp/BUCK +++ b/submodules/webp/BUCK @@ -1,55 +1,48 @@ -load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'glob_sub_map', 'combined_config') -load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG') +load("//Config:buck_rule_macros.bzl", "static_library", "framework") genrule( - name = 'webp_lib_file', + name = "WebP_lib_file", srcs = [ - 'lib/libwebp.a', + "lib/libwebp.a", ], - bash = 'mkdir -p $OUT; cp $SRCS $OUT/', - out = 'webp_lib_file', - visibility = [ - '//submodules/webp:...', - ] + bash = "mkdir -p $OUT; cp $SRCS $OUT/", + out = "WebP_libs", + visibility = ["PUBLIC"] ) apple_library( - name = 'webp_lib', + name = "WebP_lib", visibility = [ - '//submodules/webp:...' + "//submodules/WebP:..." ], - header_namespace = 'webp', - exported_headers = glob_sub_map('include/', glob([ - 'include/**/*.h', - ])), + header_namespace = "webp", + exported_headers = { + "webp/encode.h": "include/webp/encode.h", + "webp/decode.h": "include/webp/decode.h", + "webp/types.h": "include/webp/types.h", + }, exported_linker_flags = [ - '-lwebp', - '-L$(location :webp_lib_file)', + "-lwebp", + "-L$(location :WebP_lib_file)", ], ) -apple_library( - name = 'WebPImage', +static_library( + name = "WebPImage", srcs = glob([ - 'WebP/*.m', + "WebP/*.m", ]), - headers = glob([ - 'WebP/*.h', - ], exclude = ['WebP/WebP.h']), - header_namespace = 'WebPImage', - exported_headers = glob([ - 'WebP/*.h', - ], exclude = ['WebP/WebP.h']), - modular = True, - configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])), - compiler_flags = ['-w'], - preprocessor_flags = ['-fobjc-arc'], - visibility = ['PUBLIC'], + headers = [ + "WebP/UIImage+WebP.h", + ], + exported_headers = [ + "WebP/UIImage+WebP.h", + ], deps = [ - ':webp_lib', + ":WebP_lib", ], frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - '$SDKROOT/System/Library/Frameworks/UIKit.framework', + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/UIKit.framework", ], ) diff --git a/tools/GenerateLocalization.swift b/tools/GenerateLocalization.swift index 1fd0c49eff..5e26783c77 100644 --- a/tools/GenerateLocalization.swift +++ b/tools/GenerateLocalization.swift @@ -203,12 +203,12 @@ if CommandLine.arguments.count != 4 { print("Usage: swift GenerateLocalization.swift Localizable.strings Strings.swift Strings.mapping") } else { if let rawDict = NSDictionary(contentsOfFile: CommandLine.arguments[1]) { - var result = "import Foundation\n\n" + var result = "import Foundation\nimport AppBundle\n\n" result += """ private let fallbackDict: [String: String] = { - guard let mainPath = Bundle.main.path(forResource: \"en\", ofType: \"lproj\"), let bundle = Bundle(path: mainPath) else { + guard let mainPath = getAppBundle().path(forResource: \"en\", ofType: \"lproj\"), let bundle = Bundle(path: mainPath) else { return [:] } guard let path = bundle.path(forResource: \"Localizable\", ofType: \"strings\") else { @@ -346,7 +346,7 @@ private final class DataReader { } private func loadMapping() -> ([Int], [String], [Int], [Int], [String]) { - guard let filePath = Bundle(for: PresentationStrings.self).path(forResource: "PresentationStrings", ofType: "mapping") else { + guard let filePath = getAppBundle().path(forResource: "PresentationStrings", ofType: "mapping") else { fatalError() } guard let data = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else { diff --git a/tools/buck_defs.bzl b/tools/buck_defs.bzl deleted file mode 100644 index d6db55ef19..0000000000 --- a/tools/buck_defs.bzl +++ /dev/null @@ -1,18 +0,0 @@ -SHARED_CONFIGS = { - 'IPHONEOS_DEPLOYMENT_TARGET': '8.0', # common target version - 'SDKROOT': 'iphoneos', # platform - 'GCC_OPTIMIZATION_LEVEL': '0', # clang optimization - 'SWIFT_OPTIMIZATION_LEVEL': '-Onone', # swiftc optimization - 'SWIFT_WHOLE_MODULE_OPTIMIZATION': 'NO', # for build performance - 'ONLY_ACTIVE_ARCH': 'YES', - 'LD_RUNPATH_SEARCH_PATHS': '@executable_path/Frameworks', # To allow source files in binary -} - -LIB_SPECIFIC_CONFIG = { - 'SKIP_INSTALL': 'YES', -} - -EXTENSION_LIB_SPECIFIC_CONFIG = { - 'SKIP_INSTALL': 'YES', - 'APPLICATION_EXTENSION_API_ONLY': 'YES', -} diff --git a/tools/defs.bzl b/tools/defs.bzl new file mode 100644 index 0000000000..ad459ba6dc --- /dev/null +++ b/tools/defs.bzl @@ -0,0 +1,13 @@ +XCODE_BINARY_CONFIG = { + 'IPHONEOS_DEPLOYMENT_TARGET': '8.0', + 'SDKROOT': 'iphoneos', + 'GCC_OPTIMIZATION_LEVEL': '0', + 'SWIFT_OPTIMIZATION_LEVEL': '-Onone', + 'SWIFT_WHOLE_MODULE_OPTIMIZATION': 'NO', + 'ONLY_ACTIVE_ARCH': 'YES', + 'LD_RUNPATH_SEARCH_PATHS': '@executable_path/Frameworks', +} + +XCODE_STATIC_LIBRARY_CONFIG = { + 'SKIP_INSTALL': 'YES', +} diff --git a/tools/targets.bzl b/tools/targets.bzl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/buck_utils.bzl b/tools/utils.bzl similarity index 75% rename from tools/buck_utils.bzl rename to tools/utils.bzl index ca933c023e..f443f03983 100644 --- a/tools/buck_utils.bzl +++ b/tools/utils.bzl @@ -1,10 +1,5 @@ OTHER_LINKER_FLAGS_KEY = 'OTHER_LDFLAGS' -# Either appends or assigns `other_linker_flags` to `config` under `config_key`. -# Params: -# - config: A dictionary of config names and their values -# - additional_linker_flags: A string-representable value of additional linker flags -# - config_key: The key to which to append or assign the additional linker flags def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHER_LINKER_FLAGS_KEY): new_config = { } config_key_found = False @@ -21,8 +16,8 @@ def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHE return new_config -# Creates a dictionary where the top level keys are the supported build configurations and the value of each key is `config`. -def configs_with_config(config): + +def xcode_configs(config): return { "Debug": config, "Profile": config, @@ -42,19 +37,11 @@ def merge_maps(dicts): result.update(d) return result + def basename(p): - """Returns the basename (i.e., the file portion) of a path. - Note that if `p` ends with a slash, this function returns an empty string. - This matches the behavior of Python's `os.path.basename`, but differs from - the Unix `basename` command (which would return the path segment preceding - the final slash). - Args: - p: The path whose basename should be returned. - Returns: - The basename of the path, which includes the extension. - """ return p.rpartition("/")[-1] + def glob_map(glob_results): result = dict() for path in glob_results: @@ -64,6 +51,7 @@ def glob_map(glob_results): result[file_name] = path return result + def glob_sub_map(prefix, glob_specs): result = dict() for path in native.glob(glob_specs): @@ -75,6 +63,7 @@ def glob_sub_map(prefix, glob_specs): result[file_key] = path return result + def gen_header_targets(header_paths, prefix, flavor, source_rule, source_path): result = dict() for header_path in header_paths: @@ -87,6 +76,7 @@ def gen_header_targets(header_paths, prefix, flavor, source_rule, source_path): result[header_path] = ':' + name + flavor return result + def lib_basename(name): result = name if result.startswith('lib'): @@ -95,12 +85,14 @@ def lib_basename(name): result = result[:-2] return result + def combined_config(dicts): result = dict() for d in dicts: result.update(d) return result + valid_build_variants = ['project', 'release'] def get_build_variant():