moving the top search related code to Commons

This commit is contained in:
tibbi 2023-01-03 23:36:40 +01:00
parent d61b04f662
commit 2be979e740
7 changed files with 13 additions and 128 deletions

View file

@ -33,7 +33,6 @@ import com.simplemobiletools.smsmessenger.models.Events
import com.simplemobiletools.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.models.SearchResult
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.menu_search.view.*
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ -139,7 +138,7 @@ class MainActivity : SimpleActivity() {
}
private fun setupOptionsMenu() {
main_menu.top_toolbar.inflateMenu(R.menu.menu_main)
main_menu.getToolbar().inflateMenu(R.menu.menu_main)
main_menu.setupMenu()
main_menu.onSearchOpenListener = {
search_holder.fadeIn()
@ -159,7 +158,7 @@ class MainActivity : SimpleActivity() {
searchTextChanged(text)
}
main_menu.top_toolbar.setOnMenuItemClickListener { menuItem ->
main_menu.getToolbar().setOnMenuItemClickListener { menuItem ->
when (menuItem.itemId) {
R.id.import_messages -> tryImportMessages()
R.id.export_messages -> tryToExportMessages()
@ -173,7 +172,7 @@ class MainActivity : SimpleActivity() {
}
private fun refreshMenuItems() {
main_menu.top_toolbar.menu.apply {
main_menu.getToolbar().menu.apply {
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(R.bool.hide_google_relations)
}
}

View file

@ -1,71 +0,0 @@
package com.simplemobiletools.smsmessenger.views
import android.app.Activity
import android.content.Context
import android.util.AttributeSet
import com.google.android.material.appbar.AppBarLayout
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.LOWER_ALPHA
import com.simplemobiletools.commons.helpers.MEDIUM_ALPHA
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import kotlinx.android.synthetic.main.menu_search.view.*
class MySearchMenu(context: Context, attrs: AttributeSet) : AppBarLayout(context, attrs) {
var isSearchOpen = false
var onSearchOpenListener: (() -> Unit)? = null
var onSearchClosedListener: (() -> Unit)? = null
var onSearchTextChangedListener: ((text: String) -> Unit)? = null
init {
inflate(context, R.layout.menu_search, this)
}
fun setupMenu() {
top_toolbar_search_icon.setOnClickListener {
if (isSearchOpen) {
closeSearch()
} else {
top_toolbar_search.requestFocus()
(context as? Activity)?.showKeyboard(top_toolbar_search)
}
}
top_toolbar_search.setOnFocusChangeListener { v, hasFocus ->
if (hasFocus) {
openSearch()
}
}
top_toolbar_search.onTextChangeListener {
onSearchTextChangedListener?.invoke(it)
}
}
private fun openSearch() {
isSearchOpen = true
onSearchOpenListener?.invoke()
top_toolbar_search_icon.setImageResource(R.drawable.ic_arrow_left_vector)
}
fun closeSearch() {
isSearchOpen = false
onSearchClosedListener?.invoke()
top_toolbar_search.setText("")
top_toolbar_search_icon.setImageResource(R.drawable.ic_search_vector)
(context as? Activity)?.hideKeyboard()
}
fun updateColors() {
val backgroundColor = context.getProperBackgroundColor()
val contrastColor = backgroundColor.getContrastColor()
setBackgroundColor(backgroundColor)
top_app_bar_layout.setBackgroundColor(backgroundColor)
top_toolbar_search_icon.applyColorFilter(contrastColor)
top_toolbar_holder.background?.applyColorFilter(context.getProperPrimaryColor().adjustAlpha(LOWER_ALPHA))
top_toolbar_search.setTextColor(contrastColor)
top_toolbar_search.setHintTextColor(contrastColor.adjustAlpha(MEDIUM_ALPHA))
(context as? SimpleActivity)?.updateTopBarColors(top_toolbar, backgroundColor)
}
}