From bdbc735e2a8b34a3f2cabe908773503401c2ac37 Mon Sep 17 00:00:00 2001 From: DevEmperor <56255079+devemperor@users.noreply.github.com> Date: Tue, 6 Feb 2024 13:30:20 +0100 Subject: [PATCH] better chat deletion logic --- .../wristassist/activities/EditChatActivity.java | 3 +++ .../wristassist/activities/SavedChatsActivity.java | 11 ++++++----- .../database/ChatHistoryDatabaseHelper.java | 10 ---------- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/net/devemperor/wristassist/activities/EditChatActivity.java b/app/src/main/java/net/devemperor/wristassist/activities/EditChatActivity.java index d93fca0..4e2d1ee 100644 --- a/app/src/main/java/net/devemperor/wristassist/activities/EditChatActivity.java +++ b/app/src/main/java/net/devemperor/wristassist/activities/EditChatActivity.java @@ -81,6 +81,9 @@ public void editTitle(View view) { public void deleteChat(View view) { chatHistoryDatabaseHelper.delete(this, id); Toast.makeText(this, R.string.wristassist_chat_deleted, Toast.LENGTH_SHORT).show(); + Intent data = new Intent(); + data.putExtra("net.devemperor.wristassist.chat_deleted", true); + setResult(RESULT_OK, data); finish(); } } diff --git a/app/src/main/java/net/devemperor/wristassist/activities/SavedChatsActivity.java b/app/src/main/java/net/devemperor/wristassist/activities/SavedChatsActivity.java index 7a637f3..f12aa6c 100644 --- a/app/src/main/java/net/devemperor/wristassist/activities/SavedChatsActivity.java +++ b/app/src/main/java/net/devemperor/wristassist/activities/SavedChatsActivity.java @@ -50,7 +50,7 @@ protected void onCreate(Bundle savedInstanceState) { intent = new Intent(this, EditChatActivity.class); } intent.putExtra("net.devemperor.wristassist.chatId", chats.get(chatPosition).getId()); - startActivity(intent); + startActivityForResult(intent, 1337); }); savedChatsWrv.setAdapter(savedChatsAdapter); @@ -68,10 +68,11 @@ protected void onCreate(Bundle savedInstanceState) { }); } - @Override - protected void onResume() { - super.onResume(); - if (savedChatsAdapter.getItemCount() != chatHistoryDatabaseHelper.getCount()) { + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + + if (requestCode == 1337 && data.getBooleanExtra("net.devemperor.wristassist.chat_deleted", false)) { savedChatsAdapter.getData().remove(currentEditPosition); savedChatsAdapter.notifyItemRemoved(currentEditPosition); findViewById(R.id.no_saved_chats).setVisibility(savedChatsAdapter.getData().isEmpty() ? android.view.View.VISIBLE : android.view.View.GONE); diff --git a/app/src/main/java/net/devemperor/wristassist/database/ChatHistoryDatabaseHelper.java b/app/src/main/java/net/devemperor/wristassist/database/ChatHistoryDatabaseHelper.java index f2bb762..45308df 100644 --- a/app/src/main/java/net/devemperor/wristassist/database/ChatHistoryDatabaseHelper.java +++ b/app/src/main/java/net/devemperor/wristassist/database/ChatHistoryDatabaseHelper.java @@ -210,14 +210,4 @@ public List getAllChats() { db.close(); return chatHistoryModels; } - - public long getCount() { - SQLiteDatabase db = this.getReadableDatabase(); - Cursor cursor = db.rawQuery("SELECT COUNT(*) FROM CHAT_HISTORY_TABLE", null); - cursor.moveToFirst(); - long count = cursor.getLong(0); - cursor.close(); - db.close(); - return count; - } }