mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-12 17:30:34 +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 getWindowHost: () -> WindowHost?
|
||||||
public let presentNativeController: (UIViewController) -> Void
|
public let presentNativeController: (UIViewController) -> Void
|
||||||
public let dismissNativeController: () -> 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.isMainApp = isMainApp
|
||||||
self.containerPath = containerPath
|
self.containerPath = containerPath
|
||||||
self.appSpecificScheme = appSpecificScheme
|
self.appSpecificScheme = appSpecificScheme
|
||||||
@ -56,6 +58,8 @@ public final class TelegramApplicationBindings {
|
|||||||
self.presentNativeController = presentNativeController
|
self.presentNativeController = presentNativeController
|
||||||
self.dismissNativeController = dismissNativeController
|
self.dismissNativeController = dismissNativeController
|
||||||
self.getWindowHost = getWindowHost
|
self.getWindowHost = getWindowHost
|
||||||
|
self.getAlternateIconName = getAlternateIconName
|
||||||
|
self.requestSetAlternateIconName = requestSetAlternateIconName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -49,6 +49,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
case optimizeDatabase(PresentationTheme)
|
case optimizeDatabase(PresentationTheme)
|
||||||
case animatedStickers(PresentationTheme)
|
case animatedStickers(PresentationTheme)
|
||||||
case photoPreview(PresentationTheme, Bool)
|
case photoPreview(PresentationTheme, Bool)
|
||||||
|
case alternateIcon(PresentationTheme)
|
||||||
case versionInfo(PresentationTheme)
|
case versionInfo(PresentationTheme)
|
||||||
|
|
||||||
var section: ItemListSectionId {
|
var section: ItemListSectionId {
|
||||||
@ -61,7 +62,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
return DebugControllerSection.logging.rawValue
|
return DebugControllerSection.logging.rawValue
|
||||||
case .enableRaiseToSpeak, .keepChatNavigationStack, .skipReadHistory, .crashOnSlowQueries:
|
case .enableRaiseToSpeak, .keepChatNavigationStack, .skipReadHistory, .crashOnSlowQueries:
|
||||||
return DebugControllerSection.experiments.rawValue
|
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
|
return DebugControllerSection.experiments.rawValue
|
||||||
case .versionInfo:
|
case .versionInfo:
|
||||||
return DebugControllerSection.info.rawValue
|
return DebugControllerSection.info.rawValue
|
||||||
@ -108,8 +109,10 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
return 17
|
return 17
|
||||||
case .photoPreview:
|
case .photoPreview:
|
||||||
return 18
|
return 18
|
||||||
case .versionInfo:
|
case .alternateIcon:
|
||||||
return 19
|
return 19
|
||||||
|
case .versionInfo:
|
||||||
|
return 20
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -423,6 +426,14 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
})
|
})
|
||||||
}).start()
|
}).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):
|
case let .versionInfo(theme):
|
||||||
let bundle = Bundle.main
|
let bundle = Bundle.main
|
||||||
let bundleId = bundle.bundleIdentifier ?? ""
|
let bundleId = bundle.bundleIdentifier ?? ""
|
||||||
@ -459,6 +470,7 @@ private func debugControllerEntries(presentationData: PresentationData, loggingS
|
|||||||
entries.append(.resetData(presentationData.theme))
|
entries.append(.resetData(presentationData.theme))
|
||||||
entries.append(.optimizeDatabase(presentationData.theme))
|
entries.append(.optimizeDatabase(presentationData.theme))
|
||||||
entries.append(.photoPreview(presentationData.theme, experimentalSettings.chatListPhotos))
|
entries.append(.photoPreview(presentationData.theme, experimentalSettings.chatListPhotos))
|
||||||
|
entries.append(.alternateIcon(presentationData.theme))
|
||||||
entries.append(.versionInfo(presentationData.theme))
|
entries.append(.versionInfo(presentationData.theme))
|
||||||
|
|
||||||
return entries
|
return entries
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user