mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Add a debug option for disabling quick reactions (by utsavDave97)
This commit is contained in:
@@ -8569,8 +8569,8 @@ Sorry for the inconvenience.";
|
||||
"StorageManagement.TitleCleared" = "Storage Cleared";
|
||||
|
||||
"StorageManagement.DescriptionCleared" = "All media can be re-downloaded from the Telegram cloud if you need it again.";
|
||||
"StorageManagement.DescriptionChatUsage" = "This chat uses %1$@%% of your Telegram cache.";
|
||||
"StorageManagement.DescriptionAppUsage" = "Telegram uses %1$@%% of your free disk space.";
|
||||
"StorageManagement.DescriptionChatUsage" = "This chat uses %1$@% of your Telegram cache.";
|
||||
"StorageManagement.DescriptionAppUsage" = "Telegram uses %1$@% of your free disk space.";
|
||||
|
||||
"StorageManagement.ClearAll" = "Clear All Cache";
|
||||
"StorageManagement.ClearSelected" = "Clear Selected";
|
||||
|
||||
@@ -93,6 +93,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
case enableReactionOverrides(Bool)
|
||||
case playerEmbedding(Bool)
|
||||
case playlistPlayback(Bool)
|
||||
case enableQuickReactionSwitch(Bool)
|
||||
case voiceConference
|
||||
case preferredVideoCodec(Int, String, String?, Bool)
|
||||
case disableVideoAspectScaling(Bool)
|
||||
@@ -113,7 +114,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return DebugControllerSection.logging.rawValue
|
||||
case .enableRaiseToSpeak, .keepChatNavigationStack, .skipReadHistory, .crashOnSlowQueries:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .clearTips, .crash, .resetData, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .reindexUnread, .resetCacheIndex, .reindexCache, .resetBiometricsData, .resetWebViewCache, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .playerEmbedding, .playlistPlayback, .voiceConference, .experimentalCompatibility, .enableDebugDataDisplay, .acceleratedStickers, .experimentalBackground, .inlineForums, .localTranscription, . enableReactionOverrides, .restorePurchases:
|
||||
case .clearTips, .crash, .resetData, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .reindexUnread, .resetCacheIndex, .reindexCache, .resetBiometricsData, .resetWebViewCache, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .playerEmbedding, .playlistPlayback, .enableQuickReactionSwitch, .voiceConference, .experimentalCompatibility, .enableDebugDataDisplay, .acceleratedStickers, .experimentalBackground, .inlineForums, .localTranscription, . enableReactionOverrides, .restorePurchases:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .preferredVideoCodec:
|
||||
return DebugControllerSection.videoExperiments.rawValue
|
||||
@@ -206,10 +207,12 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return 38
|
||||
case .playlistPlayback:
|
||||
return 39
|
||||
case .voiceConference:
|
||||
case .enableQuickReactionSwitch:
|
||||
return 40
|
||||
case .voiceConference:
|
||||
return 41
|
||||
case let .preferredVideoCodec(index, _, _, _):
|
||||
return 41 + index
|
||||
return 42 + index
|
||||
case .disableVideoAspectScaling:
|
||||
return 100
|
||||
case .enableVoipTcp:
|
||||
@@ -1161,6 +1164,16 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
})
|
||||
}).start()
|
||||
})
|
||||
case let .enableQuickReactionSwitch(value):
|
||||
return ItemListSwitchItem(presentationData: presentationData, title: "Enable Quick Reaction", value: value, sectionId: self.section, style: .blocks, updated: { value in
|
||||
let _ = arguments.sharedContext.accountManager.transaction ({ transaction in
|
||||
transaction.updateSharedData(ApplicationSpecificSharedDataKeys.experimentalUISettings, { settings in
|
||||
var settings = settings?.get(ExperimentalUISettings.self) ?? ExperimentalUISettings.defaultSettings
|
||||
settings.disableQuickReaction = !value
|
||||
return PreferencesEntry(settings)
|
||||
})
|
||||
}).start()
|
||||
})
|
||||
case .voiceConference:
|
||||
return ItemListDisclosureItem(presentationData: presentationData, title: "Voice Conference (Test)", label: "", sectionId: self.section, style: .blocks, action: {
|
||||
guard let _ = arguments.context else {
|
||||
@@ -1283,6 +1296,7 @@ private func debugControllerEntries(sharedContext: SharedAccountContext, present
|
||||
entries.append(.restorePurchases(presentationData.theme))
|
||||
entries.append(.playerEmbedding(experimentalSettings.playerEmbedding))
|
||||
entries.append(.playlistPlayback(experimentalSettings.playlistPlayback))
|
||||
entries.append(.enableQuickReactionSwitch(!experimentalSettings.disableQuickReaction))
|
||||
}
|
||||
|
||||
let codecs: [(String, String?)] = [
|
||||
|
||||
@@ -1647,6 +1647,11 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
||||
return
|
||||
}
|
||||
|
||||
if strongSelf.context.sharedContext.immediateExperimentalUISettings.disableQuickReaction {
|
||||
itemNode.openMessageContextMenu()
|
||||
return
|
||||
}
|
||||
|
||||
let chosenReaction: MessageReaction.Reaction?
|
||||
|
||||
switch reaction {
|
||||
|
||||
@@ -48,6 +48,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
||||
public var inlineForums: Bool
|
||||
public var accountReactionEffectOverrides: [AccountReactionOverrides]
|
||||
public var accountStickerEffectOverrides: [AccountReactionOverrides]
|
||||
public var disableQuickReaction: Bool
|
||||
|
||||
public static var defaultSettings: ExperimentalUISettings {
|
||||
return ExperimentalUISettings(
|
||||
@@ -72,7 +73,8 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
||||
enableReactionOverrides: false,
|
||||
inlineForums: false,
|
||||
accountReactionEffectOverrides: [],
|
||||
accountStickerEffectOverrides: []
|
||||
accountStickerEffectOverrides: [],
|
||||
disableQuickReaction: false
|
||||
)
|
||||
}
|
||||
|
||||
@@ -98,7 +100,8 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
||||
enableReactionOverrides: Bool,
|
||||
inlineForums: Bool,
|
||||
accountReactionEffectOverrides: [AccountReactionOverrides],
|
||||
accountStickerEffectOverrides: [AccountReactionOverrides]
|
||||
accountStickerEffectOverrides: [AccountReactionOverrides],
|
||||
disableQuickReaction: Bool
|
||||
) {
|
||||
self.keepChatNavigationStack = keepChatNavigationStack
|
||||
self.skipReadHistory = skipReadHistory
|
||||
@@ -122,6 +125,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
||||
self.inlineForums = inlineForums
|
||||
self.accountReactionEffectOverrides = accountReactionEffectOverrides
|
||||
self.accountStickerEffectOverrides = accountStickerEffectOverrides
|
||||
self.disableQuickReaction = disableQuickReaction
|
||||
}
|
||||
|
||||
public init(from decoder: Decoder) throws {
|
||||
@@ -149,6 +153,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
||||
self.inlineForums = try container.decodeIfPresent(Bool.self, forKey: "inlineForums") ?? false
|
||||
self.accountReactionEffectOverrides = (try? container.decodeIfPresent([AccountReactionOverrides].self, forKey: "accountReactionEffectOverrides")) ?? []
|
||||
self.accountStickerEffectOverrides = (try? container.decodeIfPresent([AccountReactionOverrides].self, forKey: "accountStickerEffectOverrides")) ?? []
|
||||
self.disableQuickReaction = try container.decodeIfPresent(Bool.self, forKey: "disableQuickReaction") ?? false
|
||||
}
|
||||
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
@@ -176,6 +181,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
||||
try container.encode(self.inlineForums, forKey: "inlineForums")
|
||||
try container.encode(self.accountReactionEffectOverrides, forKey: "accountReactionEffectOverrides")
|
||||
try container.encode(self.accountStickerEffectOverrides, forKey: "accountStickerEffectOverrides")
|
||||
try container.encode(self.disableQuickReaction, forKey: "disableQuickReaction")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user