mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-23 05:54:14 +00:00
no message
This commit is contained in:
parent
01e6511c8e
commit
d2b2c273d5
@ -56,6 +56,8 @@
|
|||||||
D03229EF1E6B33FD0000AF9C /* SqliteInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03229ED1E6B33FD0000AF9C /* SqliteInterface.swift */; };
|
D03229EF1E6B33FD0000AF9C /* SqliteInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03229ED1E6B33FD0000AF9C /* SqliteInterface.swift */; };
|
||||||
D033A6F71C73D512006A2EAB /* MessageHistoryUnsentTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D033A6F61C73D512006A2EAB /* MessageHistoryUnsentTable.swift */; };
|
D033A6F71C73D512006A2EAB /* MessageHistoryUnsentTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D033A6F61C73D512006A2EAB /* MessageHistoryUnsentTable.swift */; };
|
||||||
D033A6F91C73E440006A2EAB /* UnsentMessageHistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D033A6F81C73E440006A2EAB /* UnsentMessageHistoryView.swift */; };
|
D033A6F91C73E440006A2EAB /* UnsentMessageHistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D033A6F81C73E440006A2EAB /* UnsentMessageHistoryView.swift */; };
|
||||||
|
D037178B20D923CA004773C8 /* CachedItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D037178A20D923CA004773C8 /* CachedItemView.swift */; };
|
||||||
|
D037178C20D923CA004773C8 /* CachedItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D037178A20D923CA004773C8 /* CachedItemView.swift */; };
|
||||||
D03BCCF81C73561C0097A291 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03BCCF71C73561C0097A291 /* Table.swift */; };
|
D03BCCF81C73561C0097A291 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03BCCF71C73561C0097A291 /* Table.swift */; };
|
||||||
D044CA2A1C617D39002160FF /* SeedConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D044CA291C617D39002160FF /* SeedConfiguration.swift */; };
|
D044CA2A1C617D39002160FF /* SeedConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D044CA291C617D39002160FF /* SeedConfiguration.swift */; };
|
||||||
D044CA2C1C617E2D002160FF /* MessageHistoryMetadataTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D044CA2B1C617E2D002160FF /* MessageHistoryMetadataTable.swift */; };
|
D044CA2C1C617E2D002160FF /* MessageHistoryMetadataTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D044CA2B1C617E2D002160FF /* MessageHistoryMetadataTable.swift */; };
|
||||||
@ -413,6 +415,7 @@
|
|||||||
D03229ED1E6B33FD0000AF9C /* SqliteInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SqliteInterface.swift; sourceTree = "<group>"; };
|
D03229ED1E6B33FD0000AF9C /* SqliteInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SqliteInterface.swift; sourceTree = "<group>"; };
|
||||||
D033A6F61C73D512006A2EAB /* MessageHistoryUnsentTable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageHistoryUnsentTable.swift; sourceTree = "<group>"; };
|
D033A6F61C73D512006A2EAB /* MessageHistoryUnsentTable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageHistoryUnsentTable.swift; sourceTree = "<group>"; };
|
||||||
D033A6F81C73E440006A2EAB /* UnsentMessageHistoryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UnsentMessageHistoryView.swift; sourceTree = "<group>"; };
|
D033A6F81C73E440006A2EAB /* UnsentMessageHistoryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UnsentMessageHistoryView.swift; sourceTree = "<group>"; };
|
||||||
|
D037178A20D923CA004773C8 /* CachedItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CachedItemView.swift; sourceTree = "<group>"; };
|
||||||
D03BCCF71C73561C0097A291 /* Table.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = "<group>"; };
|
D03BCCF71C73561C0097A291 /* Table.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = "<group>"; };
|
||||||
D044CA291C617D39002160FF /* SeedConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SeedConfiguration.swift; sourceTree = "<group>"; };
|
D044CA291C617D39002160FF /* SeedConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SeedConfiguration.swift; sourceTree = "<group>"; };
|
||||||
D044CA2B1C617E2D002160FF /* MessageHistoryMetadataTable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageHistoryMetadataTable.swift; sourceTree = "<group>"; };
|
D044CA2B1C617E2D002160FF /* MessageHistoryMetadataTable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageHistoryMetadataTable.swift; sourceTree = "<group>"; };
|
||||||
@ -860,6 +863,7 @@
|
|||||||
D0BE3033206026C800FBE6D8 /* MessagesView.swift */,
|
D0BE3033206026C800FBE6D8 /* MessagesView.swift */,
|
||||||
D048B4AE20A5EEAE00C79D31 /* AdditionalChatListItemsView.swift */,
|
D048B4AE20A5EEAE00C79D31 /* AdditionalChatListItemsView.swift */,
|
||||||
D06ECFC420B796DC00C576C2 /* NoticeEntryView.swift */,
|
D06ECFC420B796DC00C576C2 /* NoticeEntryView.swift */,
|
||||||
|
D037178A20D923CA004773C8 /* CachedItemView.swift */,
|
||||||
);
|
);
|
||||||
name = Views;
|
name = Views;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1154,6 +1158,7 @@
|
|||||||
D0943AFC1FDAE074001522CC /* ChatListTopPeersView.swift in Sources */,
|
D0943AFC1FDAE074001522CC /* ChatListTopPeersView.swift in Sources */,
|
||||||
D048B4A920A5CBE400C79D31 /* AdditionalChatListItemsTable.swift in Sources */,
|
D048B4A920A5CBE400C79D31 /* AdditionalChatListItemsTable.swift in Sources */,
|
||||||
D073CE771DCBF3B4007511FD /* Media.swift in Sources */,
|
D073CE771DCBF3B4007511FD /* Media.swift in Sources */,
|
||||||
|
D037178C20D923CA004773C8 /* CachedItemView.swift in Sources */,
|
||||||
D0A352F91F549D95001423DC /* InvalidatedMessageHistoryTagSummariesView.swift in Sources */,
|
D0A352F91F549D95001423DC /* InvalidatedMessageHistoryTagSummariesView.swift in Sources */,
|
||||||
D073CE791DCBF3B4007511FD /* ChatListHole.swift in Sources */,
|
D073CE791DCBF3B4007511FD /* ChatListHole.swift in Sources */,
|
||||||
D0F53BF41E794C6700117362 /* PeerChatStateView.swift in Sources */,
|
D0F53BF41E794C6700117362 /* PeerChatStateView.swift in Sources */,
|
||||||
@ -1328,6 +1333,7 @@
|
|||||||
D021E0D81DB4FD1300C6B04F /* ItemCollectionItemTable.swift in Sources */,
|
D021E0D81DB4FD1300C6B04F /* ItemCollectionItemTable.swift in Sources */,
|
||||||
D048B4A820A5CBE400C79D31 /* AdditionalChatListItemsTable.swift in Sources */,
|
D048B4A820A5CBE400C79D31 /* AdditionalChatListItemsTable.swift in Sources */,
|
||||||
D0F9E85B1C565EBB00037222 /* MessageMediaTable.swift in Sources */,
|
D0F9E85B1C565EBB00037222 /* MessageMediaTable.swift in Sources */,
|
||||||
|
D037178B20D923CA004773C8 /* CachedItemView.swift in Sources */,
|
||||||
D049EAF01E44D9B900A2CD3A /* PostboxStateView.swift in Sources */,
|
D049EAF01E44D9B900A2CD3A /* PostboxStateView.swift in Sources */,
|
||||||
D0079F631D5A242500A27A2C /* ContactPeerIdsView.swift in Sources */,
|
D0079F631D5A242500A27A2C /* ContactPeerIdsView.swift in Sources */,
|
||||||
D0E23DE21E808A9400B9B6D2 /* ItemCollectionIdsView.swift in Sources */,
|
D0E23DE21E808A9400B9B6D2 /* ItemCollectionIdsView.swift in Sources */,
|
||||||
|
31
Postbox/CachedItemView.swift
Normal file
31
Postbox/CachedItemView.swift
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import Foundation
|
||||||
|
|
||||||
|
final class MutableCachedItemView: MutablePostboxView {
|
||||||
|
private let id: ItemCacheEntryId
|
||||||
|
fileprivate var value: PostboxCoding?
|
||||||
|
|
||||||
|
init(postbox: Postbox, id: ItemCacheEntryId) {
|
||||||
|
self.id = id
|
||||||
|
self.value = postbox.itemCacheTable.retrieve(id: id, metaTable: postbox.itemCacheMetaTable)
|
||||||
|
}
|
||||||
|
|
||||||
|
func replay(postbox: Postbox, transaction: PostboxTransaction) -> Bool {
|
||||||
|
if transaction.updatedCacheEntryKeys.contains(self.id) {
|
||||||
|
self.value = postbox.itemCacheTable.retrieve(id: id, metaTable: postbox.itemCacheMetaTable)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func immutableView() -> PostboxView {
|
||||||
|
return CachedItemView(self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class CachedItemView: PostboxView {
|
||||||
|
public let value: PostboxCoding?
|
||||||
|
|
||||||
|
init(_ view: MutableCachedItemView) {
|
||||||
|
self.value = view.value
|
||||||
|
}
|
||||||
|
}
|
@ -813,6 +813,14 @@ public final class Transaction {
|
|||||||
self.postbox?.replaceMessageTagSummary(peerId: peerId, tagMask: tagMask, namespace: namespace, count: count, maxId: maxId)
|
self.postbox?.replaceMessageTagSummary(peerId: peerId, tagMask: tagMask, namespace: namespace, count: count, maxId: maxId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func getMessageIndicesWithTag(peerId: PeerId, tag: MessageTags) -> [MessageIndex] {
|
||||||
|
assert(!self.disposed)
|
||||||
|
guard let postbox = self.postbox else {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
return postbox.messageHistoryTagsTable.earlierIndices(tag, peerId: peerId, index: nil, count: 10000)
|
||||||
|
}
|
||||||
|
|
||||||
public func scanMessages(peerId: PeerId, tagMask: MessageTags, _ f: (ScanMessageEntry) -> Bool) {
|
public func scanMessages(peerId: PeerId, tagMask: MessageTags, _ f: (ScanMessageEntry) -> Bool) {
|
||||||
assert(!self.disposed)
|
assert(!self.disposed)
|
||||||
self.postbox?.scanMessages(peerId: peerId, tagMask: tagMask, f)
|
self.postbox?.scanMessages(peerId: peerId, tagMask: tagMask, f)
|
||||||
|
@ -26,6 +26,7 @@ public enum PostboxViewKey: Hashable {
|
|||||||
case messages(Set<MessageId>)
|
case messages(Set<MessageId>)
|
||||||
case additionalChatListItems
|
case additionalChatListItems
|
||||||
case noticeEntry(NoticeEntryKey)
|
case noticeEntry(NoticeEntryKey)
|
||||||
|
case cachedItem(ItemCacheEntryId)
|
||||||
|
|
||||||
public var hashValue: Int {
|
public var hashValue: Int {
|
||||||
switch self {
|
switch self {
|
||||||
@ -79,6 +80,8 @@ public enum PostboxViewKey: Hashable {
|
|||||||
return 11
|
return 11
|
||||||
case let .noticeEntry(key):
|
case let .noticeEntry(key):
|
||||||
return key.hashValue
|
return key.hashValue
|
||||||
|
case let .cachedItem(id):
|
||||||
|
return id.hashValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,6 +237,12 @@ public enum PostboxViewKey: Hashable {
|
|||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
case let .cachedItem(id):
|
||||||
|
if case .cachedItem(id) = rhs {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -290,5 +299,7 @@ func postboxViewForKey(postbox: Postbox, key: PostboxViewKey) -> MutablePostboxV
|
|||||||
return MutableAdditionalChatListItemsView(postbox: postbox)
|
return MutableAdditionalChatListItemsView(postbox: postbox)
|
||||||
case let .noticeEntry(key):
|
case let .noticeEntry(key):
|
||||||
return MutableNoticeEntryView(postbox: postbox, key: key)
|
return MutableNoticeEntryView(postbox: postbox, key: key)
|
||||||
|
case let .cachedItem(id):
|
||||||
|
return MutableCachedItemView(postbox: postbox, id: id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user