updating commons with some style improvements

This commit is contained in:
tibbi 2022-07-10 19:44:10 +02:00
parent 97acb89218
commit 84a59d6c22
17 changed files with 942 additions and 829 deletions

View file

@ -12,8 +12,6 @@ import android.graphics.drawable.LayerDrawable
import android.net.Uri
import android.os.Bundle
import android.provider.Telephony
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
import com.simplemobiletools.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.*
@ -55,6 +53,7 @@ class MainActivity : SimpleActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
appLaunched(BuildConfig.APPLICATION_ID)
setupOptionsMenu()
if (checkAppSideloading()) {
return
@ -88,6 +87,7 @@ class MainActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
setupToolbar(main_toolbar)
if (storedTextColor != getProperTextColor()) {
(conversations_list.adapter as? ConversationsAdapter)?.updateTextColor(getProperTextColor())
}
@ -116,22 +116,18 @@ class MainActivity : SimpleActivity() {
bus?.unregister(this)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_main, menu)
updateMenuItemColors(menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.search -> launchSearch()
R.id.settings -> launchSettings()
R.id.export_messages -> tryToExportMessages()
R.id.import_messages -> tryImportMessages()
R.id.about -> launchAbout()
else -> return super.onOptionsItemSelected(item)
private fun setupOptionsMenu() {
main_toolbar.setOnMenuItemClickListener { menuItem ->
when (menuItem.itemId) {
R.id.search -> launchSearch()
R.id.settings -> launchSettings()
R.id.export_messages -> tryToExportMessages()
R.id.import_messages -> tryImportMessages()
R.id.about -> launchAbout()
else -> return@setOnMenuItemClickListener false
}
return@setOnMenuItemClickListener true
}
return true
}
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {

View file

@ -3,16 +3,12 @@ package com.simplemobiletools.smsmessenger.activities
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.Menu
import android.view.WindowManager
import com.google.gson.Gson
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.commons.models.SimpleContact
import com.simplemobiletools.smsmessenger.R
@ -46,15 +42,11 @@ class NewConversationActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
setupToolbar(new_conversation_toolbar, NavigationIcon.Arrow)
no_contacts_placeholder_2.setTextColor(getProperPrimaryColor())
no_contacts_placeholder_2.underlineText()
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
updateMenuItemColors(menu)
return super.onCreateOptionsMenu(menu)
}
private fun initContacts() {
if (isThirdPartyIntent()) {
return

View file

@ -37,12 +37,12 @@ class SearchActivity : SimpleActivity() {
updateTextColors(search_holder)
search_placeholder.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
search_placeholder_2.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
setupSearch(search_toolbar.menu)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_search, menu)
setupSearch(menu)
return true
override fun onResume() {
super.onResume()
setupToolbar(search_toolbar, searchMenuItem = mSearchMenuItem)
}
private fun setupSearch(menu: Menu) {

View file

@ -4,7 +4,6 @@ import android.annotation.TargetApi
import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.view.Menu
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
@ -27,6 +26,7 @@ class SettingsActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
setupToolbar(settings_toolbar, NavigationIcon.Arrow)
setupPurchaseThankYou()
setupCustomizeColors()
@ -42,7 +42,7 @@ class SettingsActivity : SimpleActivity() {
setupGroupMessageAsMMS()
setupLockScreenVisibility()
setupMMSFileSizeLimit()
updateTextColors(settings_scrollview)
updateTextColors(settings_nested_scrollview)
if (blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode()) {
refreshMessages()
@ -67,11 +67,6 @@ class SettingsActivity : SimpleActivity() {
blockedNumbersAtPause = getBlockedNumbers().hashCode()
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
updateMenuItemColors(menu)
return super.onCreateOptionsMenu(menu)
}
private fun setupPurchaseThankYou() {
settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled())

View file

@ -16,7 +16,9 @@ import android.telephony.SmsMessage
import android.telephony.SubscriptionManager
import android.text.TextUtils
import android.util.TypedValue
import android.view.*
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.view.inputmethod.EditorInfo
import android.widget.LinearLayout
import android.widget.LinearLayout.LayoutParams
@ -84,6 +86,8 @@ class ThreadActivity : SimpleActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_thread)
setupOptionsMenu()
refreshMenuItems()
val extras = intent.extras
if (extras == null) {
@ -95,7 +99,7 @@ class ThreadActivity : SimpleActivity() {
clearAllMessagesIfNeeded()
threadId = intent.getLongExtra(THREAD_ID, 0L)
intent.getStringExtra(THREAD_TITLE)?.let {
supportActionBar?.title = it
thread_toolbar.title = it
}
bus = EventBus.getDefault()
@ -123,6 +127,7 @@ class ThreadActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
setupToolbar(thread_toolbar, NavigationIcon.Arrow)
val smsDraft = getSmsDraft(threadId)
if (smsDraft != null) {
@ -150,10 +155,9 @@ class ThreadActivity : SimpleActivity() {
bus?.unregister(this)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_thread, menu)
private fun refreshMenuItems() {
val firstPhoneNumber = participants.firstOrNull()?.phoneNumbers?.firstOrNull()?.value
menu.apply {
thread_toolbar.menu.apply {
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
findItem(R.id.block_number).isVisible = isNougatPlus()
findItem(R.id.dial_number).isVisible = participants.size == 1
@ -164,27 +168,25 @@ class ThreadActivity : SimpleActivity() {
it.isDigit()
}
}
updateMenuItemColors(menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (participants.isEmpty()) {
return true
}
private fun setupOptionsMenu() {
thread_toolbar.setOnMenuItemClickListener { menuItem ->
if (participants.isEmpty()) {
return@setOnMenuItemClickListener true
}
when (item.itemId) {
R.id.block_number -> blockNumber()
R.id.delete -> askConfirmDelete()
R.id.add_number_to_contact -> addNumberToContact()
R.id.dial_number -> dialNumber()
R.id.manage_people -> managePeople()
R.id.mark_as_unread -> markAsUnread()
android.R.id.home -> onHomePressed()
else -> return super.onOptionsItemSelected(item)
when (menuItem.itemId) {
R.id.block_number -> blockNumber()
R.id.delete -> askConfirmDelete()
R.id.add_number_to_contact -> addNumberToContact()
R.id.dial_number -> dialNumber()
R.id.manage_people -> managePeople()
R.id.mark_as_unread -> markAsUnread()
else -> return@setOnMenuItemClickListener false
}
return@setOnMenuItemClickListener true
}
return true
}
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
@ -320,9 +322,10 @@ class ThreadActivity : SimpleActivity() {
private fun setupAdapter() {
threadItems = getThreadItems()
invalidateOptionsMenu()
runOnUiThread {
refreshMenuItems()
val currAdapter = thread_messages_list.adapter
if (currAdapter == null) {
ThreadAdapter(this, threadItems, thread_messages_list) {
@ -514,7 +517,7 @@ class ThreadActivity : SimpleActivity() {
private fun setupThreadTitle() {
val threadTitle = participants.getThreadTitle()
if (threadTitle.isNotEmpty()) {
supportActionBar?.title = participants.getThreadTitle()
thread_toolbar.title = participants.getThreadTitle()
}
}
@ -831,7 +834,7 @@ class ThreadActivity : SimpleActivity() {
}
private fun checkSendMessageAvailability() {
if (thread_type_message.text.isNotEmpty() || (attachmentSelections.isNotEmpty() && !attachmentSelections.values.any { it.isPending })) {
if (thread_type_message.text!!.isNotEmpty() || (attachmentSelections.isNotEmpty() && !attachmentSelections.values.any { it.isPending })) {
thread_send_message.isClickable = true
thread_send_message.alpha = 0.9f
} else {

View file

@ -22,31 +22,30 @@ class ExportMessagesDialog(
init {
val view = (activity.layoutInflater.inflate(R.layout.dialog_export_messages, null) as ViewGroup).apply {
export_messages_folder.text = activity.humanizePath(realPath)
export_messages_folder.setText(activity.humanizePath(realPath))
export_messages_filename.setText("${activity.getString(R.string.messages)}_${activity.getCurrentFormattedDateTime()}")
export_sms_checkbox.isChecked = config.exportSms
export_mms_checkbox.isChecked = config.exportMms
if (hidePath) {
export_messages_folder_label.beGone()
export_messages_folder.beGone()
export_messages_folder_hint.beGone()
} else {
export_messages_folder.setOnClickListener {
activity.hideKeyboard(export_messages_filename)
FilePickerDialog(activity, realPath, false, showFAB = true) {
export_messages_folder.text = activity.humanizePath(it)
export_messages_folder.setText(activity.humanizePath(it))
realPath = it
}
}
}
}
AlertDialog.Builder(activity)
activity.getAlertDialogBuilder()
.setPositiveButton(R.string.ok, null)
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this, R.string.export_messages) {
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
.apply {
activity.setupDialogStuff(view, this, R.string.export_messages) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
val filename = view.export_messages_filename.value
when {
filename.isEmpty() -> activity.toast(R.string.empty_name)
@ -66,7 +65,7 @@ class ExportMessagesDialog(
config.exportMms = view.export_mms_checkbox.isChecked
config.lastExportPath = file.absolutePath.getParentPath()
callback(file)
dismiss()
alertDialog.dismiss()
}
else -> activity.toast(R.string.invalid_name)
}

View file

@ -2,6 +2,7 @@ package com.simplemobiletools.smsmessenger.dialogs
import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
@ -27,12 +28,12 @@ class ImportMessagesDialog(
import_mms_checkbox.isChecked = config.importMms
}
AlertDialog.Builder(activity)
activity.getAlertDialogBuilder()
.setPositiveButton(R.string.ok, null)
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this, R.string.import_messages) {
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
.apply {
activity.setupDialogStuff(view, this, R.string.import_messages) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
if (ignoreClicks) {
return@setOnClickListener
}
@ -49,7 +50,7 @@ class ImportMessagesDialog(
ensureBackgroundThread {
MessagesImporter(activity).importMessages(path) {
handleParseResult(it)
dismiss()
alertDialog.dismiss()
}
}
}

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.smsmessenger.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.R
import kotlinx.android.synthetic.main.dialog_select_text.view.*
@ -13,9 +13,9 @@ class SelectTextDialog(val activity: BaseSimpleActivity, val text: String) {
dialog_select_text_value.text = text
}
AlertDialog.Builder(activity)
activity.getAlertDialogBuilder()
.setPositiveButton(R.string.ok) { dialog, which -> { } }
.create().apply {
.apply {
activity.setupDialogStuff(view, this)
}
}