mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 14:45:21 +00:00
Add index reset option
This commit is contained in:
@@ -79,7 +79,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
case clearTips(PresentationTheme)
|
||||
case resetNotifications
|
||||
case crash(PresentationTheme)
|
||||
case resetData(PresentationTheme)
|
||||
case fillLocalSavedMessageCache
|
||||
case resetDatabase(PresentationTheme)
|
||||
case resetDatabaseAndCache(PresentationTheme)
|
||||
case resetHoles(PresentationTheme)
|
||||
@@ -127,7 +127,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return DebugControllerSection.web.rawValue
|
||||
case .keepChatNavigationStack, .skipReadHistory, .dustEffect, .callV2, .alternativeStoryMedia, .crashOnSlowQueries, .crashOnMemoryPressure:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .clearTips, .resetNotifications, .crash, .resetData, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .reindexUnread, .resetCacheIndex, .reindexCache, .resetBiometricsData, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .storiesExperiment, .storiesJpegExperiment, .playlistPlayback, .enableQuickReactionSwitch, .voiceConference, .experimentalCompatibility, .enableDebugDataDisplay, .acceleratedStickers, .inlineForums, .localTranscription, .enableReactionOverrides, .restorePurchases:
|
||||
case .clearTips, .resetNotifications, .crash, .fillLocalSavedMessageCache, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .reindexUnread, .resetCacheIndex, .reindexCache, .resetBiometricsData, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .storiesExperiment, .storiesJpegExperiment, .playlistPlayback, .enableQuickReactionSwitch, .voiceConference, .experimentalCompatibility, .enableDebugDataDisplay, .acceleratedStickers, .inlineForums, .localTranscription, .enableReactionOverrides, .restorePurchases:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .logTranslationRecognition, .resetTranslationStates:
|
||||
return DebugControllerSection.translation.rawValue
|
||||
@@ -192,7 +192,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return 23
|
||||
case .crash:
|
||||
return 24
|
||||
case .resetData:
|
||||
case .fillLocalSavedMessageCache:
|
||||
return 25
|
||||
case .resetDatabase:
|
||||
return 26
|
||||
@@ -1026,24 +1026,18 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return ItemListActionItem(presentationData: presentationData, title: "Crash", kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: {
|
||||
preconditionFailure()
|
||||
})
|
||||
case .resetData:
|
||||
return ItemListActionItem(presentationData: presentationData, title: "Reset Data", kind: .destructive, alignment: .natural, sectionId: self.section, style: .blocks, action: {
|
||||
case .fillLocalSavedMessageCache:
|
||||
return ItemListActionItem(presentationData: presentationData, title: "Reload Saved Messages", kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: {
|
||||
guard let context = arguments.context else {
|
||||
return
|
||||
}
|
||||
let presentationData = arguments.sharedContext.currentPresentationData.with { $0 }
|
||||
let actionSheet = ActionSheetController(presentationData: presentationData)
|
||||
actionSheet.setItemGroups([ActionSheetItemGroup(items: [
|
||||
ActionSheetTextItem(title: "All data will be lost."),
|
||||
ActionSheetButtonItem(title: "Reset Data", color: .destructive, action: { [weak actionSheet] in
|
||||
actionSheet?.dismissAnimated()
|
||||
let databasePath = arguments.sharedContext.accountManager.basePath + "/db"
|
||||
let _ = try? FileManager.default.removeItem(atPath: databasePath)
|
||||
preconditionFailure()
|
||||
}),
|
||||
]), ActionSheetItemGroup(items: [
|
||||
ActionSheetButtonItem(title: presentationData.strings.Common_Cancel, color: .accent, font: .bold, action: { [weak actionSheet] in
|
||||
actionSheet?.dismissAnimated()
|
||||
})
|
||||
])])
|
||||
arguments.presentController(actionSheet, nil)
|
||||
let controller = OverlayStatusController(theme: presentationData.theme, type: .loading(cancelled: nil))
|
||||
arguments.presentController(controller, nil)
|
||||
let _ = (_internal_fillSavedMessageHistory(accountPeerId: context.account.peerId, postbox: context.account.postbox, network: context.account.network)
|
||||
|> deliverOnMainQueue).start(completed: {
|
||||
controller.dismiss()
|
||||
})
|
||||
})
|
||||
case .resetDatabase:
|
||||
return ItemListActionItem(presentationData: presentationData, title: "Clear Database", kind: .destructive, alignment: .natural, sectionId: self.section, style: .blocks, action: {
|
||||
@@ -1436,7 +1430,7 @@ private func debugControllerEntries(sharedContext: SharedAccountContext, present
|
||||
entries.append(.resetNotifications)
|
||||
}
|
||||
entries.append(.crash(presentationData.theme))
|
||||
entries.append(.resetData(presentationData.theme))
|
||||
entries.append(.fillLocalSavedMessageCache)
|
||||
entries.append(.resetDatabase(presentationData.theme))
|
||||
entries.append(.resetDatabaseAndCache(presentationData.theme))
|
||||
entries.append(.resetHoles(presentationData.theme))
|
||||
|
||||
Reference in New Issue
Block a user