Merge pull request #763 from naveensingh/fix_r8_crash

Properly clear messages from database
This commit is contained in:
Tibor Kaputa 2023-09-30 20:35:21 +02:00 committed by GitHub
commit e735502700
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 8 deletions

View File

@ -64,7 +64,9 @@ class MainActivity : SimpleActivity() {
handleAppPasswordProtection {
wasProtectionHandled = it
if (it) {
loadMessages()
clearAllMessagesIfNeeded {
loadMessages()
}
} else {
finish()
}
@ -74,8 +76,6 @@ class MainActivity : SimpleActivity() {
if (checkAppSideloading()) {
return
}
clearAllMessagesIfNeeded()
}
override fun onResume() {

View File

@ -136,7 +136,6 @@ class ThreadActivity : SimpleActivity() {
return
}
clearAllMessagesIfNeeded()
threadId = intent.getLongExtra(THREAD_ID, 0L)
intent.getStringExtra(THREAD_TITLE)?.let {
binding.threadToolbar.title = it
@ -152,7 +151,9 @@ class ThreadActivity : SimpleActivity() {
handleAppPasswordProtection {
wasProtectionHandled = it
if (it) {
loadConversation()
clearAllMessagesIfNeeded {
loadConversation()
}
} else {
finish()
}

View File

@ -989,12 +989,15 @@ fun Context.getFileSizeFromUri(uri: Uri): Long {
// fix a glitch at enabling Release version minifying from 5.12.3
// reset messages in 5.14.3 again, as PhoneNumber is no longer minified
// reset messages in 5.19.1 again, as SimpleContact is no longer minified
fun Context.clearAllMessagesIfNeeded() {
fun Context.clearAllMessagesIfNeeded(callback: () -> Unit) {
if (!config.wasDbCleared) {
ensureBackgroundThread {
messagesDB.deleteAll()
config.wasDbCleared = true
callback()
}
config.wasDbCleared = true
} else {
callback()
}
}

View File

@ -34,7 +34,7 @@ const val XML_MIME_TYPE = "text/xml"
const val TXT_MIME_TYPE = "text/plain"
const val IMPORT_SMS = "import_sms"
const val IMPORT_MMS = "import_mms"
const val WAS_DB_CLEARED = "was_db_cleared_3"
const val WAS_DB_CLEARED = "was_db_cleared_4"
const val EXTRA_VCARD_URI = "vcard"
const val SCHEDULED_MESSAGE_ID = "scheduled_message_id"
const val SOFT_KEYBOARD_HEIGHT = "soft_keyboard_height"