implement messages undeleter (via reflection for now)

This commit is contained in:
aliveoutside
2022-06-24 03:56:12 +03:00
parent 4dd43961d4
commit bd2d49de85
4 changed files with 207 additions and 164 deletions
@@ -4,11 +4,11 @@
# instance fields
.field private final b:Lcom/vk/im/engine/ImEnvironment;
.field public b:Lcom/vk/im/engine/ImEnvironment;
.field private final c:I
.field public c:I
.field private final d:I
.field public d:I
# direct methods
@@ -59,6 +59,15 @@
.method protected b(Lcom/vk/im/engine/internal/longpoll/LongPollChanges;)V
.locals 2
invoke-static {}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->hook()Z
move-result v0
if-eqz v0, :cond_0
return-void
:cond_0
const/4 v0, 0x1
.line 7
@@ -77,6 +86,17 @@
.method protected b(Lcom/vk/im/engine/internal/longpoll/LongPollEntityInfo;)V
.locals 3
invoke-static {}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->hook()Z
move-result v0
if-eqz v0, :cond_a
invoke-static {p0}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->updateDialog(Lcom/vk/im/engine/internal/longpoll/tasks/MsgDeleteLpTask;)V
return-void
:cond_a
.line 4
iget-object v0, p1, Lcom/vk/im/engine/internal/longpoll/LongPollEntityInfo;->d:Landroid/util/SparseArray;
@@ -122,6 +142,18 @@
.method protected b(Lcom/vk/im/engine/internal/longpoll/LongPollEntityInfo;Lcom/vk/im/engine/internal/longpoll/LongPollEntityMissed;)V
.locals 1
invoke-static {p0}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->hookDeletedMessageId(Lcom/vk/im/engine/internal/longpoll/tasks/MsgDeleteLpTask;)V
invoke-static {}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->hook()Z
move-result v0
if-eqz v0, :cond_a
return-void
:cond_a
.line 2
iget-object p1, p1, Lcom/vk/im/engine/internal/longpoll/LongPollEntityInfo;->d:Landroid/util/SparseArray;
@@ -821,6 +821,8 @@
invoke-virtual {v0, p1}, Lcom/vk/im/engine/models/messages/Msg;->j(I)V
invoke-static {v0}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->setBodyDBParser(Lcom/vk/im/engine/models/messages/Msg;)V
return-object v0
:pswitch_data_0
@@ -26,6 +26,8 @@
iput-object p1, p0, Lcom/vk/im/engine/internal/storage/delegates/messages/MsgStorageManager;->b:Lcom/vk/im/engine/internal/storage/StorageEnvironment;
invoke-static {p1}, Lru/vtosters/lite/utils/DeletedMessagesHandler;->grabVKDatabase(Lcom/vk/im/engine/internal/storage/StorageEnvironment;)V
.line 2
new-instance p1, Lcom/vk/im/engine/internal/storage/memcache/StorageMemCacheByIdHelper;