From 1f42bb9ec619c9d667583aedfc89ef0c092cace6 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sun, 19 Jun 2022 06:52:32 +0300 Subject: [PATCH] fix DeletedMessagesHandler --- .../lite/utils/DeletedMessagesHandler.java | 31 ++++++++++--------- .../longpoll/tasks/MsgDeleteLpTask.smali | 6 ++-- .../internal/storage/StorageManager.smali | 2 +- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/DeletedMessagesHandler.java b/app/src/main/java/ru/vtosters/lite/utils/DeletedMessagesHandler.java index 79dcd66f0..9025ac948 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/DeletedMessagesHandler.java +++ b/app/src/main/java/ru/vtosters/lite/utils/DeletedMessagesHandler.java @@ -4,10 +4,9 @@ import static ru.vtosters.lite.utils.Globals.getContext; import static ru.vtosters.lite.utils.Globals.getPrefsValue; import static ru.vtosters.lite.utils.Preferences.getBoolValue; +import android.annotation.SuppressLint; import android.content.ContentValues; import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; import android.text.TextUtils; import com.vk.im.engine.events.OnMsgUpdateEvent; @@ -21,6 +20,8 @@ import com.vk.libsqliteext.CustomSqliteExtensionsKt; import java.util.ArrayList; import java.util.List; +import io.requery.android.database.sqlite.SQLiteDatabase; +import io.requery.android.database.sqlite.SQLiteOpenHelper; import ru.vtosters.lite.encryption.EncryptProvider; public class DeletedMessagesHandler { @@ -38,7 +39,7 @@ public class DeletedMessagesHandler { } public static void grabVKDatabase(StorageManager storageEnvironment) { - sVKSQLiteDatabase = storageEnvironment.j(); + sVKSQLiteDatabase = storageEnvironment.D(); } public static boolean hook() { @@ -50,8 +51,8 @@ public class DeletedMessagesHandler { for (Integer integer : sDeletedMessagesList) { MsgFromUser msgFromUser = (MsgFromUser) msg; - checkForNestedMsg(msgFromUser.g); - if (integer == msg.d) { + checkForNestedMsg(msgFromUser.w0()); + if (integer == msg.C1()) { editTextOfMsg((MsgFromUser) msg); break; } @@ -60,20 +61,19 @@ public class DeletedMessagesHandler { private static void checkForNestedMsg(List nestedMsgs) { for (NestedMsg nestedMsg : nestedMsgs) { - if (!nestedMsg.i.isEmpty()) checkForNestedMsg(nestedMsg.i); - - nestedMsg.b(EncryptProvider.decryptMessage(nestedMsg.E(), nestedMsg.h().c)); + if (!nestedMsg.w0().isEmpty()) checkForNestedMsg(nestedMsg.w0()); + nestedMsg.d(EncryptProvider.decryptMessage(nestedMsg.f(), nestedMsg.getFrom().getId())); } } private static void editTextOfMsg(MsgFromUser msgFromUser) { - if (!msgFromUser.e.startsWith(getPreifxUndelete())) { - msgFromUser.e = getPreifxUndelete() + EncryptProvider.decryptMessage(msgFromUser); + if (!msgFromUser.f().startsWith(getPrefixUndelete())) { + msgFromUser.d(getPrefixUndelete() + EncryptProvider.decryptMessage(msgFromUser)); } } - private static String getPreifxUndelete() { + private static String getPrefixUndelete() { return getPrefsValue("undeletemsg_prefix_value") + " "; } @@ -81,10 +81,11 @@ public class DeletedMessagesHandler { Cursor c = getMessageFromDatabaseById(msgDeleteLpTask.c); if (c == null) return; + @SuppressLint("Range") int localId = c.getInt(c.getColumnIndex("local_id")); String str = DeletedMessagesHandler.class.getSimpleName(); - msgDeleteLpTask.a.a(str, new OnMsgUpdateEvent(str, msgDeleteLpTask.b, localId)); + msgDeleteLpTask.b.a(str, new OnMsgUpdateEvent(str, msgDeleteLpTask.c, localId)); } public static void hookDeletedMessageId(MsgDeleteLpTask msgDeleteLpTask) { @@ -121,17 +122,17 @@ public class DeletedMessagesHandler { } @Override - public void onCreate(android.database.sqlite.SQLiteDatabase db) { + public void onCreate(SQLiteDatabase db) { db.execSQL("create table deleted_msgs (id integer primary key, msgId integer)"); } @Override - public void onUpgrade(android.database.sqlite.SQLiteDatabase db, int oldVersion, int newVersion) { + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } public void saveDeletedMessage(int msgId) { - android.database.sqlite.SQLiteDatabase sqLiteDatabase = getWritableDatabase(); + SQLiteDatabase sqLiteDatabase = getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("msgId", msgId); diff --git a/smali/smali_classes3/com/vk/im/engine/internal/longpoll/tasks/MsgDeleteLpTask.smali b/smali/smali_classes3/com/vk/im/engine/internal/longpoll/tasks/MsgDeleteLpTask.smali index 1e1cc8232..5f8ba350a 100644 --- a/smali/smali_classes3/com/vk/im/engine/internal/longpoll/tasks/MsgDeleteLpTask.smali +++ b/smali/smali_classes3/com/vk/im/engine/internal/longpoll/tasks/MsgDeleteLpTask.smali @@ -4,11 +4,11 @@ # instance fields -.field private final b:Lcom/vk/im/engine/ImEnvironment; +.field public final b:Lcom/vk/im/engine/ImEnvironment; -.field private final c:I +.field public final c:I -.field private final d:I +.field public final d:I # direct methods diff --git a/smali/smali_classes3/com/vk/im/engine/internal/storage/StorageManager.smali b/smali/smali_classes3/com/vk/im/engine/internal/storage/StorageManager.smali index f6cafe826..3d045a09f 100644 --- a/smali/smali_classes3/com/vk/im/engine/internal/storage/StorageManager.smali +++ b/smali/smali_classes3/com/vk/im/engine/internal/storage/StorageManager.smali @@ -707,7 +707,7 @@ return-object v0 .end method -.method private final D()Lio/requery/android/database/sqlite/SQLiteDatabase; +.method public final D()Lio/requery/android/database/sqlite/SQLiteDatabase; .locals 3 iget-object v0, p0, Lcom/vk/im/engine/internal/storage/StorageManager;->b:Lkotlin/Lazy2;