mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-02-04 02:15:47 +00:00
Update API
This commit is contained in:
@@ -64,6 +64,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
case reimport(PresentationTheme)
|
||||
case resetData(PresentationTheme)
|
||||
case resetDatabase(PresentationTheme)
|
||||
case resetDatabaseAndCache(PresentationTheme)
|
||||
case resetHoles(PresentationTheme)
|
||||
case reindexUnread(PresentationTheme)
|
||||
case resetBiometricsData(PresentationTheme)
|
||||
@@ -89,7 +90,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return DebugControllerSection.logging.rawValue
|
||||
case .enableRaiseToSpeak, .keepChatNavigationStack, .skipReadHistory, .crashOnSlowQueries:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .clearTips, .reimport, .resetData, .resetDatabase, .resetHoles, .reindexUnread, .resetBiometricsData, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .alternativeFolderTabs, .playerEmbedding, .playlistPlayback:
|
||||
case .clearTips, .reimport, .resetData, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .reindexUnread, .resetBiometricsData, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .alternativeFolderTabs, .playerEmbedding, .playlistPlayback:
|
||||
return DebugControllerSection.experiments.rawValue
|
||||
case .preferredVideoCodec:
|
||||
return DebugControllerSection.videoExperiments.rawValue
|
||||
@@ -134,12 +135,14 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
return 14
|
||||
case .resetDatabase:
|
||||
return 15
|
||||
case .resetHoles:
|
||||
case .resetDatabaseAndCache:
|
||||
return 16
|
||||
case .reindexUnread:
|
||||
case .resetHoles:
|
||||
return 17
|
||||
case .resetBiometricsData:
|
||||
case .reindexUnread:
|
||||
return 18
|
||||
case .resetBiometricsData:
|
||||
return 19
|
||||
case .optimizeDatabase:
|
||||
return 20
|
||||
case .photoPreview:
|
||||
@@ -478,6 +481,29 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
||||
])])
|
||||
arguments.presentController(actionSheet, nil)
|
||||
})
|
||||
case let .resetDatabaseAndCache(theme):
|
||||
return ItemListActionItem(presentationData: presentationData, title: "Clear Database and Cache", kind: .destructive, 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 secret chats will be lost."),
|
||||
ActionSheetButtonItem(title: "Clear Database", color: .destructive, action: { [weak actionSheet] in
|
||||
actionSheet?.dismissAnimated()
|
||||
let databasePath = context.account.basePath + "/postbox"
|
||||
let _ = try? FileManager.default.removeItem(atPath: databasePath)
|
||||
exit(0)
|
||||
preconditionFailure()
|
||||
}),
|
||||
]), ActionSheetItemGroup(items: [
|
||||
ActionSheetButtonItem(title: presentationData.strings.Common_Cancel, color: .accent, font: .bold, action: { [weak actionSheet] in
|
||||
actionSheet?.dismissAnimated()
|
||||
})
|
||||
])])
|
||||
arguments.presentController(actionSheet, nil)
|
||||
})
|
||||
case let .resetHoles(theme):
|
||||
return ItemListActionItem(presentationData: presentationData, title: "Reset Holes", kind: .destructive, alignment: .natural, sectionId: self.section, style: .blocks, action: {
|
||||
guard let context = arguments.context else {
|
||||
@@ -647,6 +673,7 @@ private func debugControllerEntries(presentationData: PresentationData, loggingS
|
||||
}
|
||||
entries.append(.resetData(presentationData.theme))
|
||||
entries.append(.resetDatabase(presentationData.theme))
|
||||
entries.append(.resetDatabaseAndCache(presentationData.theme))
|
||||
entries.append(.resetHoles(presentationData.theme))
|
||||
entries.append(.reindexUnread(presentationData.theme))
|
||||
entries.append(.optimizeDatabase(presentationData.theme))
|
||||
|
||||
@@ -545,7 +545,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
||||
dict[480546647] = { return Api.InputChatPhoto.parse_inputChatPhotoEmpty($0) }
|
||||
dict[-1991004873] = { return Api.InputChatPhoto.parse_inputChatPhoto($0) }
|
||||
dict[-968723890] = { return Api.InputChatPhoto.parse_inputChatUploadedPhoto($0) }
|
||||
dict[742337250] = { return Api.messages.MessageViews.parse_messageViews($0) }
|
||||
dict[-1228606141] = { return Api.messages.MessageViews.parse_messageViews($0) }
|
||||
dict[-368917890] = { return Api.PaymentCharge.parse_paymentCharge($0) }
|
||||
dict[-1387279939] = { return Api.MessageInteractionCounters.parse_messageInteractionCounters($0) }
|
||||
dict[-1107852396] = { return Api.stats.BroadcastStats.parse_broadcastStats($0) }
|
||||
|
||||
@@ -1283,13 +1283,13 @@ public struct messages {
|
||||
|
||||
}
|
||||
public enum MessageViews: TypeConstructorDescription {
|
||||
case messageViews(views: [Api.MessageViews], users: [Api.User])
|
||||
case messageViews(views: [Api.MessageViews], chats: [Api.Chat], users: [Api.User])
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
switch self {
|
||||
case .messageViews(let views, let users):
|
||||
case .messageViews(let views, let chats, let users):
|
||||
if boxed {
|
||||
buffer.appendInt32(742337250)
|
||||
buffer.appendInt32(-1228606141)
|
||||
}
|
||||
buffer.appendInt32(481674261)
|
||||
buffer.appendInt32(Int32(views.count))
|
||||
@@ -1297,6 +1297,11 @@ public struct messages {
|
||||
item.serialize(buffer, true)
|
||||
}
|
||||
buffer.appendInt32(481674261)
|
||||
buffer.appendInt32(Int32(chats.count))
|
||||
for item in chats {
|
||||
item.serialize(buffer, true)
|
||||
}
|
||||
buffer.appendInt32(481674261)
|
||||
buffer.appendInt32(Int32(users.count))
|
||||
for item in users {
|
||||
item.serialize(buffer, true)
|
||||
@@ -1307,8 +1312,8 @@ public struct messages {
|
||||
|
||||
public func descriptionFields() -> (String, [(String, Any)]) {
|
||||
switch self {
|
||||
case .messageViews(let views, let users):
|
||||
return ("messageViews", [("views", views), ("users", users)])
|
||||
case .messageViews(let views, let chats, let users):
|
||||
return ("messageViews", [("views", views), ("chats", chats), ("users", users)])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1317,14 +1322,19 @@ public struct messages {
|
||||
if let _ = reader.readInt32() {
|
||||
_1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.MessageViews.self)
|
||||
}
|
||||
var _2: [Api.User]?
|
||||
var _2: [Api.Chat]?
|
||||
if let _ = reader.readInt32() {
|
||||
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
||||
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
||||
}
|
||||
var _3: [Api.User]?
|
||||
if let _ = reader.readInt32() {
|
||||
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
||||
}
|
||||
let _c1 = _1 != nil
|
||||
let _c2 = _2 != nil
|
||||
if _c1 && _c2 {
|
||||
return Api.messages.MessageViews.messageViews(views: _1!, users: _2!)
|
||||
let _c3 = _3 != nil
|
||||
if _c1 && _c2 && _c3 {
|
||||
return Api.messages.MessageViews.messageViews(views: _1!, chats: _2!, users: _3!)
|
||||
}
|
||||
else {
|
||||
return nil
|
||||
|
||||
@@ -616,7 +616,7 @@ public final class AccountViewTracker {
|
||||
return .single(nil)
|
||||
}
|
||||
|> mapToSignal { result -> Signal<Void, NoError> in
|
||||
guard case let .messageViews(viewCounts, users)? = result else {
|
||||
guard case let .messageViews(viewCounts, chats, users)? = result else {
|
||||
return .complete()
|
||||
}
|
||||
|
||||
@@ -631,6 +631,11 @@ public final class AccountViewTracker {
|
||||
peerPresences[telegramUser.id] = presence
|
||||
}
|
||||
}
|
||||
for chat in chats {
|
||||
if let groupOrChannel = parseTelegramGroupOrChannel(chat: chat) {
|
||||
peers.append(groupOrChannel)
|
||||
}
|
||||
}
|
||||
|
||||
updatePeers(transaction: transaction, peers: peers, update: { _, updated -> Peer in
|
||||
return updated
|
||||
|
||||
@@ -274,7 +274,7 @@ public func fetchChannelReplyThreadMessage(account: Account, messageId: MessageI
|
||||
}
|
||||
var maxId: Int32?
|
||||
switch result {
|
||||
case let .messageViews(views, _):
|
||||
case let .messageViews(views, _, _):
|
||||
for view in views {
|
||||
switch view {
|
||||
case let .messageViews(_, _, _, replies):
|
||||
|
||||
Reference in New Issue
Block a user