mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-09 07:41:40 +00:00
Added ability to change icon
This commit is contained in:
parent
1b5ea5f685
commit
c939d6eb81
@ -34,8 +34,10 @@ public final class TelegramApplicationBindings {
|
||||
public let getWindowHost: () -> WindowHost?
|
||||
public let presentNativeController: (UIViewController) -> Void
|
||||
public let dismissNativeController: () -> Void
|
||||
public let getAlternateIconName: () -> String?
|
||||
public let requestSetAlternateIconName: (String?, @escaping (Bool) -> Void) -> Void
|
||||
|
||||
public init(isMainApp: Bool, containerPath: String, appSpecificScheme: String, openUrl: @escaping (String) -> Void, openUniversalUrl: @escaping (String, TelegramApplicationOpenUrlCompletion) -> Void, canOpenUrl: @escaping (String) -> Bool, getTopWindow: @escaping () -> UIWindow?, displayNotification: @escaping (String) -> Void, applicationInForeground: Signal<Bool, NoError>, applicationIsActive: Signal<Bool, NoError>, clearMessageNotifications: @escaping ([MessageId]) -> Void, pushIdleTimerExtension: @escaping () -> Disposable, openSettings: @escaping () -> Void, openAppStorePage: @escaping () -> Void, registerForNotifications: @escaping (@escaping (Bool) -> Void) -> Void, requestSiriAuthorization: @escaping (@escaping (Bool) -> Void) -> Void, siriAuthorization: @escaping () -> AccessType, getWindowHost: @escaping () -> WindowHost?, presentNativeController: @escaping (UIViewController) -> Void, dismissNativeController: @escaping () -> Void) {
|
||||
public init(isMainApp: Bool, containerPath: String, appSpecificScheme: String, openUrl: @escaping (String) -> Void, openUniversalUrl: @escaping (String, TelegramApplicationOpenUrlCompletion) -> Void, canOpenUrl: @escaping (String) -> Bool, getTopWindow: @escaping () -> UIWindow?, displayNotification: @escaping (String) -> Void, applicationInForeground: Signal<Bool, NoError>, applicationIsActive: Signal<Bool, NoError>, clearMessageNotifications: @escaping ([MessageId]) -> Void, pushIdleTimerExtension: @escaping () -> Disposable, openSettings: @escaping () -> Void, openAppStorePage: @escaping () -> Void, registerForNotifications: @escaping (@escaping (Bool) -> Void) -> Void, requestSiriAuthorization: @escaping (@escaping (Bool) -> Void) -> Void, siriAuthorization: @escaping () -> AccessType, getWindowHost: @escaping () -> WindowHost?, presentNativeController: @escaping (UIViewController) -> Void, dismissNativeController: @escaping () -> Void, getAlternateIconName: @escaping () -> String?, requestSetAlternateIconName: @escaping (String?, @escaping (Bool) -> Void) -> Void) {
|
||||
self.isMainApp = isMainApp
|
||||
self.containerPath = containerPath
|
||||
self.appSpecificScheme = appSpecificScheme
|
||||
@ -56,6 +58,8 @@ public final class TelegramApplicationBindings {
|
||||
self.presentNativeController = presentNativeController
|
||||
self.dismissNativeController = dismissNativeController
|
||||
self.getWindowHost = getWindowHost
|
||||
self.getAlternateIconName = getAlternateIconName
|
||||
self.requestSetAlternateIconName = requestSetAlternateIconName
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
case optimizeDatabase(PresentationTheme)
|
||||
case animatedStickers(PresentationTheme)
|
||||
case photoPreview(PresentationTheme, Bool)
|
||||
case alternateIcon(PresentationTheme)
|
||||
case versionInfo(PresentationTheme)
|
||||
|
||||
var section: ItemListSectionId {
|
||||
@ -61,7 +62,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return DebugControllerSection.logging.rawValue
|
||||
case .enableRaiseToSpeak, .keepChatNavigationStack, .skipReadHistory, .crashOnSlowQueries:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .clearTips, .reimport, .resetData, .resetBiometricsData, .optimizeDatabase, .animatedStickers, .photoPreview:
|
||||
case .clearTips, .reimport, .resetData, .resetBiometricsData, .optimizeDatabase, .animatedStickers, .photoPreview, .alternateIcon:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .versionInfo:
|
||||
return DebugControllerSection.info.rawValue
|
||||
@ -108,8 +109,10 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return 17
|
||||
case .photoPreview:
|
||||
return 18
|
||||
case .versionInfo:
|
||||
case .alternateIcon:
|
||||
return 19
|
||||
case .versionInfo:
|
||||
return 20
|
||||
}
|
||||
}
|
||||
|
||||
@ -423,6 +426,14 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
})
|
||||
}).start()
|
||||
})
|
||||
case let .alternateIcon(theme):
|
||||
return ItemListActionItem(theme: theme, title: "Change Icon", kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: {
|
||||
if arguments.sharedContext.applicationBindings.getAlternateIconName() == "Black" {
|
||||
arguments.sharedContext.applicationBindings.requestSetAlternateIconName(nil, { _ in })
|
||||
} else {
|
||||
arguments.sharedContext.applicationBindings.requestSetAlternateIconName("Black", { _ in })
|
||||
}
|
||||
})
|
||||
case let .versionInfo(theme):
|
||||
let bundle = Bundle.main
|
||||
let bundleId = bundle.bundleIdentifier ?? ""
|
||||
@ -459,6 +470,7 @@ private func debugControllerEntries(presentationData: PresentationData, loggingS
|
||||
entries.append(.resetData(presentationData.theme))
|
||||
entries.append(.optimizeDatabase(presentationData.theme))
|
||||
entries.append(.photoPreview(presentationData.theme, experimentalSettings.chatListPhotos))
|
||||
entries.append(.alternateIcon(presentationData.theme))
|
||||
entries.append(.versionInfo(presentationData.theme))
|
||||
|
||||
return entries
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user