show a placeholder text on the main screen, if there are no conversations

This commit is contained in:
tibbi 2020-04-13 15:22:36 +02:00
parent b717f415b2
commit 2d1df0322f
3 changed files with 53 additions and 9 deletions

View File

@ -8,9 +8,7 @@ import android.os.Bundle
import android.provider.Telephony
import android.view.Menu
import android.view.MenuItem
import com.simplemobiletools.commons.extensions.appLaunched
import com.simplemobiletools.commons.extensions.checkAppSideloading
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.FAQItem
import com.simplemobiletools.smsmessenger.BuildConfig
@ -60,12 +58,6 @@ class MainActivity : SimpleActivity() {
startActivityForResult(intent, MAKE_DEFAULT_APP_REQUEST)
}
}
conversations_fab.setOnClickListener {
Intent(this, NewMessageActivity::class.java).apply {
startActivity(this)
}
}
}
override fun onResume() {
@ -75,6 +67,8 @@ class MainActivity : SimpleActivity() {
}
updateTextColors(main_coordinator)
no_conversations_placeholder_2.setTextColor(getAdjustedPrimaryColor())
no_conversations_placeholder_2.underlineText()
}
override fun onPause() {
@ -142,6 +136,10 @@ class MainActivity : SimpleActivity() {
ensureBackgroundThread {
val conversations = getConversations()
runOnUiThread {
conversations_list.beVisibleIf(conversations.isNotEmpty())
no_conversations_placeholder.beVisibleIf(conversations.isEmpty())
no_conversations_placeholder_2.beVisibleIf(conversations.isEmpty())
ConversationsAdapter(this, conversations, conversations_list, conversations_fastscroller) {
Intent(this, ThreadActivity::class.java).apply {
putExtra(THREAD_ID, (it as Conversation).id)
@ -153,6 +151,21 @@ class MainActivity : SimpleActivity() {
}
}
}
no_conversations_placeholder_2.setOnClickListener {
launchNewConversation()
}
conversations_fab.setOnClickListener {
launchNewConversation()
}
}
private fun launchNewConversation() {
Intent(this, NewMessageActivity::class.java).apply {
startActivity(this)
}
}
private fun launchSettings() {

View File

@ -105,6 +105,9 @@ class ConversationsAdapter(
finishActMode()
} else {
removeSelectedItems(positions)
if (conversations.isEmpty()) {
refreshMessages()
}
}
}
}

View File

@ -10,6 +10,34 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/no_conversations_placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/bigger_margin"
android:alpha="0.8"
android:gravity="center"
android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/activity_margin"
android:text="@string/no_conversations_found"
android:textSize="@dimen/bigger_text_size"
android:textStyle="italic"
android:visibility="gone" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/no_conversations_placeholder_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/no_conversations_placeholder"
android:layout_centerHorizontal="true"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:padding="@dimen/activity_margin"
android:text="@string/start_conversation"
android:textSize="@dimen/bigger_text_size"
android:visibility="gone" />
<com.simplemobiletools.commons.views.MyRecyclerView
android:id="@+id/conversations_list"
android:layout_width="match_parent"