diff --git a/Telegram-iOS.xcworkspace/contents.xcworkspacedata b/Telegram-iOS.xcworkspace/contents.xcworkspacedata index 5315fd3081..191313aa4a 100644 --- a/Telegram-iOS.xcworkspace/contents.xcworkspacedata +++ b/Telegram-iOS.xcworkspace/contents.xcworkspacedata @@ -143,6 +143,9 @@ location = "group:submodules/AvatarNode/AvatarNode_Xcode.xcodeproj"> + + @@ -203,6 +206,9 @@ + + diff --git a/submodules/AlertUI/AlertUI_Xcode.xcodeproj/project.pbxproj b/submodules/AlertUI/AlertUI_Xcode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..9378cc6468 --- /dev/null +++ b/submodules/AlertUI/AlertUI_Xcode.xcodeproj/project.pbxproj @@ -0,0 +1,557 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + D0C9BFC722FE33F100FAB518 /* AlertUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9BFC522FE33F100FAB518 /* AlertUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0C9BFD222FE345700FAB518 /* ThemedTextAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BFD122FE345700FAB518 /* ThemedTextAlertController.swift */; }; + D0C9BFD522FE346600FAB518 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFD422FE346600FAB518 /* Foundation.framework */; }; + D0C9BFD722FE346900FAB518 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFD622FE346900FAB518 /* UIKit.framework */; }; + D0C9BFD922FE346E00FAB518 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFD822FE346E00FAB518 /* Display.framework */; }; + D0C9BFDD22FE347900FAB518 /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFDC22FE347900FAB518 /* AccountContext.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D0C9BFC222FE33F100FAB518 /* AlertUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AlertUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFC522FE33F100FAB518 /* AlertUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AlertUI.h; sourceTree = ""; }; + D0C9BFC622FE33F100FAB518 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D0C9BFD122FE345700FAB518 /* ThemedTextAlertController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThemedTextAlertController.swift; sourceTree = ""; }; + D0C9BFD422FE346600FAB518 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + D0C9BFD622FE346900FAB518 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + D0C9BFD822FE346E00FAB518 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFDA22FE347300FAB518 /* TelegramCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFDC22FE347900FAB518 /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D0C9BFBF22FE33F100FAB518 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D0C9BFDD22FE347900FAB518 /* AccountContext.framework in Frameworks */, + D0C9BFD922FE346E00FAB518 /* Display.framework in Frameworks */, + D0C9BFD722FE346900FAB518 /* UIKit.framework in Frameworks */, + D0C9BFD522FE346600FAB518 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D0C9BFB822FE33F100FAB518 = { + isa = PBXGroup; + children = ( + D0C9BFC622FE33F100FAB518 /* Info.plist */, + D0C9BFC422FE33F100FAB518 /* Sources */, + D0C9BFC322FE33F100FAB518 /* Products */, + D0C9BFD322FE346600FAB518 /* Frameworks */, + ); + sourceTree = ""; + }; + D0C9BFC322FE33F100FAB518 /* Products */ = { + isa = PBXGroup; + children = ( + D0C9BFC222FE33F100FAB518 /* AlertUI.framework */, + ); + name = Products; + sourceTree = ""; + }; + D0C9BFC422FE33F100FAB518 /* Sources */ = { + isa = PBXGroup; + children = ( + D0C9BFD122FE345700FAB518 /* ThemedTextAlertController.swift */, + D0C9BFC522FE33F100FAB518 /* AlertUI.h */, + ); + path = Sources; + sourceTree = ""; + }; + D0C9BFD322FE346600FAB518 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D0C9BFDC22FE347900FAB518 /* AccountContext.framework */, + D0C9BFDA22FE347300FAB518 /* TelegramCore.framework */, + D0C9BFD822FE346E00FAB518 /* Display.framework */, + D0C9BFD622FE346900FAB518 /* UIKit.framework */, + D0C9BFD422FE346600FAB518 /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + D0C9BFBD22FE33F100FAB518 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D0C9BFC722FE33F100FAB518 /* AlertUI.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + D0C9BFC122FE33F100FAB518 /* AlertUI */ = { + isa = PBXNativeTarget; + buildConfigurationList = D0C9BFCA22FE33F100FAB518 /* Build configuration list for PBXNativeTarget "AlertUI" */; + buildPhases = ( + D0C9BFBD22FE33F100FAB518 /* Headers */, + D0C9BFBE22FE33F100FAB518 /* Sources */, + D0C9BFBF22FE33F100FAB518 /* Frameworks */, + D0C9BFC022FE33F100FAB518 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AlertUI; + productName = AlertUI; + productReference = D0C9BFC222FE33F100FAB518 /* AlertUI.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D0C9BFB922FE33F100FAB518 /* Project object */ = { + isa = PBXProject; + attributes = { + DefaultBuildSystemTypeForWorkspace = Latest; + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = "Telegram Messenger LLP"; + TargetAttributes = { + D0C9BFC122FE33F100FAB518 = { + CreatedOnToolsVersion = 10.3; + LastSwiftMigration = 1030; + }; + }; + }; + buildConfigurationList = D0C9BFBC22FE33F100FAB518 /* Build configuration list for PBXProject "AlertUI_Xcode" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = D0C9BFB822FE33F100FAB518; + productRefGroup = D0C9BFC322FE33F100FAB518 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D0C9BFC122FE33F100FAB518 /* AlertUI */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D0C9BFC022FE33F100FAB518 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D0C9BFBE22FE33F100FAB518 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D0C9BFD222FE345700FAB518 /* ThemedTextAlertController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + D0C9BFC822FE33F100FAB518 /* 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; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugAppStoreLLC; + }; + D0C9BFC922FE33F100FAB518 /* 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; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseAppStoreLLC; + }; + D0C9BFCB22FE33F100FAB518 /* DebugAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.AlertUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugAppStoreLLC; + }; + D0C9BFCC22FE33F100FAB518 /* ReleaseAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.AlertUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseAppStoreLLC; + }; + D0C9BFCD22FE343200FAB518 /* 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; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugHockeyapp; + }; + D0C9BFCE22FE343200FAB518 /* DebugHockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.AlertUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugHockeyapp; + }; + D0C9BFCF22FE344000FAB518 /* 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; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseHockeyappInternal; + }; + D0C9BFD022FE344000FAB518 /* ReleaseHockeyappInternal */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.AlertUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseHockeyappInternal; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D0C9BFBC22FE33F100FAB518 /* Build configuration list for PBXProject "AlertUI_Xcode" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D0C9BFC822FE33F100FAB518 /* DebugAppStoreLLC */, + D0C9BFCD22FE343200FAB518 /* DebugHockeyapp */, + D0C9BFC922FE33F100FAB518 /* ReleaseAppStoreLLC */, + D0C9BFCF22FE344000FAB518 /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; + D0C9BFCA22FE33F100FAB518 /* Build configuration list for PBXNativeTarget "AlertUI" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D0C9BFCB22FE33F100FAB518 /* DebugAppStoreLLC */, + D0C9BFCE22FE343200FAB518 /* DebugHockeyapp */, + D0C9BFCC22FE33F100FAB518 /* ReleaseAppStoreLLC */, + D0C9BFD022FE344000FAB518 /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; +/* End XCConfigurationList section */ + }; + rootObject = D0C9BFB922FE33F100FAB518 /* Project object */; +} diff --git a/submodules/AlertUI/Info.plist b/submodules/AlertUI/Info.plist new file mode 100644 index 0000000000..e1fe4cfb7b --- /dev/null +++ b/submodules/AlertUI/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/AlertUI/Sources/AlertUI.h b/submodules/AlertUI/Sources/AlertUI.h new file mode 100644 index 0000000000..b188aba6c8 --- /dev/null +++ b/submodules/AlertUI/Sources/AlertUI.h @@ -0,0 +1,19 @@ +// +// AlertUI.h +// AlertUI +// +// Created by Peter on 8/10/19. +// Copyright © 2019 Telegram Messenger LLP. All rights reserved. +// + +#import + +//! Project version number for AlertUI. +FOUNDATION_EXPORT double AlertUIVersionNumber; + +//! Project version string for AlertUI. +FOUNDATION_EXPORT const unsigned char AlertUIVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/submodules/TelegramUI/TelegramUI/ThemedTextAlertController.swift b/submodules/AlertUI/Sources/ThemedTextAlertController.swift similarity index 99% rename from submodules/TelegramUI/TelegramUI/ThemedTextAlertController.swift rename to submodules/AlertUI/Sources/ThemedTextAlertController.swift index fc507460d5..5779ac6b09 100644 --- a/submodules/TelegramUI/TelegramUI/ThemedTextAlertController.swift +++ b/submodules/AlertUI/Sources/ThemedTextAlertController.swift @@ -1,7 +1,6 @@ import Foundation import UIKit import Display -import TelegramCore import AccountContext public func textAlertController(context: AccountContext, title: String?, text: String, actions: [TextAlertAction], actionLayout: TextAlertContentActionLayout = .horizontal) -> AlertController { diff --git a/submodules/ComposePollUI/ComposePollUI_Xcode.xcodeproj/project.pbxproj b/submodules/ComposePollUI/ComposePollUI_Xcode.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..a15ced1517 --- /dev/null +++ b/submodules/ComposePollUI/ComposePollUI_Xcode.xcodeproj/project.pbxproj @@ -0,0 +1,591 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + D0C9BF8722FE309900FAB518 /* ComposePollUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9BF8522FE309900FAB518 /* ComposePollUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0C9BF9422FE311300FAB518 /* CreatePollController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BF9122FE311300FAB518 /* CreatePollController.swift */; }; + D0C9BF9522FE311300FAB518 /* CreatePollOptionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BF9222FE311300FAB518 /* CreatePollOptionItem.swift */; }; + D0C9BF9622FE311300FAB518 /* CreatePollOptionActionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BF9322FE311300FAB518 /* CreatePollOptionActionItem.swift */; }; + D0C9BF9922FE312D00FAB518 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BF9822FE312D00FAB518 /* Foundation.framework */; }; + D0C9BF9B22FE313100FAB518 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BF9A22FE313100FAB518 /* UIKit.framework */; }; + D0C9BF9D22FE313400FAB518 /* Display.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BF9C22FE313400FAB518 /* Display.framework */; }; + D0C9BF9F22FE313700FAB518 /* SwiftSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BF9E22FE313700FAB518 /* SwiftSignalKit.framework */; }; + D0C9BFA122FE313B00FAB518 /* Postbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFA022FE313B00FAB518 /* Postbox.framework */; }; + D0C9BFA322FE313F00FAB518 /* TelegramCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFA222FE313F00FAB518 /* TelegramCore.framework */; }; + D0C9BFA522FE314300FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFA422FE314300FAB518 /* TelegramPresentationData.framework */; }; + D0C9BFA722FE314900FAB518 /* ItemListUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFA622FE314900FAB518 /* ItemListUI.framework */; }; + D0C9BFA922FE314E00FAB518 /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFA822FE314E00FAB518 /* AccountContext.framework */; }; + D0C9BFAB22FE315A00FAB518 /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFAA22FE315A00FAB518 /* AsyncDisplayKit.framework */; }; + D0C9BFE122FE34A400FAB518 /* AlertUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFE022FE34A400FAB518 /* AlertUI.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D0C9BF8222FE309900FAB518 /* ComposePollUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ComposePollUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BF8522FE309900FAB518 /* ComposePollUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ComposePollUI.h; sourceTree = ""; }; + D0C9BF8622FE309900FAB518 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D0C9BF9122FE311300FAB518 /* CreatePollController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreatePollController.swift; sourceTree = ""; }; + D0C9BF9222FE311300FAB518 /* CreatePollOptionItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreatePollOptionItem.swift; sourceTree = ""; }; + D0C9BF9322FE311300FAB518 /* CreatePollOptionActionItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreatePollOptionActionItem.swift; sourceTree = ""; }; + D0C9BF9822FE312D00FAB518 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + D0C9BF9A22FE313100FAB518 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + D0C9BF9C22FE313400FAB518 /* Display.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Display.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BF9E22FE313700FAB518 /* SwiftSignalKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftSignalKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFA022FE313B00FAB518 /* Postbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Postbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFA222FE313F00FAB518 /* TelegramCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFA422FE314300FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFA622FE314900FAB518 /* ItemListUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFA822FE314E00FAB518 /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFAA22FE315A00FAB518 /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AsyncDisplayKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFE022FE34A400FAB518 /* AlertUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AlertUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D0C9BF7F22FE309900FAB518 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D0C9BFE122FE34A400FAB518 /* AlertUI.framework in Frameworks */, + D0C9BFAB22FE315A00FAB518 /* AsyncDisplayKit.framework in Frameworks */, + D0C9BFA922FE314E00FAB518 /* AccountContext.framework in Frameworks */, + D0C9BFA722FE314900FAB518 /* ItemListUI.framework in Frameworks */, + D0C9BFA522FE314300FAB518 /* TelegramPresentationData.framework in Frameworks */, + D0C9BFA322FE313F00FAB518 /* TelegramCore.framework in Frameworks */, + D0C9BFA122FE313B00FAB518 /* Postbox.framework in Frameworks */, + D0C9BF9F22FE313700FAB518 /* SwiftSignalKit.framework in Frameworks */, + D0C9BF9D22FE313400FAB518 /* Display.framework in Frameworks */, + D0C9BF9B22FE313100FAB518 /* UIKit.framework in Frameworks */, + D0C9BF9922FE312D00FAB518 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D0C9BF7822FE309900FAB518 = { + isa = PBXGroup; + children = ( + D0C9BF8622FE309900FAB518 /* Info.plist */, + D0C9BF8422FE309900FAB518 /* Sources */, + D0C9BF8322FE309900FAB518 /* Products */, + D0C9BF9722FE312D00FAB518 /* Frameworks */, + ); + sourceTree = ""; + }; + D0C9BF8322FE309900FAB518 /* Products */ = { + isa = PBXGroup; + children = ( + D0C9BF8222FE309900FAB518 /* ComposePollUI.framework */, + ); + name = Products; + sourceTree = ""; + }; + D0C9BF8422FE309900FAB518 /* Sources */ = { + isa = PBXGroup; + children = ( + D0C9BF9122FE311300FAB518 /* CreatePollController.swift */, + D0C9BF9322FE311300FAB518 /* CreatePollOptionActionItem.swift */, + D0C9BF9222FE311300FAB518 /* CreatePollOptionItem.swift */, + D0C9BF8522FE309900FAB518 /* ComposePollUI.h */, + ); + path = Sources; + sourceTree = ""; + }; + D0C9BF9722FE312D00FAB518 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D0C9BFE022FE34A400FAB518 /* AlertUI.framework */, + D0C9BFAA22FE315A00FAB518 /* AsyncDisplayKit.framework */, + D0C9BFA822FE314E00FAB518 /* AccountContext.framework */, + D0C9BFA622FE314900FAB518 /* ItemListUI.framework */, + D0C9BFA422FE314300FAB518 /* TelegramPresentationData.framework */, + D0C9BFA222FE313F00FAB518 /* TelegramCore.framework */, + D0C9BFA022FE313B00FAB518 /* Postbox.framework */, + D0C9BF9E22FE313700FAB518 /* SwiftSignalKit.framework */, + D0C9BF9C22FE313400FAB518 /* Display.framework */, + D0C9BF9A22FE313100FAB518 /* UIKit.framework */, + D0C9BF9822FE312D00FAB518 /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + D0C9BF7D22FE309900FAB518 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D0C9BF8722FE309900FAB518 /* ComposePollUI.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + D0C9BF8122FE309900FAB518 /* ComposePollUI */ = { + isa = PBXNativeTarget; + buildConfigurationList = D0C9BF8A22FE309900FAB518 /* Build configuration list for PBXNativeTarget "ComposePollUI" */; + buildPhases = ( + D0C9BF7D22FE309900FAB518 /* Headers */, + D0C9BF7E22FE309900FAB518 /* Sources */, + D0C9BF7F22FE309900FAB518 /* Frameworks */, + D0C9BF8022FE309900FAB518 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ComposePollUI; + productName = ComposePollUI; + productReference = D0C9BF8222FE309900FAB518 /* ComposePollUI.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D0C9BF7922FE309900FAB518 /* Project object */ = { + isa = PBXProject; + attributes = { + DefaultBuildSystemTypeForWorkspace = Latest; + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = "Telegram Messenger LLP"; + TargetAttributes = { + D0C9BF8122FE309900FAB518 = { + CreatedOnToolsVersion = 10.3; + LastSwiftMigration = 1030; + }; + }; + }; + buildConfigurationList = D0C9BF7C22FE309900FAB518 /* Build configuration list for PBXProject "ComposePollUI_Xcode" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = D0C9BF7822FE309900FAB518; + productRefGroup = D0C9BF8322FE309900FAB518 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D0C9BF8122FE309900FAB518 /* ComposePollUI */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D0C9BF8022FE309900FAB518 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D0C9BF7E22FE309900FAB518 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D0C9BF9522FE311300FAB518 /* CreatePollOptionItem.swift in Sources */, + D0C9BF9422FE311300FAB518 /* CreatePollController.swift in Sources */, + D0C9BF9622FE311300FAB518 /* CreatePollOptionActionItem.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + D0C9BF8822FE309900FAB518 /* 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; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugAppStoreLLC; + }; + D0C9BF8922FE309900FAB518 /* 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; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseAppStoreLLC; + }; + D0C9BF8B22FE309900FAB518 /* DebugAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.ComposePollUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugAppStoreLLC; + }; + D0C9BF8C22FE309900FAB518 /* ReleaseAppStoreLLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.ComposePollUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseAppStoreLLC; + }; + D0C9BF8D22FE30BE00FAB518 /* 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; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = DebugHockeyapp; + }; + D0C9BF8E22FE30BE00FAB518 /* DebugHockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.ComposePollUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = DebugHockeyapp; + }; + D0C9BF8F22FE30CB00FAB518 /* 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; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = ReleaseHockeyappInternal; + }; + D0C9BF9022FE30CB00FAB518 /* ReleaseHockeyappInternal */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + 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.ComposePollUI; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = ReleaseHockeyappInternal; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D0C9BF7C22FE309900FAB518 /* Build configuration list for PBXProject "ComposePollUI_Xcode" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D0C9BF8822FE309900FAB518 /* DebugAppStoreLLC */, + D0C9BF8D22FE30BE00FAB518 /* DebugHockeyapp */, + D0C9BF8922FE309900FAB518 /* ReleaseAppStoreLLC */, + D0C9BF8F22FE30CB00FAB518 /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; + D0C9BF8A22FE309900FAB518 /* Build configuration list for PBXNativeTarget "ComposePollUI" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D0C9BF8B22FE309900FAB518 /* DebugAppStoreLLC */, + D0C9BF8E22FE30BE00FAB518 /* DebugHockeyapp */, + D0C9BF8C22FE309900FAB518 /* ReleaseAppStoreLLC */, + D0C9BF9022FE30CB00FAB518 /* ReleaseHockeyappInternal */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ReleaseAppStoreLLC; + }; +/* End XCConfigurationList section */ + }; + rootObject = D0C9BF7922FE309900FAB518 /* Project object */; +} diff --git a/submodules/ComposePollUI/Info.plist b/submodules/ComposePollUI/Info.plist new file mode 100644 index 0000000000..e1fe4cfb7b --- /dev/null +++ b/submodules/ComposePollUI/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/ComposePollUI/Sources/ComposePollUI.h b/submodules/ComposePollUI/Sources/ComposePollUI.h new file mode 100644 index 0000000000..0bdf9b7117 --- /dev/null +++ b/submodules/ComposePollUI/Sources/ComposePollUI.h @@ -0,0 +1,19 @@ +// +// ComposePollUI.h +// ComposePollUI +// +// Created by Peter on 8/10/19. +// Copyright © 2019 Telegram Messenger LLP. All rights reserved. +// + +#import + +//! Project version number for ComposePollUI. +FOUNDATION_EXPORT double ComposePollUIVersionNumber; + +//! Project version string for ComposePollUI. +FOUNDATION_EXPORT const unsigned char ComposePollUIVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/submodules/TelegramUI/TelegramUI/CreatePollController.swift b/submodules/ComposePollUI/Sources/CreatePollController.swift similarity index 99% rename from submodules/TelegramUI/TelegramUI/CreatePollController.swift rename to submodules/ComposePollUI/Sources/CreatePollController.swift index b98d3ba148..1122c37f68 100644 --- a/submodules/TelegramUI/TelegramUI/CreatePollController.swift +++ b/submodules/ComposePollUI/Sources/CreatePollController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private let maxTextLength = 255 private let maxOptionLength = 100 diff --git a/submodules/TelegramUI/TelegramUI/CreatePollOptionActionItem.swift b/submodules/ComposePollUI/Sources/CreatePollOptionActionItem.swift similarity index 100% rename from submodules/TelegramUI/TelegramUI/CreatePollOptionActionItem.swift rename to submodules/ComposePollUI/Sources/CreatePollOptionActionItem.swift diff --git a/submodules/TelegramUI/TelegramUI/CreatePollOptionItem.swift b/submodules/ComposePollUI/Sources/CreatePollOptionItem.swift similarity index 100% rename from submodules/TelegramUI/TelegramUI/CreatePollOptionItem.swift rename to submodules/ComposePollUI/Sources/CreatePollOptionItem.swift diff --git a/submodules/ItemListUI/ItemListUI_Xcode.xcodeproj/project.pbxproj b/submodules/ItemListUI/ItemListUI_Xcode.xcodeproj/project.pbxproj index 3dc73b13a9..ae9eb45dce 100644 --- a/submodules/ItemListUI/ItemListUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/ItemListUI/ItemListUI_Xcode.xcodeproj/project.pbxproj @@ -25,6 +25,10 @@ D06018BC22F3663900796784 /* ItemListSelectableControlNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06018B922F3663800796784 /* ItemListSelectableControlNode.swift */; }; D06018BD22F3663900796784 /* ItemListEditableDeleteControlNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06018BA22F3663900796784 /* ItemListEditableDeleteControlNode.swift */; }; D06018E322F366F200796784 /* CheckNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D06018E222F366F200796784 /* CheckNode.framework */; }; + D0C9BFB222FE327700FAB518 /* ItemListPlaceholderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BFAE22FE327700FAB518 /* ItemListPlaceholderItem.swift */; }; + D0C9BFB322FE327700FAB518 /* ItemListSectionHeaderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BFAF22FE327700FAB518 /* ItemListSectionHeaderItem.swift */; }; + D0C9BFB422FE327700FAB518 /* ItemListSingleLineInputItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BFB022FE327700FAB518 /* ItemListSingleLineInputItem.swift */; }; + D0C9BFB522FE327700FAB518 /* ItemListTextEmptyStateItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9BFB122FE327700FAB518 /* ItemListTextEmptyStateItem.swift */; }; D0D3282422F3205E00D07EE2 /* ItemListUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D0D3282222F3205E00D07EE2 /* ItemListUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0D3286522F3366600D07EE2 /* ItemListControllerEmptyStateItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D3286022F3366500D07EE2 /* ItemListControllerEmptyStateItem.swift */; }; D0D3286622F3366600D07EE2 /* ItemListControllerSegmentedTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D3286122F3366500D07EE2 /* ItemListControllerSegmentedTitleView.swift */; }; @@ -62,6 +66,10 @@ D06018B922F3663800796784 /* ItemListSelectableControlNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListSelectableControlNode.swift; sourceTree = ""; }; D06018BA22F3663900796784 /* ItemListEditableDeleteControlNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListEditableDeleteControlNode.swift; sourceTree = ""; }; D06018E222F366F200796784 /* CheckNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CheckNode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFAE22FE327700FAB518 /* ItemListPlaceholderItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListPlaceholderItem.swift; sourceTree = ""; }; + D0C9BFAF22FE327700FAB518 /* ItemListSectionHeaderItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListSectionHeaderItem.swift; sourceTree = ""; }; + D0C9BFB022FE327700FAB518 /* ItemListSingleLineInputItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListSingleLineInputItem.swift; sourceTree = ""; }; + D0C9BFB122FE327700FAB518 /* ItemListTextEmptyStateItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListTextEmptyStateItem.swift; sourceTree = ""; }; D0D3281F22F3205E00D07EE2 /* ItemListUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ItemListUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0D3282222F3205E00D07EE2 /* ItemListUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ItemListUI.h; sourceTree = ""; }; D0D3282322F3205E00D07EE2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -108,6 +116,10 @@ D060185D22F35E2200796784 /* Items */ = { isa = PBXGroup; children = ( + D0C9BFAE22FE327700FAB518 /* ItemListPlaceholderItem.swift */, + D0C9BFAF22FE327700FAB518 /* ItemListSectionHeaderItem.swift */, + D0C9BFB022FE327700FAB518 /* ItemListSingleLineInputItem.swift */, + D0C9BFB122FE327700FAB518 /* ItemListTextEmptyStateItem.swift */, D060184C22F35E1E00796784 /* ItemListActionItem.swift */, D060184B22F35E1E00796784 /* ItemListActivityTextItem.swift */, D060185222F35E1F00796784 /* ItemListCheckboxItem.swift */, @@ -259,17 +271,20 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + D0C9BFB422FE327700FAB518 /* ItemListSingleLineInputItem.swift in Sources */, D060185322F35E1F00796784 /* ItemListMultilineInputItem.swift in Sources */, D06018BB22F3663900796784 /* ItemListEditableReorderControlNode.swift in Sources */, D060185522F35E1F00796784 /* ItemListActivityTextItem.swift in Sources */, D060186122F35F6C00796784 /* ItemListRevealOptionsNode.swift in Sources */, D06018BC22F3663900796784 /* ItemListSelectableControlNode.swift in Sources */, D060185822F35E1F00796784 /* ItemListLoadingIndicatorEmptyStateItem.swift in Sources */, + D0C9BFB322FE327700FAB518 /* ItemListSectionHeaderItem.swift in Sources */, D0D3286522F3366600D07EE2 /* ItemListControllerEmptyStateItem.swift in Sources */, D060185622F35E1F00796784 /* ItemListActionItem.swift in Sources */, D060185922F35E1F00796784 /* ItemListEditableItem.swift in Sources */, D060185A22F35E1F00796784 /* ItemListDisclosureItem.swift in Sources */, D060185422F35E1F00796784 /* ItemListTextWithLabelItem.swift in Sources */, + D0C9BFB222FE327700FAB518 /* ItemListPlaceholderItem.swift in Sources */, D0D3286722F3366600D07EE2 /* ItemListController.swift in Sources */, D0D3286822F3366600D07EE2 /* ItemListControllerSearch.swift in Sources */, D060185722F35E1F00796784 /* ItemListSwitchItem.swift in Sources */, @@ -280,6 +295,7 @@ D06018BD22F3663900796784 /* ItemListEditableDeleteControlNode.swift in Sources */, D0D3289A22F345C500D07EE2 /* ItemListItem.swift in Sources */, D060185C22F35E1F00796784 /* ItemListCheckboxItem.swift in Sources */, + D0C9BFB522FE327700FAB518 /* ItemListTextEmptyStateItem.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/TelegramUI/TelegramUI/ItemListPlaceholderItem.swift b/submodules/ItemListUI/Sources/Items/ItemListPlaceholderItem.swift similarity index 83% rename from submodules/TelegramUI/TelegramUI/ItemListPlaceholderItem.swift rename to submodules/ItemListUI/Sources/Items/ItemListPlaceholderItem.swift index 4571968f81..38fead4565 100644 --- a/submodules/TelegramUI/TelegramUI/ItemListPlaceholderItem.swift +++ b/submodules/ItemListUI/Sources/Items/ItemListPlaceholderItem.swift @@ -4,16 +4,15 @@ import Display import AsyncDisplayKit import SwiftSignalKit import TelegramPresentationData -import ItemListUI -class ItemListPlaceholderItem: ListViewItem, ItemListItem { +public class ItemListPlaceholderItem: ListViewItem, ItemListItem { let theme: PresentationTheme let text: String - let sectionId: ItemListSectionId + public let sectionId: ItemListSectionId let style: ItemListStyle - let tag: ItemListItemTag? + public let tag: ItemListItemTag? - init(theme: PresentationTheme, text: String, sectionId: ItemListSectionId, style: ItemListStyle, tag: ItemListItemTag? = nil) { + public init(theme: PresentationTheme, text: String, sectionId: ItemListSectionId, style: ItemListStyle, tag: ItemListItemTag? = nil) { self.theme = theme self.text = text self.sectionId = sectionId @@ -21,7 +20,7 @@ class ItemListPlaceholderItem: ListViewItem, ItemListItem { self.tag = tag } - func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { + public func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { async { let node = ItemListPlaceholderItemNode() let (layout, apply) = node.asyncLayout()(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) @@ -37,7 +36,7 @@ class ItemListPlaceholderItem: ListViewItem, ItemListItem { } } - func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { + public func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { Queue.mainQueue().async { if let nodeValue = node() as? ItemListPlaceholderItemNode { let makeLayout = nodeValue.asyncLayout() @@ -54,29 +53,29 @@ class ItemListPlaceholderItem: ListViewItem, ItemListItem { } } - let selectable = false + public let selectable = false } private let textFont = Font.regular(13.0) -class ItemListPlaceholderItemNode: ListViewItemNode, ItemListItemNode { +public class ItemListPlaceholderItemNode: ListViewItemNode, ItemListItemNode { private let backgroundNode: ASDisplayNode private let topStripeNode: ASDisplayNode private let bottomStripeNode: ASDisplayNode - let textNode: TextNode + public let textNode: TextNode private var item: ItemListPlaceholderItem? - override var canBeSelected: Bool { + override public var canBeSelected: Bool { return false } - var tag: ItemListItemTag? { + public var tag: ItemListItemTag? { return self.item?.tag } - init() { + public init() { self.backgroundNode = ASDisplayNode() self.backgroundNode.isLayerBacked = true self.backgroundNode.backgroundColor = .white @@ -95,7 +94,7 @@ class ItemListPlaceholderItemNode: ListViewItemNode, ItemListItemNode { self.addSubnode(self.textNode) } - func asyncLayout() -> (_ item: ItemListPlaceholderItem, _ params: ListViewItemLayoutParams, _ insets: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { + public func asyncLayout() -> (_ item: ItemListPlaceholderItem, _ params: ListViewItemLayoutParams, _ insets: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { let makeTextLayout = TextNode.asyncLayout(self.textNode) let currentItem = self.item @@ -194,15 +193,15 @@ class ItemListPlaceholderItemNode: ListViewItemNode, ItemListItemNode { } } - override func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { + override public func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.4) } - override func animateAdded(_ currentTimestamp: Double, duration: Double) { + override public func animateAdded(_ currentTimestamp: Double, duration: Double) { self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2) } - override func animateRemoved(_ currentTimestamp: Double, duration: Double) { + override public func animateRemoved(_ currentTimestamp: Double, duration: Double) { self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false) } } diff --git a/submodules/TelegramUI/TelegramUI/ItemListSectionHeaderItem.swift b/submodules/ItemListUI/Sources/Items/ItemListSectionHeaderItem.swift similarity index 81% rename from submodules/TelegramUI/TelegramUI/ItemListSectionHeaderItem.swift rename to submodules/ItemListUI/Sources/Items/ItemListSectionHeaderItem.swift index ef42c6da4d..452182202f 100644 --- a/submodules/TelegramUI/TelegramUI/ItemListSectionHeaderItem.swift +++ b/submodules/ItemListUI/Sources/Items/ItemListSectionHeaderItem.swift @@ -4,30 +4,34 @@ import Display import AsyncDisplayKit import SwiftSignalKit import TelegramPresentationData -import ItemListUI import ActivityIndicator -enum ItemListSectionHeaderAccessoryTextColor { +public enum ItemListSectionHeaderAccessoryTextColor { case generic case destructive } -struct ItemListSectionHeaderAccessoryText: Equatable { - let value: String - let color: ItemListSectionHeaderAccessoryTextColor +public struct ItemListSectionHeaderAccessoryText: Equatable { + public let value: String + public let color: ItemListSectionHeaderAccessoryTextColor + + public init(value: String, color: ItemListSectionHeaderAccessoryTextColor) { + self.value = value + self.color = color + } } -class ItemListSectionHeaderItem: ListViewItem, ItemListItem { +public class ItemListSectionHeaderItem: ListViewItem, ItemListItem { let theme: PresentationTheme let text: String let multiline: Bool let activityIndicator: Bool let accessoryText: ItemListSectionHeaderAccessoryText? - let sectionId: ItemListSectionId + public let sectionId: ItemListSectionId - let isAlwaysPlain: Bool = true + public let isAlwaysPlain: Bool = true - init(theme: PresentationTheme, text: String, multiline: Bool = false, activityIndicator: Bool = false, accessoryText: ItemListSectionHeaderAccessoryText? = nil, sectionId: ItemListSectionId) { + public init(theme: PresentationTheme, text: String, multiline: Bool = false, activityIndicator: Bool = false, accessoryText: ItemListSectionHeaderAccessoryText? = nil, sectionId: ItemListSectionId) { self.theme = theme self.text = text self.multiline = multiline @@ -36,7 +40,7 @@ class ItemListSectionHeaderItem: ListViewItem, ItemListItem { self.sectionId = sectionId } - func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { + public func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { async { let node = ItemListSectionHeaderItemNode() let (layout, apply) = node.asyncLayout()(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) @@ -52,7 +56,7 @@ class ItemListSectionHeaderItem: ListViewItem, ItemListItem { } } - func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { + public func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { Queue.mainQueue().async { guard let nodeValue = node() as? ItemListSectionHeaderItemNode else { assertionFailure() @@ -75,7 +79,7 @@ class ItemListSectionHeaderItem: ListViewItem, ItemListItem { private let titleFont = Font.regular(14.0) -class ItemListSectionHeaderItemNode: ListViewItemNode { +public class ItemListSectionHeaderItemNode: ListViewItemNode { private var item: ItemListSectionHeaderItem? private let titleNode: TextNode @@ -84,7 +88,7 @@ class ItemListSectionHeaderItemNode: ListViewItemNode { private let activateArea: AccessibilityAreaNode - init() { + public init() { self.titleNode = TextNode() self.titleNode.isUserInteractionEnabled = false self.titleNode.contentMode = .left @@ -105,7 +109,7 @@ class ItemListSectionHeaderItemNode: ListViewItemNode { self.addSubnode(self.activateArea) } - func asyncLayout() -> (_ item: ItemListSectionHeaderItem, _ params: ListViewItemLayoutParams, _ neighbors: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { + public func asyncLayout() -> (_ item: ItemListSectionHeaderItem, _ params: ListViewItemLayoutParams, _ neighbors: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { let makeTitleLayout = TextNode.asyncLayout(self.titleNode) let makeAccessoryTextLayout = TextNode.asyncLayout(self.accessoryTextNode) @@ -185,11 +189,11 @@ class ItemListSectionHeaderItemNode: ListViewItemNode { } } - override func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { + override public func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.4) } - override func animateRemoved(_ currentTimestamp: Double, duration: Double) { + override public func animateRemoved(_ currentTimestamp: Double, duration: Double) { self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false) } } diff --git a/submodules/TelegramUI/TelegramUI/ItemListSingleLineInputItem.swift b/submodules/ItemListUI/Sources/Items/ItemListSingleLineInputItem.swift similarity index 87% rename from submodules/TelegramUI/TelegramUI/ItemListSingleLineInputItem.swift rename to submodules/ItemListUI/Sources/Items/ItemListSingleLineInputItem.swift index b44ee1900e..35bed5bcd5 100644 --- a/submodules/TelegramUI/TelegramUI/ItemListSingleLineInputItem.swift +++ b/submodules/ItemListUI/Sources/Items/ItemListSingleLineInputItem.swift @@ -4,9 +4,8 @@ import Display import AsyncDisplayKit import SwiftSignalKit import TelegramPresentationData -import ItemListUI -enum ItemListSingleLineInputItemType: Equatable { +public enum ItemListSingleLineInputItemType: Equatable { case regular(capitalization: Bool, autocorrection: Bool) case password case email @@ -14,7 +13,7 @@ enum ItemListSingleLineInputItemType: Equatable { case username } -class ItemListSingleLineInputItem: ListViewItem, ItemListItem { +public class ItemListSingleLineInputItem: ListViewItem, ItemListItem { let theme: PresentationTheme let strings: PresentationStrings let title: NSAttributedString @@ -25,15 +24,15 @@ class ItemListSingleLineInputItem: ListViewItem, ItemListItem { let spacing: CGFloat let clearButton: Bool let enabled: Bool - let sectionId: ItemListSectionId + public let sectionId: ItemListSectionId let action: () -> Void let textUpdated: (String) -> Void let shouldUpdateText: (String) -> Bool let processPaste: ((String) -> String)? let updatedFocus: ((Bool) -> Void)? - let tag: ItemListItemTag? + public let tag: ItemListItemTag? - init(theme: PresentationTheme, strings: PresentationStrings, title: NSAttributedString, text: String, placeholder: String, type: ItemListSingleLineInputItemType = .regular(capitalization: true, autocorrection: true), returnKeyType: UIReturnKeyType = .`default`, spacing: CGFloat = 0.0, clearButton: Bool = false, enabled: Bool = true, tag: ItemListItemTag? = nil, sectionId: ItemListSectionId, textUpdated: @escaping (String) -> Void, shouldUpdateText: @escaping (String) -> Bool = { _ in return true }, processPaste: ((String) -> String)? = nil, updatedFocus: ((Bool) -> Void)? = nil, action: @escaping () -> Void) { + public init(theme: PresentationTheme, strings: PresentationStrings, title: NSAttributedString, text: String, placeholder: String, type: ItemListSingleLineInputItemType = .regular(capitalization: true, autocorrection: true), returnKeyType: UIReturnKeyType = .`default`, spacing: CGFloat = 0.0, clearButton: Bool = false, enabled: Bool = true, tag: ItemListItemTag? = nil, sectionId: ItemListSectionId, textUpdated: @escaping (String) -> Void, shouldUpdateText: @escaping (String) -> Bool = { _ in return true }, processPaste: ((String) -> String)? = nil, updatedFocus: ((Bool) -> Void)? = nil, action: @escaping () -> Void) { self.theme = theme self.strings = strings self.title = title @@ -53,7 +52,7 @@ class ItemListSingleLineInputItem: ListViewItem, ItemListItem { self.action = action } - func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { + public func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { async { let node = ItemListSingleLineInputItemNode() let (layout, apply) = node.asyncLayout()(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) @@ -69,7 +68,7 @@ class ItemListSingleLineInputItem: ListViewItem, ItemListItem { } } - func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { + public func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { Queue.mainQueue().async { if let nodeValue = node() as? ItemListSingleLineInputItemNode { @@ -90,7 +89,7 @@ class ItemListSingleLineInputItem: ListViewItem, ItemListItem { private let titleFont = Font.regular(17.0) -class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, ItemListItemNode, ItemListItemFocusableNode { +public class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, ItemListItemNode, ItemListItemFocusableNode { private let backgroundNode: ASDisplayNode private let topStripeNode: ASDisplayNode private let bottomStripeNode: ASDisplayNode @@ -102,11 +101,11 @@ class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, It private var item: ItemListSingleLineInputItem? - var tag: ItemListItemTag? { + public var tag: ItemListItemTag? { return self.item?.tag } - init() { + public init() { self.backgroundNode = ASDisplayNode() self.backgroundNode.isLayerBacked = true @@ -147,7 +146,7 @@ class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, It } } - override func didLoad() { + override public func didLoad() { super.didLoad() self.textNode.textField.typingAttributes = [NSAttributedString.Key.font: Font.regular(17.0)] @@ -163,7 +162,7 @@ class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, It self.textNode.hitTestSlop = UIEdgeInsets(top: -5.0, left: -5.0, bottom: -5.0, right: -5.0) } - func asyncLayout() -> (_ item: ItemListSingleLineInputItem, _ params: ListViewItemLayoutParams, _ neighbors: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { + public func asyncLayout() -> (_ item: ItemListSingleLineInputItem, _ params: ListViewItemLayoutParams, _ neighbors: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { let makeTitleLayout = TextNode.asyncLayout(self.titleNode) let currentItem = self.item @@ -329,11 +328,11 @@ class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, It } } - override func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { + override public func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.4) } - override func animateRemoved(_ currentTimestamp: Double, duration: Double) { + override public func animateRemoved(_ currentTimestamp: Double, duration: Double) { self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false) } @@ -350,13 +349,13 @@ class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, It self.item?.textUpdated(text) } - func focus() { + public func focus() { if !self.textNode.textField.isFirstResponder { self.textNode.textField.becomeFirstResponder() } } - @objc internal func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { + @objc public func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if let item = self.item, !item.shouldUpdateText(string) { return false } @@ -380,20 +379,20 @@ class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDelegate, It return true } - @objc internal func textFieldShouldReturn(_ textField: UITextField) -> Bool { + @objc public func textFieldShouldReturn(_ textField: UITextField) -> Bool { self.item?.action() return false } - @objc internal func textFieldDidBeginEditing(_ textField: UITextField) { + @objc public func textFieldDidBeginEditing(_ textField: UITextField) { self.item?.updatedFocus?(true) } - @objc internal func textFieldDidEndEditing(_ textField: UITextField) { + @objc public func textFieldDidEndEditing(_ textField: UITextField) { self.item?.updatedFocus?(false) } - func animateError() { + public func animateError() { self.textNode.layer.addShakeAnimation() } } diff --git a/submodules/TelegramUI/TelegramUI/ItemListTextEmptyStateItem.swift b/submodules/ItemListUI/Sources/Items/ItemListTextEmptyStateItem.swift similarity index 75% rename from submodules/TelegramUI/TelegramUI/ItemListTextEmptyStateItem.swift rename to submodules/ItemListUI/Sources/Items/ItemListTextEmptyStateItem.swift index d0a0bff5b1..425235c863 100644 --- a/submodules/TelegramUI/TelegramUI/ItemListTextEmptyStateItem.swift +++ b/submodules/ItemListUI/Sources/Items/ItemListTextEmptyStateItem.swift @@ -2,16 +2,15 @@ import Foundation import UIKit import AsyncDisplayKit import Display -import ItemListUI -final class ItemListTextEmptyStateItem: ItemListControllerEmptyStateItem { - let text: String +public final class ItemListTextEmptyStateItem: ItemListControllerEmptyStateItem { + public let text: String - init(text: String) { + public init(text: String) { self.text = text } - func isEqual(to: ItemListControllerEmptyStateItem) -> Bool { + public func isEqual(to: ItemListControllerEmptyStateItem) -> Bool { if let to = to as? ItemListTextEmptyStateItem { return self.text == to.text } else { @@ -19,7 +18,7 @@ final class ItemListTextEmptyStateItem: ItemListControllerEmptyStateItem { } } - func node(current: ItemListControllerEmptyStateItemNode?) -> ItemListControllerEmptyStateItemNode { + public func node(current: ItemListControllerEmptyStateItemNode?) -> ItemListControllerEmptyStateItemNode { let result: ItemListTextEmptyStateItemNode if let current = current as? ItemListTextEmptyStateItemNode { result = current @@ -31,13 +30,13 @@ final class ItemListTextEmptyStateItem: ItemListControllerEmptyStateItem { } } -final class ItemListTextEmptyStateItemNode: ItemListControllerEmptyStateItemNode { +public final class ItemListTextEmptyStateItemNode: ItemListControllerEmptyStateItemNode { private let textNode: ASTextNode private var validLayout: (ContainerViewLayout, CGFloat)? private var text: String? - override init() { + override public init() { self.textNode = ASTextNode() self.textNode.isUserInteractionEnabled = false @@ -46,7 +45,7 @@ final class ItemListTextEmptyStateItemNode: ItemListControllerEmptyStateItemNode self.addSubnode(self.textNode) } - func updateText(text: String) { + public func updateText(text: String) { if self.text != text { self.text = text @@ -57,7 +56,7 @@ final class ItemListTextEmptyStateItemNode: ItemListControllerEmptyStateItemNode } } - override func updateLayout(layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) { + override public func updateLayout(layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) { self.validLayout = (layout, navigationBarHeight) var insets = layout.insets(options: [.statusBar]) insets.top += navigationBarHeight diff --git a/submodules/TelegramUI/TelegramUI/ApplicationContext.swift b/submodules/TelegramUI/TelegramUI/ApplicationContext.swift index 993633800c..518b98ff6d 100644 --- a/submodules/TelegramUI/TelegramUI/ApplicationContext.swift +++ b/submodules/TelegramUI/TelegramUI/ApplicationContext.swift @@ -10,6 +10,7 @@ import LegacyComponents import DeviceAccess import TelegramUpdateUI import AccountContext +import AlertUI func isAccessLocked(data: PostboxAccessChallengeData, at timestamp: Int32) -> Bool { if data.isLockable, let autolockDeadline = data.autolockDeadline, autolockDeadline <= timestamp { diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift b/submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift index 60cca6f17d..be7ad2cad2 100644 --- a/submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift @@ -10,6 +10,7 @@ import TelegramPresentationData import TelegramUIPrivateModule import ItemListUI import AccountContext +import AlertUI final class BotCheckoutControllerArguments { fileprivate let account: Account diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutInfoControllerNode.swift b/submodules/TelegramUI/TelegramUI/BotCheckoutInfoControllerNode.swift index ed7cfd870b..89990377d0 100644 --- a/submodules/TelegramUI/TelegramUI/BotCheckoutInfoControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/BotCheckoutInfoControllerNode.swift @@ -7,6 +7,7 @@ import Postbox import SwiftSignalKit import TelegramPresentationData import AccountContext +import AlertUI private final class BotCheckoutInfoAddressItems { let address1: BotPaymentFieldItemNode diff --git a/submodules/TelegramUI/TelegramUI/CallListController.swift b/submodules/TelegramUI/TelegramUI/CallListController.swift index 01e949c1bb..7855433804 100644 --- a/submodules/TelegramUI/TelegramUI/CallListController.swift +++ b/submodules/TelegramUI/TelegramUI/CallListController.swift @@ -8,6 +8,7 @@ import SwiftSignalKit import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI public enum CallListControllerMode { case tab diff --git a/submodules/TelegramUI/TelegramUI/ChangePhoneNumberCodeController.swift b/submodules/TelegramUI/TelegramUI/ChangePhoneNumberCodeController.swift index 934e059499..1ed1569514 100644 --- a/submodules/TelegramUI/TelegramUI/ChangePhoneNumberCodeController.swift +++ b/submodules/TelegramUI/TelegramUI/ChangePhoneNumberCodeController.swift @@ -8,6 +8,7 @@ import TelegramPresentationData import ItemListUI import OverlayStatusController import AccountContext +import AlertUI private final class ChangePhoneNumberCodeControllerArguments { let updateEntryText: (String) -> Void diff --git a/submodules/TelegramUI/TelegramUI/ChangePhoneNumberController.swift b/submodules/TelegramUI/TelegramUI/ChangePhoneNumberController.swift index 29f3dc9025..fbf3bf21be 100644 --- a/submodules/TelegramUI/TelegramUI/ChangePhoneNumberController.swift +++ b/submodules/TelegramUI/TelegramUI/ChangePhoneNumberController.swift @@ -7,6 +7,7 @@ import SwiftSignalKit import TelegramPresentationData import ProgressNavigationButtonNode import AccountContext +import AlertUI final class ChangePhoneNumberController: ViewController { private var controllerNode: ChangePhoneNumberControllerNode { diff --git a/submodules/TelegramUI/TelegramUI/ChangePhoneNumberIntroController.swift b/submodules/TelegramUI/TelegramUI/ChangePhoneNumberIntroController.swift index 57816b4085..b375516a91 100644 --- a/submodules/TelegramUI/TelegramUI/ChangePhoneNumberIntroController.swift +++ b/submodules/TelegramUI/TelegramUI/ChangePhoneNumberIntroController.swift @@ -6,6 +6,7 @@ import TelegramCore import TelegramPresentationData import TextFormat import AccountContext +import AlertUI private final class ChangePhoneNumberIntroControllerNode: ASDisplayNode { var presentationData: PresentationData diff --git a/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift b/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift index 0a95adf375..438a835f44 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private let rankMaxLength: Int32 = 16 diff --git a/submodules/TelegramUI/TelegramUI/ChannelAdminsController.swift b/submodules/TelegramUI/TelegramUI/ChannelAdminsController.swift index 4a0578eed8..8a2ec19873 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelAdminsController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelAdminsController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import ItemListUI import AccountContext import TemporaryCachedPeerDataManager +import AlertUI private final class ChannelAdminsControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelBannedMemberController.swift b/submodules/TelegramUI/TelegramUI/ChannelBannedMemberController.swift index 83176288f6..07d760f42c 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelBannedMemberController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelBannedMemberController.swift @@ -9,6 +9,7 @@ import ItemListUI import TelegramStringFormatting import OverlayStatusController import AccountContext +import AlertUI private final class ChannelBannedMemberControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelBlacklistController.swift b/submodules/TelegramUI/TelegramUI/ChannelBlacklistController.swift index a10612f7c0..e8c02e15ce 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelBlacklistController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelBlacklistController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import ItemListUI import OverlayStatusController import AccountContext +import AlertUI private final class ChannelBlacklistControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift b/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift index 0e3b508be4..1a5bdd3609 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import ItemListUI import OverlayStatusController import AccountContext +import AlertUI private final class ChannelDiscussionGroupSetupControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelInfoController.swift b/submodules/TelegramUI/TelegramUI/ChannelInfoController.swift index 97e590f45c..4f6c4a4e43 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelInfoController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelInfoController.swift @@ -13,6 +13,7 @@ import TextFormat import OverlayStatusController import TelegramStringFormatting import ShareController +import AlertUI private final class ChannelInfoControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelMembersController.swift b/submodules/TelegramUI/TelegramUI/ChannelMembersController.swift index 0b0ccd9adf..ab62f32d62 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelMembersController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelMembersController.swift @@ -8,6 +8,7 @@ import TelegramPresentationData import TelegramUIPreferences import ItemListUI import AccountContext +import AlertUI private final class ChannelMembersControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelOwnershipTransferController.swift b/submodules/TelegramUI/TelegramUI/ChannelOwnershipTransferController.swift index c9d1ab783a..d7aadde034 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelOwnershipTransferController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelOwnershipTransferController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import ActivityIndicator import TextFormat import AccountContext +import AlertUI private final class ChannelOwnershipTransferPasswordFieldNode: ASDisplayNode, UITextFieldDelegate { private var theme: PresentationTheme diff --git a/submodules/TelegramUI/TelegramUI/ChannelPermissionsController.swift b/submodules/TelegramUI/TelegramUI/ChannelPermissionsController.swift index 1287cec99d..f326be718d 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelPermissionsController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelPermissionsController.swift @@ -10,6 +10,7 @@ import ItemListUI import OverlayStatusController import AccountContext import TemporaryCachedPeerDataManager +import AlertUI private final class ChannelPermissionsControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift b/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift index fb9e121bfd..3fbe1073a5 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift @@ -10,6 +10,7 @@ import ItemListUI import OverlayStatusController import AccountContext import ShareController +import AlertUI private final class ChannelVisibilityControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/ChatChannelSubscriberInputPanelNode.swift b/submodules/TelegramUI/TelegramUI/ChatChannelSubscriberInputPanelNode.swift index e23dad016a..9ab304082f 100644 --- a/submodules/TelegramUI/TelegramUI/ChatChannelSubscriberInputPanelNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatChannelSubscriberInputPanelNode.swift @@ -6,6 +6,7 @@ import TelegramCore import Postbox import SwiftSignalKit import TelegramPresentationData +import AlertUI private enum SubscriberAction { case join diff --git a/submodules/TelegramUI/TelegramUI/ChatController.swift b/submodules/TelegramUI/TelegramUI/ChatController.swift index a95d3589fd..26529f3afa 100644 --- a/submodules/TelegramUI/TelegramUI/ChatController.swift +++ b/submodules/TelegramUI/TelegramUI/ChatController.swift @@ -21,6 +21,8 @@ import DeviceLocationManager import ShareController import UrlEscaping import ContextUI +import ComposePollUI +import AlertUI public enum ChatControllerPeekActions { case standard diff --git a/submodules/TelegramUI/TelegramUI/ChatListController.swift b/submodules/TelegramUI/TelegramUI/ChatListController.swift index 290af94f6f..ea17ecd738 100644 --- a/submodules/TelegramUI/TelegramUI/ChatListController.swift +++ b/submodules/TelegramUI/TelegramUI/ChatListController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import TelegramBaseController import OverlayStatusController import AccountContext +import AlertUI public func useSpecialTabBarIcons() -> Bool { return (Date(timeIntervalSince1970: 1545642000)...Date(timeIntervalSince1970: 1546387200)).contains(Date()) diff --git a/submodules/TelegramUI/TelegramUI/ChatRecentActionsController.swift b/submodules/TelegramUI/TelegramUI/ChatRecentActionsController.swift index d20788abaf..41cb879bf0 100644 --- a/submodules/TelegramUI/TelegramUI/ChatRecentActionsController.swift +++ b/submodules/TelegramUI/TelegramUI/ChatRecentActionsController.swift @@ -7,6 +7,7 @@ import SwiftSignalKit import TelegramPresentationData import TelegramBaseController import AccountContext +import AlertUI final class ChatRecentActionsController: TelegramBaseController { private var controllerNode: ChatRecentActionsControllerNode { diff --git a/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift b/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift index 1338e4b440..477a892239 100644 --- a/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatRecentActionsControllerNode.swift @@ -10,6 +10,7 @@ import TelegramUIPreferences import SafariServices import AccountContext import TemporaryCachedPeerDataManager +import AlertUI private final class ChatRecentActionsListOpaqueState { let entries: [ChatRecentActionsEntry] diff --git a/submodules/TelegramUI/TelegramUI/CheckDiskSpace.swift b/submodules/TelegramUI/TelegramUI/CheckDiskSpace.swift index 7f5bd2f86e..616b14a728 100644 --- a/submodules/TelegramUI/TelegramUI/CheckDiskSpace.swift +++ b/submodules/TelegramUI/TelegramUI/CheckDiskSpace.swift @@ -2,6 +2,7 @@ import Foundation import Display import TelegramCore import AccountContext +import AlertUI func totalDiskSpace() -> Int64 { do { diff --git a/submodules/TelegramUI/TelegramUI/ComposeController.swift b/submodules/TelegramUI/TelegramUI/ComposeController.swift index 47a90275c7..93273414ec 100644 --- a/submodules/TelegramUI/TelegramUI/ComposeController.swift +++ b/submodules/TelegramUI/TelegramUI/ComposeController.swift @@ -7,6 +7,7 @@ import SwiftSignalKit import TelegramCore import TelegramPresentationData import AccountContext +import AlertUI public class ComposeController: ViewController { private let context: AccountContext diff --git a/submodules/TelegramUI/TelegramUI/ConfirmPhoneNumberController.swift b/submodules/TelegramUI/TelegramUI/ConfirmPhoneNumberController.swift index f790c14291..67aac7f6fb 100644 --- a/submodules/TelegramUI/TelegramUI/ConfirmPhoneNumberController.swift +++ b/submodules/TelegramUI/TelegramUI/ConfirmPhoneNumberController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private final class ConfirmPhoneNumberCodeControllerArguments { let updateEntryText: (String) -> Void diff --git a/submodules/TelegramUI/TelegramUI/ContactMultiselectionController.swift b/submodules/TelegramUI/TelegramUI/ContactMultiselectionController.swift index f767f47ced..73419edc4e 100644 --- a/submodules/TelegramUI/TelegramUI/ContactMultiselectionController.swift +++ b/submodules/TelegramUI/TelegramUI/ContactMultiselectionController.swift @@ -8,6 +8,7 @@ import TelegramCore import TelegramPresentationData import ProgressNavigationButtonNode import AccountContext +import AlertUI enum ContactMultiselectionControllerMode { case groupCreation diff --git a/submodules/TelegramUI/TelegramUI/ContactsController.swift b/submodules/TelegramUI/TelegramUI/ContactsController.swift index 30665e8680..8f64469666 100644 --- a/submodules/TelegramUI/TelegramUI/ContactsController.swift +++ b/submodules/TelegramUI/TelegramUI/ContactsController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import TelegramUIPreferences import DeviceAccess import AccountContext +import AlertUI private func fixListNodeScrolling(_ listNode: ListView, searchNode: NavigationBarSearchContentNode) -> Bool { if searchNode.expansionProgress > 0.0 && searchNode.expansionProgress < 1.0 { diff --git a/submodules/TelegramUI/TelegramUI/ConvertToSupergroupController.swift b/submodules/TelegramUI/TelegramUI/ConvertToSupergroupController.swift index 15b6941b46..7ddaee6e45 100644 --- a/submodules/TelegramUI/TelegramUI/ConvertToSupergroupController.swift +++ b/submodules/TelegramUI/TelegramUI/ConvertToSupergroupController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private final class ConvertToSupergroupArguments { let convert: () -> Void diff --git a/submodules/TelegramUI/TelegramUI/CreateChannelController.swift b/submodules/TelegramUI/TelegramUI/CreateChannelController.swift index d087bbbe5e..d2681f9b47 100644 --- a/submodules/TelegramUI/TelegramUI/CreateChannelController.swift +++ b/submodules/TelegramUI/TelegramUI/CreateChannelController.swift @@ -8,6 +8,7 @@ import TelegramPresentationData import LegacyComponents import ItemListUI import AccountContext +import AlertUI private struct CreateChannelArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/CreateGroupController.swift b/submodules/TelegramUI/TelegramUI/CreateGroupController.swift index 7a9fcb2a7a..ae11033d26 100644 --- a/submodules/TelegramUI/TelegramUI/CreateGroupController.swift +++ b/submodules/TelegramUI/TelegramUI/CreateGroupController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import LegacyComponents import ItemListUI import AccountContext +import AlertUI public enum CreateGroupMode { case generic diff --git a/submodules/TelegramUI/TelegramUI/CreatePasswordController.swift b/submodules/TelegramUI/TelegramUI/CreatePasswordController.swift index 7cbb9ad385..44c6af26fa 100644 --- a/submodules/TelegramUI/TelegramUI/CreatePasswordController.swift +++ b/submodules/TelegramUI/TelegramUI/CreatePasswordController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private enum CreatePasswordField { case password diff --git a/submodules/TelegramUI/TelegramUI/DataPrivacySettingsController.swift b/submodules/TelegramUI/TelegramUI/DataPrivacySettingsController.swift index dea90aca28..8ff573a4c1 100644 --- a/submodules/TelegramUI/TelegramUI/DataPrivacySettingsController.swift +++ b/submodules/TelegramUI/TelegramUI/DataPrivacySettingsController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import ItemListUI import OverlayStatusController import AccountContext +import AlertUI private final class DataPrivacyControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI/DeviceContactInfoController.swift b/submodules/TelegramUI/TelegramUI/DeviceContactInfoController.swift index 68db49a79f..228bc1819d 100644 --- a/submodules/TelegramUI/TelegramUI/DeviceContactInfoController.swift +++ b/submodules/TelegramUI/TelegramUI/DeviceContactInfoController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import ItemListUI import TelegramStringFormatting import AccountContext +import AlertUI private enum DeviceContactInfoAction { case sendMessage diff --git a/submodules/TelegramUI/TelegramUI/GroupInfoController.swift b/submodules/TelegramUI/TelegramUI/GroupInfoController.swift index 20b969b0c7..36bcbf4ede 100644 --- a/submodules/TelegramUI/TelegramUI/GroupInfoController.swift +++ b/submodules/TelegramUI/TelegramUI/GroupInfoController.swift @@ -15,6 +15,7 @@ import AccountContext import TelegramStringFormatting import TemporaryCachedPeerDataManager import ShareController +import AlertUI private final class GroupInfoArguments { let context: AccountContext diff --git a/submodules/TelegramUI/TelegramUI/InviteContactsController.swift b/submodules/TelegramUI/TelegramUI/InviteContactsController.swift index a5fdff3841..73428d7f02 100644 --- a/submodules/TelegramUI/TelegramUI/InviteContactsController.swift +++ b/submodules/TelegramUI/TelegramUI/InviteContactsController.swift @@ -9,6 +9,7 @@ import MessageUI import TelegramPresentationData import AccountContext import ShareController +import AlertUI public class InviteContactsController: ViewController, MFMessageComposeViewControllerDelegate, UINavigationControllerDelegate { private let context: AccountContext diff --git a/submodules/TelegramUI/TelegramUI/JoinLinkPreviewController.swift b/submodules/TelegramUI/TelegramUI/JoinLinkPreviewController.swift index 3de9facbbe..692cf1e83f 100644 --- a/submodules/TelegramUI/TelegramUI/JoinLinkPreviewController.swift +++ b/submodules/TelegramUI/TelegramUI/JoinLinkPreviewController.swift @@ -7,6 +7,7 @@ import TelegramCore import SwiftSignalKit import TelegramPresentationData import AccountContext +import AlertUI public final class JoinLinkPreviewController: ViewController { private var controllerNode: JoinLinkPreviewControllerNode { diff --git a/submodules/TelegramUI/TelegramUI/LanguageLinkPreviewController.swift b/submodules/TelegramUI/TelegramUI/LanguageLinkPreviewController.swift index 38af1434a4..c5d23fae62 100644 --- a/submodules/TelegramUI/TelegramUI/LanguageLinkPreviewController.swift +++ b/submodules/TelegramUI/TelegramUI/LanguageLinkPreviewController.swift @@ -7,6 +7,7 @@ import TelegramCore import SwiftSignalKit import TelegramPresentationData import AccountContext +import AlertUI public final class LanguageLinkPreviewController: ViewController { private var controllerNode: LanguageLinkPreviewControllerNode { diff --git a/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift b/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift index b39bd127be..25ad51c1de 100644 --- a/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift +++ b/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import ItemListUI import OverlayStatusController import AccountContext +import AlertUI private struct LogoutOptionsItemArguments { let addAccount: () -> Void diff --git a/submodules/TelegramUI/TelegramUI/NotificationsAndSounds.swift b/submodules/TelegramUI/TelegramUI/NotificationsAndSounds.swift index 08e0ac090f..d7e5b685ea 100644 --- a/submodules/TelegramUI/TelegramUI/NotificationsAndSounds.swift +++ b/submodules/TelegramUI/TelegramUI/NotificationsAndSounds.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import DeviceAccess import ItemListUI import AccountContext +import AlertUI private final class NotificationsAndSoundsArguments { let context: AccountContext diff --git a/submodules/TelegramUI/TelegramUI/OpenAddContact.swift b/submodules/TelegramUI/TelegramUI/OpenAddContact.swift index 4985770196..8006231b41 100644 --- a/submodules/TelegramUI/TelegramUI/OpenAddContact.swift +++ b/submodules/TelegramUI/TelegramUI/OpenAddContact.swift @@ -4,6 +4,7 @@ import TelegramCore import Display import DeviceAccess import AccountContext +import AlertUI func openAddContact(context: AccountContext, firstName: String = "", lastName: String = "", phoneNumber: String, label: String = "_$!!$_", present: @escaping (ViewController, Any?) -> Void, pushController: @escaping (ViewController) -> Void, completed: @escaping () -> Void = {}) { let _ = (DeviceAccess.authorizationStatus(subject: .contacts) diff --git a/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift b/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift index 002161aa5c..c69e28b6d9 100644 --- a/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift +++ b/submodules/TelegramUI/TelegramUI/OpenResolvedUrl.swift @@ -7,6 +7,7 @@ import SwiftSignalKit import TelegramUIPreferences import AccountContext import OverlayStatusController +import AlertUI private func defaultNavigationForPeerId(_ peerId: PeerId?, navigation: ChatControllerInteractionNavigateToPeer) -> ChatControllerInteractionNavigateToPeer { if case .default = navigation { diff --git a/submodules/TelegramUI/TelegramUI/PeerReportController.swift b/submodules/TelegramUI/TelegramUI/PeerReportController.swift index 3f7dadf522..39ffdacc65 100644 --- a/submodules/TelegramUI/TelegramUI/PeerReportController.swift +++ b/submodules/TelegramUI/TelegramUI/PeerReportController.swift @@ -8,6 +8,7 @@ import TelegramPresentationData import ItemListUI import AccountContext import ContextUI +import AlertUI enum PeerReportSubject { case peer(PeerId) diff --git a/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift b/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift index 316418bd64..6c84483ced 100644 --- a/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift +++ b/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift @@ -11,6 +11,7 @@ import ItemListUI import OverlayStatusController import DeviceLocationManager import AccountContext +import AlertUI private struct PeerNearbyEntry { let peer: (Peer, CachedPeerData?) diff --git a/submodules/TelegramUI/TelegramUI/ResetPasswordController.swift b/submodules/TelegramUI/TelegramUI/ResetPasswordController.swift index f86f1929b5..54d89983aa 100644 --- a/submodules/TelegramUI/TelegramUI/ResetPasswordController.swift +++ b/submodules/TelegramUI/TelegramUI/ResetPasswordController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private final class ResetPasswordControllerArguments { let updateCodeText: (String) -> Void diff --git a/submodules/TelegramUI/TelegramUI/SecureIdAuthController.swift b/submodules/TelegramUI/TelegramUI/SecureIdAuthController.swift index 96ea6e1e1a..29e99d44c6 100644 --- a/submodules/TelegramUI/TelegramUI/SecureIdAuthController.swift +++ b/submodules/TelegramUI/TelegramUI/SecureIdAuthController.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import TextFormat import ProgressNavigationButtonNode import AccountContext +import AlertUI public enum SecureIdRequestResult: String { case success = "success" diff --git a/submodules/TelegramUI/TelegramUI/SecureIdDocumentFormController.swift b/submodules/TelegramUI/TelegramUI/SecureIdDocumentFormController.swift index b82c8273fc..c8af7010b9 100644 --- a/submodules/TelegramUI/TelegramUI/SecureIdDocumentFormController.swift +++ b/submodules/TelegramUI/TelegramUI/SecureIdDocumentFormController.swift @@ -8,6 +8,7 @@ import TelegramCore import TelegramPresentationData import ProgressNavigationButtonNode import AccountContext +import AlertUI enum SecureIdDocumentFormScrollToSubject { case selfie diff --git a/submodules/TelegramUI/TelegramUI/SecureIdPlaintextFormControllerNode.swift b/submodules/TelegramUI/TelegramUI/SecureIdPlaintextFormControllerNode.swift index b159d07850..da068a3ac0 100644 --- a/submodules/TelegramUI/TelegramUI/SecureIdPlaintextFormControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/SecureIdPlaintextFormControllerNode.swift @@ -8,6 +8,7 @@ import SwiftSignalKit import CoreTelephony import TelegramPresentationData import AccountContext +import AlertUI private func cleanPhoneNumber(_ text: String?) -> String { var cleanNumber = "" diff --git a/submodules/TelegramUI/TelegramUI/SettingsController.swift b/submodules/TelegramUI/TelegramUI/SettingsController.swift index 51f3ec975b..b29a4d17a3 100644 --- a/submodules/TelegramUI/TelegramUI/SettingsController.swift +++ b/submodules/TelegramUI/TelegramUI/SettingsController.swift @@ -18,6 +18,7 @@ import ItemListUI import AccountContext import OverlayStatusController import AvatarNode +import AlertUI private let maximumNumberOfAccounts = 3 diff --git a/submodules/TelegramUI/TelegramUI/SetupTwoStepVerificationControllerNode.swift b/submodules/TelegramUI/TelegramUI/SetupTwoStepVerificationControllerNode.swift index 0b2cab0918..5b05301cec 100644 --- a/submodules/TelegramUI/TelegramUI/SetupTwoStepVerificationControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/SetupTwoStepVerificationControllerNode.swift @@ -8,6 +8,7 @@ import SwiftSignalKit import TelegramPresentationData import ActivityIndicator import AccountContext +import AlertUI enum SetupTwoStepVerificationInitialState { case automatic diff --git a/submodules/TelegramUI/TelegramUI/StickerPackPreviewController.swift b/submodules/TelegramUI/TelegramUI/StickerPackPreviewController.swift index ba26977ccf..a51c48aef8 100644 --- a/submodules/TelegramUI/TelegramUI/StickerPackPreviewController.swift +++ b/submodules/TelegramUI/TelegramUI/StickerPackPreviewController.swift @@ -9,6 +9,7 @@ import TelegramUIPreferences import AccountContext import ShareController import StickerResources +import AlertUI enum StickerPackPreviewControllerMode { case `default` diff --git a/submodules/TelegramUI/TelegramUI/SuppressContactsWarning.swift b/submodules/TelegramUI/TelegramUI/SuppressContactsWarning.swift index c8bbd60dea..404211a3d6 100644 --- a/submodules/TelegramUI/TelegramUI/SuppressContactsWarning.swift +++ b/submodules/TelegramUI/TelegramUI/SuppressContactsWarning.swift @@ -5,6 +5,7 @@ import SwiftSignalKit import TelegramCore import DeviceAccess import AccountContext +import AlertUI func presentContactsWarningSuppression(context: AccountContext, present: (ViewController, Any?) -> Void) { let presentationData = context.sharedContext.currentPresentationData.with { $0 } diff --git a/submodules/TelegramUI/TelegramUI/TwoStepVerificationPasswordEntryController.swift b/submodules/TelegramUI/TelegramUI/TwoStepVerificationPasswordEntryController.swift index f0d4512562..73962fe325 100644 --- a/submodules/TelegramUI/TelegramUI/TwoStepVerificationPasswordEntryController.swift +++ b/submodules/TelegramUI/TelegramUI/TwoStepVerificationPasswordEntryController.swift @@ -7,6 +7,7 @@ import TelegramCore import TelegramPresentationData import ItemListUI import AccountContext +import AlertUI private final class TwoStepVerificationPasswordEntryControllerArguments { let updateEntryText: (String) -> Void diff --git a/submodules/TelegramUI/TelegramUI/TwoStepVerificationResetController.swift b/submodules/TelegramUI/TelegramUI/TwoStepVerificationResetController.swift index cb7a9ac089..0c254f2f28 100644 --- a/submodules/TelegramUI/TelegramUI/TwoStepVerificationResetController.swift +++ b/submodules/TelegramUI/TelegramUI/TwoStepVerificationResetController.swift @@ -8,6 +8,7 @@ import TelegramPresentationData import ItemListUI import TextFormat import AccountContext +import AlertUI private final class TwoStepVerificationResetControllerArguments { let updateEntryText: (String) -> Void diff --git a/submodules/TelegramUI/TelegramUI/TwoStepVerificationUnlockController.swift b/submodules/TelegramUI/TelegramUI/TwoStepVerificationUnlockController.swift index b493a6845e..a70fcdaafd 100644 --- a/submodules/TelegramUI/TelegramUI/TwoStepVerificationUnlockController.swift +++ b/submodules/TelegramUI/TelegramUI/TwoStepVerificationUnlockController.swift @@ -9,6 +9,7 @@ import ItemListUI import TextFormat import OverlayStatusController import AccountContext +import AlertUI private final class TwoStepVerificationUnlockSettingsControllerArguments { let updatePasswordText: (String) -> Void diff --git a/submodules/TelegramUI/TelegramUI/UserInfoController.swift b/submodules/TelegramUI/TelegramUI/UserInfoController.swift index 2fabcdb9de..4be0afc6b8 100644 --- a/submodules/TelegramUI/TelegramUI/UserInfoController.swift +++ b/submodules/TelegramUI/TelegramUI/UserInfoController.swift @@ -14,6 +14,7 @@ import OverlayStatusController import TelegramStringFormatting import AccountContext import ShareController +import AlertUI private final class UserInfoControllerArguments { let account: Account diff --git a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj index b7e4036a3e..6923dd1fe1 100644 --- a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj @@ -32,7 +32,6 @@ 091417F421EF4F5F00C8325A /* WallpaperGalleryItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091417F321EF4F5F00C8325A /* WallpaperGalleryItem.swift */; }; 091954792294754E00E11046 /* AnimatedStickerUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091954782294754E00E11046 /* AnimatedStickerUtils.swift */; }; 091BEAB3214552D9003AEA30 /* Vision.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D02DADBE2138D76F00116225 /* Vision.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 0921F60B228C8765001A13D7 /* ItemListPlaceholderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */; }; 0921F60E228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */; }; 092F368D2154AAEA001A9F49 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */; }; 092F36902157AB46001A9F49 /* ItemListCallListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */; }; @@ -141,7 +140,6 @@ 09DD88F121BE1090000766BC /* CallRatingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DD88F021BE1090000766BC /* CallRatingController.swift */; }; 09DD88F321BF907C000766BC /* WebSearchRecentQueryItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DD88F221BF907C000766BC /* WebSearchRecentQueryItem.swift */; }; 09DD88F521BF9730000766BC /* WebSearchRecentQueries.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DD88F421BF9730000766BC /* WebSearchRecentQueries.swift */; }; - 09DD88FA21BFD70B000766BC /* ThemedTextAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DD88F921BFD70B000766BC /* ThemedTextAlertController.swift */; }; 09DE2F252269B7E80045E975 /* PasscodeSetupControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DE2F242269B7E80045E975 /* PasscodeSetupControllerNode.swift */; }; 09DE2F272269D5730045E975 /* PrivacyIntroController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DE2F262269D5730045E975 /* PrivacyIntroController.swift */; }; 09DE2F292269D5E30045E975 /* PrivacyIntroControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DE2F282269D5E30045E975 /* PrivacyIntroControllerNode.swift */; }; @@ -529,9 +527,6 @@ D0AA29AE1F72770D00C050AC /* ChatListItemStrings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AA29AD1F72770D00C050AC /* ChatListItemStrings.swift */; }; D0AA840C1FEB2BA3005C6E91 /* OverlayPlayerControlsNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AA840B1FEB2BA3005C6E91 /* OverlayPlayerControlsNode.swift */; }; D0AB262921C307D7008F6685 /* ChatMessagePollBubbleContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AB262821C307D7008F6685 /* ChatMessagePollBubbleContentNode.swift */; }; - D0AB262F21C3D3DE008F6685 /* CreatePollController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AB262E21C3D3DE008F6685 /* CreatePollController.swift */; }; - D0AB263121C3DB21008F6685 /* CreatePollOptionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AB263021C3DB21008F6685 /* CreatePollOptionItem.swift */; }; - D0AB263321C3DFEA008F6685 /* CreatePollOptionActionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AB263221C3DFEA008F6685 /* CreatePollOptionActionItem.swift */; }; D0AB269E21D56A12008F6685 /* ChannelPermissionsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AB269D21D56A12008F6685 /* ChannelPermissionsController.swift */; }; D0ACCB1A1EC5E0C20079D8BF /* CallControllerKeyPreviewNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ACCB191EC5E0C20079D8BF /* CallControllerKeyPreviewNode.swift */; }; D0ACCB1C1EC5FF4B0079D8BF /* ChatMessageCallBubbleContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ACCB1B1EC5FF4B0079D8BF /* ChatMessageCallBubbleContentNode.swift */; }; @@ -634,6 +629,8 @@ D0C44B641FC64D0500227BE0 /* SwipeToDismissGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C44B631FC64D0500227BE0 /* SwipeToDismissGestureRecognizer.swift */; }; D0C45E9F213FFAFD00988156 /* Lottie.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C45E9E213FFAFD00988156 /* Lottie.framework */; }; D0C683FC21AD797F00A6CAD5 /* ChatListSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C683FB21AD797F00A6CAD5 /* ChatListSelection.swift */; }; + D0C9BFAD22FE316E00FAB518 /* ComposePollUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFAC22FE316E00FAB518 /* ComposePollUI.framework */; }; + D0C9BFDF22FE349C00FAB518 /* AlertUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9BFDE22FE349C00FAB518 /* AlertUI.framework */; }; D0CAD90120AEECAC00ACD96E /* ChatEditInterfaceMessageState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CAD90020AEECAC00ACD96E /* ChatEditInterfaceMessageState.swift */; }; D0CB27CF20C17A4A001ACF93 /* TermsOfServiceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CB27CE20C17A4A001ACF93 /* TermsOfServiceController.swift */; }; D0CB27D220C17A7F001ACF93 /* TermsOfServiceControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CB27D120C17A7F001ACF93 /* TermsOfServiceControllerNode.swift */; }; @@ -1076,9 +1073,6 @@ D0EC6E351EB9F58900EBF1C3 /* ItemListAvatarAndNameItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D003702D1DA43052004308D3 /* ItemListAvatarAndNameItem.swift */; }; D0EC6E3B1EB9F58900EBF1C3 /* ItemListPeerItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B843D81DAAAA0C005F29E1 /* ItemListPeerItem.swift */; }; D0EC6E3C1EB9F58900EBF1C3 /* ItemListPeerActionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B843DA1DAAB138005F29E1 /* ItemListPeerActionItem.swift */; }; - D0EC6E3E1EB9F58900EBF1C3 /* ItemListSectionHeaderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00B3F9D1E3A4847003872C3 /* ItemListSectionHeaderItem.swift */; }; - D0EC6E441EB9F58900EBF1C3 /* ItemListSingleLineInputItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0561DDE1E56FE8200E6B9E9 /* ItemListSingleLineInputItem.swift */; }; - D0EC6E471EB9F58900EBF1C3 /* ItemListTextEmptyStateItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D09AEFD31E5BAF67005C1A8B /* ItemListTextEmptyStateItem.swift */; }; D0EC6E4D1EB9F58900EBF1C3 /* PeerInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B843CC1DA903BB005F29E1 /* PeerInfoController.swift */; }; D0EC6E4E1EB9F58900EBF1C3 /* GroupInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0486F091E523C8500091F0C /* GroupInfoController.swift */; }; D0EC6E4F1EB9F58900EBF1C3 /* ChannelVisibilityController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03E5E0E1E55F8B90029569A /* ChannelVisibilityController.swift */; }; @@ -1198,7 +1192,6 @@ 091417F121EF4E5D00C8325A /* WallpaperGalleryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WallpaperGalleryController.swift; sourceTree = ""; }; 091417F321EF4F5F00C8325A /* WallpaperGalleryItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WallpaperGalleryItem.swift; sourceTree = ""; }; 091954782294754E00E11046 /* AnimatedStickerUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedStickerUtils.swift; sourceTree = ""; }; - 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListPlaceholderItem.swift; sourceTree = ""; }; 0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageActionUrlAuthController.swift; sourceTree = ""; }; 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = ""; }; 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListCallListItem.swift; sourceTree = ""; }; @@ -1307,7 +1300,6 @@ 09DD88F021BE1090000766BC /* CallRatingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallRatingController.swift; sourceTree = ""; }; 09DD88F221BF907C000766BC /* WebSearchRecentQueryItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSearchRecentQueryItem.swift; sourceTree = ""; }; 09DD88F421BF9730000766BC /* WebSearchRecentQueries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSearchRecentQueries.swift; sourceTree = ""; }; - 09DD88F921BFD70B000766BC /* ThemedTextAlertController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemedTextAlertController.swift; sourceTree = ""; }; 09DE2F242269B7E80045E975 /* PasscodeSetupControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasscodeSetupControllerNode.swift; sourceTree = ""; }; 09DE2F262269D5730045E975 /* PrivacyIntroController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyIntroController.swift; sourceTree = ""; }; 09DE2F282269D5E30045E975 /* PrivacyIntroControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyIntroControllerNode.swift; sourceTree = ""; }; @@ -1415,7 +1407,6 @@ D00818CC22B595CB008A895F /* LightweightAccountData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LightweightAccountData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D00ACA4C20222C280045D427 /* libtgvoip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = libtgvoip.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D00ACA592022897D0045D427 /* ProcessedPeerRestrictionText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProcessedPeerRestrictionText.swift; sourceTree = ""; }; - D00B3F9D1E3A4847003872C3 /* ItemListSectionHeaderItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListSectionHeaderItem.swift; sourceTree = ""; }; D00BDA1E1EE5B69200C64C5E /* ChannelAdminController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelAdminController.swift; sourceTree = ""; }; D00C7CD81E36B2DB0080C3D5 /* ContactListNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactListNode.swift; sourceTree = ""; }; D00C7CDB1E3776E50080C3D5 /* SecretMediaPreviewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecretMediaPreviewController.swift; sourceTree = ""; }; @@ -1663,7 +1654,6 @@ D0528E6C1E65DE3B00E2FEF5 /* WebpagePreviewAccessoryPanelNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebpagePreviewAccessoryPanelNode.swift; sourceTree = ""; }; D053B4361F1A9CA000E2D58A /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; D053DADB201AAAB100993D32 /* ChatTextInputMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatTextInputMenu.swift; sourceTree = ""; }; - D0561DDE1E56FE8200E6B9E9 /* ItemListSingleLineInputItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListSingleLineInputItem.swift; sourceTree = ""; }; D0561DE71E574C3200E6B9E9 /* ChannelAdminsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelAdminsController.swift; sourceTree = ""; }; D05677501F4CA0C2001B723E /* InstantPagePeerReferenceItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstantPagePeerReferenceItem.swift; sourceTree = ""; }; D05677521F4CA0D0001B723E /* InstantPagePeerReferenceNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstantPagePeerReferenceNode.swift; sourceTree = ""; }; @@ -1841,7 +1831,6 @@ D099EA261DE765DB001AF5A8 /* ManagedMediaId.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManagedMediaId.swift; sourceTree = ""; }; D099EA2C1DE76782001AF5A8 /* PeerMessageManagedMediaId.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PeerMessageManagedMediaId.swift; sourceTree = ""; }; D099EA2E1DE775BB001AF5A8 /* ChatContextResultManagedMediaId.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatContextResultManagedMediaId.swift; sourceTree = ""; }; - D09AEFD31E5BAF67005C1A8B /* ItemListTextEmptyStateItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListTextEmptyStateItem.swift; sourceTree = ""; }; D09D88701F86D36700BEB4C9 /* CountryList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountryList.swift; sourceTree = ""; }; D09D88721F86D56B00BEB4C9 /* AuthorizationLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthorizationLayout.swift; sourceTree = ""; }; D09E637B1F0E7C28003444CD /* SharedMediaPlayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharedMediaPlayer.swift; sourceTree = ""; }; @@ -1883,9 +1872,6 @@ D0AB0BB71D67191C002C78E7 /* SSignalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SSignalKit.framework; path = "../../../../Library/Developer/Xcode/DerivedData/Telegram-iOS-diblohvjozhgaifjcniwdlixlilx/Build/Products/Debug-iphoneos/SSignalKit.framework"; sourceTree = ""; }; D0AB0BBA1D6719B5002C78E7 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; D0AB262821C307D7008F6685 /* ChatMessagePollBubbleContentNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessagePollBubbleContentNode.swift; sourceTree = ""; }; - D0AB262E21C3D3DE008F6685 /* CreatePollController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatePollController.swift; sourceTree = ""; }; - D0AB263021C3DB21008F6685 /* CreatePollOptionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatePollOptionItem.swift; sourceTree = ""; }; - D0AB263221C3DFEA008F6685 /* CreatePollOptionActionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatePollOptionActionItem.swift; sourceTree = ""; }; D0AB269D21D56A12008F6685 /* ChannelPermissionsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelPermissionsController.swift; sourceTree = ""; }; D0ACCB191EC5E0C20079D8BF /* CallControllerKeyPreviewNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallControllerKeyPreviewNode.swift; sourceTree = ""; }; D0ACCB1B1EC5FF4B0079D8BF /* ChatMessageCallBubbleContentNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatMessageCallBubbleContentNode.swift; sourceTree = ""; }; @@ -2014,6 +2000,8 @@ D0C932351E0988C60074F044 /* ChatButtonKeyboardInputNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatButtonKeyboardInputNode.swift; sourceTree = ""; }; D0C932371E09E0EA0074F044 /* ChatBotInfoItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatBotInfoItem.swift; sourceTree = ""; }; D0C9323B1E0B4AE90074F044 /* DataAndStorageSettingsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DataAndStorageSettingsController.swift; sourceTree = ""; }; + D0C9BFAC22FE316E00FAB518 /* ComposePollUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ComposePollUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D0C9BFDE22FE349C00FAB518 /* AlertUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AlertUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0CAD90020AEECAC00ACD96E /* ChatEditInterfaceMessageState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatEditInterfaceMessageState.swift; sourceTree = ""; }; D0CB27CE20C17A4A001ACF93 /* TermsOfServiceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsOfServiceController.swift; sourceTree = ""; }; D0CB27D120C17A7F001ACF93 /* TermsOfServiceControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsOfServiceControllerNode.swift; sourceTree = ""; }; @@ -2381,6 +2369,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0C9BFDF22FE349C00FAB518 /* AlertUI.framework in Frameworks */, + D0C9BFAD22FE316E00FAB518 /* ComposePollUI.framework in Frameworks */, D09E779322FA5CEA00B9CCA7 /* AccountContext.framework in Frameworks */, D09E779522FA5CEA00B9CCA7 /* ActionSheetPeerItem.framework in Frameworks */, D09E779722FA5CEA00B9CCA7 /* AnimationUI.framework in Frameworks */, @@ -2643,7 +2633,6 @@ 09DD88F821BFD6FA000766BC /* Alert */ = { isa = PBXGroup; children = ( - 09DD88F921BFD70B000766BC /* ThemedTextAlertController.swift */, ); name = Alert; sourceTree = ""; @@ -3481,6 +3470,8 @@ D08D45281D5E340200A7428A /* Frameworks */ = { isa = PBXGroup; children = ( + D0C9BFDE22FE349C00FAB518 /* AlertUI.framework */, + D0C9BFAC22FE316E00FAB518 /* ComposePollUI.framework */, D09E779222FA5CEA00B9CCA7 /* AccountContext.framework */, D09E779422FA5CEA00B9CCA7 /* ActionSheetPeerItem.framework */, D09E779622FA5CEA00B9CCA7 /* AnimationUI.framework */, @@ -3636,9 +3627,6 @@ D0AB262D21C3D3CE008F6685 /* Poll */ = { isa = PBXGroup; children = ( - D0AB262E21C3D3DE008F6685 /* CreatePollController.swift */, - D0AB263021C3DB21008F6685 /* CreatePollOptionItem.swift */, - D0AB263221C3DFEA008F6685 /* CreatePollOptionActionItem.swift */, ); name = Poll; sourceTree = ""; @@ -4108,9 +4096,6 @@ D003702D1DA43052004308D3 /* ItemListAvatarAndNameItem.swift */, D0B843D81DAAAA0C005F29E1 /* ItemListPeerItem.swift */, D0B843DA1DAAB138005F29E1 /* ItemListPeerActionItem.swift */, - D00B3F9D1E3A4847003872C3 /* ItemListSectionHeaderItem.swift */, - D0561DDE1E56FE8200E6B9E9 /* ItemListSingleLineInputItem.swift */, - D09AEFD31E5BAF67005C1A8B /* ItemListTextEmptyStateItem.swift */, 09B4EE5521A8149C00847FA6 /* ItemListInfoItem.swift */, ); name = Items; @@ -4711,7 +4696,6 @@ D0B2F76D2052B59F00D3BFB9 /* InviteContactsController.swift */, D0B2F76F2052B5A800D3BFB9 /* InviteContactsControllerNode.swift */, D0B2F7712052D0DD00D3BFB9 /* InviteContactsCountPanelNode.swift */, - 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */, ); name = Contacts; sourceTree = ""; @@ -5292,7 +5276,6 @@ D05D8B742195CD890064586F /* SetupTwoStepVerificationController.swift in Sources */, D06BEC8A1F6597A80035A545 /* OverlayVideoDecoration.swift in Sources */, 09619B9621A4ABF600493558 /* InstantPageReferenceControllerNode.swift in Sources */, - D0AB263321C3DFEA008F6685 /* CreatePollOptionActionItem.swift in Sources */, 09FFBCDB22849CB500C33B4B /* PDF.swift in Sources */, 09D968A1221F7FF100B1458A /* ChatTypingActivityContentNode.swift in Sources */, 090E778E22AA863A00CD99F5 /* PeersNearbyIconNode.swift in Sources */, @@ -5323,7 +5306,6 @@ D0EC6CFF1EB9F58800EBF1C3 /* OverlayMediaController.swift in Sources */, D0EC6D001EB9F58800EBF1C3 /* OverlayMediaControllerNode.swift in Sources */, D02C81712177729000CD1006 /* NotificationExceptions.swift in Sources */, - D0AB263121C3DB21008F6685 /* CreatePollOptionItem.swift in Sources */, D0EC6D021EB9F58800EBF1C3 /* diag_range.c in Sources */, D0E9BA1A1F05574500F079A4 /* STPPaymentCardTextField.m in Sources */, 09CE95112237F3C100A7D2C3 /* SettingsSearchRecentQueries.swift in Sources */, @@ -5417,7 +5399,6 @@ D0E9BAE01F0574D800F079A4 /* STPDispatchFunctions.m in Sources */, D0EC6D2B1EB9F58800EBF1C3 /* FileMediaResourceStatus.swift in Sources */, D0EC6D2C1EB9F58800EBF1C3 /* TouchDownGestureRecognizer.swift in Sources */, - 09DD88FA21BFD70B000766BC /* ThemedTextAlertController.swift in Sources */, D0FA08C020483F9600DD23FC /* ExtractVideoData.swift in Sources */, D025402522E1E00100AC0195 /* ChatSlowmodeHintController.swift in Sources */, D008177D22B46B7E008A895F /* TGContactModel.m in Sources */, @@ -5466,7 +5447,6 @@ 09749BC921F1BBA1008FDDE9 /* CallFeedbackController.swift in Sources */, 099529FA21DD8A3100805E13 /* NavigationBarSearchContentNode.swift in Sources */, D0AEAE272080D6970013176E /* PaneSearchBarNode.swift in Sources */, - 0921F60B228C8765001A13D7 /* ItemListPlaceholderItem.swift in Sources */, D0EC6D4F1EB9F58800EBF1C3 /* ChatListSearchItem.swift in Sources */, D0EC6D501EB9F58800EBF1C3 /* ChatListNodeEntries.swift in Sources */, D0EC6D511EB9F58800EBF1C3 /* ChatListViewTransition.swift in Sources */, @@ -5956,14 +5936,12 @@ D0CE8CE71F6F35A300AA2DB0 /* ChatTextInputPanelState.swift in Sources */, D0AF796E22C2E26500CECCB8 /* astc.cc in Sources */, D0CE6F70213EEE5000BCD44B /* CreatePasswordController.swift in Sources */, - D0EC6E3E1EB9F58900EBF1C3 /* ItemListSectionHeaderItem.swift in Sources */, 0958FBB9218AD6AF00E0CBD8 /* InstantPageFeedbackItem.swift in Sources */, 0940932622E73E12003846A3 /* ChatSendMessageActionSheetControllerNode.swift in Sources */, D00817D022B47A14008A895F /* WakeupManager.swift in Sources */, D0AF798822C2E26500CECCB8 /* matrix.cc in Sources */, D0E8175920122FE100B82BBB /* ChatRecentActionsFilterController.swift in Sources */, D08557E722C5FEB90026D6D2 /* AnimatedStickerNode.swift in Sources */, - D0EC6E441EB9F58900EBF1C3 /* ItemListSingleLineInputItem.swift in Sources */, D084023420E295F000065674 /* GroupStickerPackSetupController.swift in Sources */, D01C06BE1FBCAF06001561AB /* ChatMessageBubbleMosaicLayout.swift in Sources */, 0900678D21ED5EA800530762 /* WallpaperColorPanelNode.swift in Sources */, @@ -5973,7 +5951,6 @@ D02F4AE91FCF370B004DFBAE /* ChatMessageInteractiveMediaBadge.swift in Sources */, D00817CF22B47A14008A895F /* LegacyFileImport.swift in Sources */, D01A21AF1F39EA2E00DDA104 /* InstantPageTheme.swift in Sources */, - D0EC6E471EB9F58900EBF1C3 /* ItemListTextEmptyStateItem.swift in Sources */, D0E412C62069B60600BEE4A2 /* FormControllerHeaderItem.swift in Sources */, D0E412D5206A842900BEE4A2 /* SecureIdVerificationDocument.swift in Sources */, D0147BA9206EA35000E40378 /* SecureIdDocumentGalleryController.swift in Sources */, @@ -6010,7 +5987,6 @@ D0EC6E541EB9F58900EBF1C3 /* ConvertToSupergroupController.swift in Sources */, D0EC6E561EB9F58900EBF1C3 /* UserInfoController.swift in Sources */, D0EC6E571EB9F58900EBF1C3 /* GroupsInCommonController.swift in Sources */, - D0AB262F21C3D3DE008F6685 /* CreatePollController.swift in Sources */, D0EC6E581EB9F58900EBF1C3 /* PeerSelectionController.swift in Sources */, D093D7D92062A9CA00BC3599 /* SecureIdAuthControllerState.swift in Sources */, D01590AB22BD467B0017C33E /* AnimationRenderer.swift in Sources */,