mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-06-05 21:49:22 +02:00
Merge pull request #566 from Naveen3Singh/fix_progress_logic
Hide progress bar after loading conversations from telephony
This commit is contained in:
@@ -258,7 +258,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
|
|
||||||
updateUnreadCountBadge(conversations)
|
updateUnreadCountBadge(conversations)
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
setupConversations(conversations)
|
setupConversations(conversations, cached = true)
|
||||||
getNewConversations(conversations)
|
getNewConversations(conversations)
|
||||||
}
|
}
|
||||||
conversations.forEach {
|
conversations.forEach {
|
||||||
@@ -349,33 +349,25 @@ class MainActivity : SimpleActivity() {
|
|||||||
return currAdapter as ConversationsAdapter
|
return currAdapter as ConversationsAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupConversations(conversations: ArrayList<Conversation>) {
|
private fun setupConversations(conversations: ArrayList<Conversation>, cached: Boolean = false) {
|
||||||
val hasConversations = conversations.isNotEmpty()
|
|
||||||
val sortedConversations = conversations.sortedWith(
|
val sortedConversations = conversations.sortedWith(
|
||||||
compareByDescending<Conversation> { config.pinnedConversations.contains(it.threadId.toString()) }
|
compareByDescending<Conversation> { config.pinnedConversations.contains(it.threadId.toString()) }
|
||||||
.thenByDescending { it.date }
|
.thenByDescending { it.date }
|
||||||
).toMutableList() as ArrayList<Conversation>
|
).toMutableList() as ArrayList<Conversation>
|
||||||
|
|
||||||
conversations_fastscroller.beVisibleIf(hasConversations)
|
if (cached && config.appRunCount == 1) {
|
||||||
no_conversations_placeholder.beGoneIf(hasConversations)
|
// there are no cached conversations on the first run so we show the loading placeholder and progress until we are done loading from telephony
|
||||||
no_conversations_placeholder_2.beGoneIf(hasConversations)
|
showOrHideProgress(conversations.isEmpty())
|
||||||
|
|
||||||
if (!hasConversations && config.appRunCount == 1) {
|
|
||||||
no_conversations_placeholder.text = getString(R.string.loading_messages)
|
|
||||||
no_conversations_placeholder_2.beGone()
|
|
||||||
conversations_progress_bar.beVisible()
|
|
||||||
} else {
|
} else {
|
||||||
conversations_progress_bar.beGone()
|
showOrHideProgress(false)
|
||||||
|
showOrHidePlaceholder(conversations.isEmpty())
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
getOrCreateConversationsAdapter().apply {
|
getOrCreateConversationsAdapter().apply {
|
||||||
updateConversations(sortedConversations) {
|
updateConversations(sortedConversations) {
|
||||||
if (currentList.isEmpty()) {
|
if (!cached) {
|
||||||
conversations_fastscroller.beGone()
|
showOrHidePlaceholder(currentList.isEmpty())
|
||||||
no_conversations_placeholder.text = getString(R.string.no_conversations_found)
|
|
||||||
no_conversations_placeholder.beVisible()
|
|
||||||
no_conversations_placeholder_2.beVisible()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,6 +375,24 @@ class MainActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun showOrHideProgress(show: Boolean) {
|
||||||
|
if (show) {
|
||||||
|
conversations_progress_bar.show()
|
||||||
|
no_conversations_placeholder.beVisible()
|
||||||
|
no_conversations_placeholder.text = getString(R.string.loading_messages)
|
||||||
|
} else {
|
||||||
|
conversations_progress_bar.hide()
|
||||||
|
no_conversations_placeholder.beGone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showOrHidePlaceholder(show: Boolean) {
|
||||||
|
conversations_fastscroller.beGoneIf(show)
|
||||||
|
no_conversations_placeholder.beVisibleIf(show)
|
||||||
|
no_conversations_placeholder.text = getString(R.string.no_conversations_found)
|
||||||
|
no_conversations_placeholder_2.beVisibleIf(show)
|
||||||
|
}
|
||||||
|
|
||||||
private fun fadeOutSearch() {
|
private fun fadeOutSearch() {
|
||||||
search_holder.animate().alpha(0f).setDuration(SHORT_ANIMATION_DURATION).withEndAction {
|
search_holder.animate().alpha(0f).setDuration(SHORT_ANIMATION_DURATION).withEndAction {
|
||||||
search_holder.beGone()
|
search_holder.beGone()
|
||||||
|
Reference in New Issue
Block a user