mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
update colors on every resume to avoid some weird color issues
This commit is contained in:
@ -83,7 +83,8 @@ class DialpadActivity : SimpleActivity() {
|
||||
|
||||
letter_fastscroller.textColor = config.textColor.getColorStateList()
|
||||
letter_fastscroller_thumb.setupWithFastScroller(letter_fastscroller)
|
||||
letter_fastscroller_thumb.textColor = config.primaryColor.getContrastColor()
|
||||
letter_fastscroller_thumb.textColor = getAdjustedPrimaryColor().getContrastColor()
|
||||
letter_fastscroller_thumb.thumbColor = getAdjustedPrimaryColor().getColorStateList()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
@ -35,8 +35,6 @@ import kotlinx.android.synthetic.main.fragment_recents.*
|
||||
import java.util.*
|
||||
|
||||
class MainActivity : SimpleActivity() {
|
||||
private var storedTextColor = 0
|
||||
private var storedPrimaryColor = 0
|
||||
private var isSearchOpen = false
|
||||
private var searchMenuItem: MenuItem? = null
|
||||
|
||||
@ -45,7 +43,6 @@ class MainActivity : SimpleActivity() {
|
||||
setContentView(R.layout.activity_main)
|
||||
appLaunched(BuildConfig.APPLICATION_ID)
|
||||
setupTabColors()
|
||||
storeStateVariables()
|
||||
|
||||
if (isDefaultDialer()) {
|
||||
checkContactPermissions()
|
||||
@ -65,24 +62,14 @@ class MainActivity : SimpleActivity() {
|
||||
|
||||
main_tabs_holder.setBackgroundColor(config.backgroundColor)
|
||||
|
||||
val configTextColor = config.textColor
|
||||
if (storedTextColor != configTextColor) {
|
||||
getInactiveTabIndexes(viewpager.currentItem).forEach {
|
||||
main_tabs_holder.getTabAt(it)?.icon?.applyColorFilter(configTextColor)
|
||||
main_tabs_holder.getTabAt(it)?.icon?.applyColorFilter(config.textColor)
|
||||
}
|
||||
|
||||
getAllFragments().forEach {
|
||||
it?.textColorChanged(configTextColor)
|
||||
}
|
||||
}
|
||||
|
||||
val configPrimaryColor = config.primaryColor
|
||||
if (storedPrimaryColor != configPrimaryColor) {
|
||||
main_tabs_holder.setSelectedTabIndicatorColor(adjustedPrimaryColor)
|
||||
main_tabs_holder.getTabAt(viewpager.currentItem)?.icon?.applyColorFilter(adjustedPrimaryColor)
|
||||
getAllFragments().forEach {
|
||||
it?.primaryColorChanged(configPrimaryColor)
|
||||
}
|
||||
it?.setupColors(config.textColor, config.primaryColor, getAdjustedPrimaryColor())
|
||||
}
|
||||
|
||||
if (!isSearchOpen) {
|
||||
@ -95,11 +82,6 @@ class MainActivity : SimpleActivity() {
|
||||
}, 2000)
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
storeStateVariables()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
config.lastUsedViewPagerPage = viewpager.currentItem
|
||||
@ -139,13 +121,6 @@ class MainActivity : SimpleActivity() {
|
||||
refreshItems()
|
||||
}
|
||||
|
||||
private fun storeStateVariables() {
|
||||
config.apply {
|
||||
storedTextColor = textColor
|
||||
storedPrimaryColor = primaryColor
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkContactPermissions() {
|
||||
handlePermission(PERMISSION_READ_CONTACTS) {
|
||||
initFragments()
|
||||
|
@ -2,6 +2,7 @@ package com.simplemobiletools.dialer.dialogs
|
||||
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
|
||||
import com.simplemobiletools.commons.extensions.getColorStateList
|
||||
import com.simplemobiletools.commons.extensions.getContrastColor
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
@ -21,7 +22,8 @@ class SelectContactDialog(val activity: SimpleActivity, contacts: ArrayList<Simp
|
||||
view.apply {
|
||||
letter_fastscroller.textColor = context.config.textColor.getColorStateList()
|
||||
letter_fastscroller_thumb.setupWithFastScroller(letter_fastscroller)
|
||||
letter_fastscroller_thumb.textColor = context.config.primaryColor.getContrastColor()
|
||||
letter_fastscroller_thumb.textColor = context.getAdjustedPrimaryColor().getContrastColor()
|
||||
letter_fastscroller_thumb.thumbColor = context.getAdjustedPrimaryColor().getColorStateList()
|
||||
|
||||
letter_fastscroller.setupWithRecyclerView(select_contact_list, { position ->
|
||||
try {
|
||||
|
@ -7,12 +7,13 @@ import android.util.AttributeSet
|
||||
import com.reddit.indicatorfastscroll.FastScrollItemIndicator
|
||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.helpers.MyContactsContentProvider
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
|
||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||
import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.extensions.startContactDetailsIntent
|
||||
import com.simplemobiletools.dialer.interfaces.RefreshItemsListener
|
||||
import kotlinx.android.synthetic.main.fragment_letters_layout.view.*
|
||||
@ -22,7 +23,6 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
private var allContacts = ArrayList<SimpleContact>()
|
||||
|
||||
override fun setupFragment() {
|
||||
val config = context.config
|
||||
val placeholderResId = if (context.hasPermission(PERMISSION_READ_CONTACTS)) {
|
||||
R.string.no_contacts_found
|
||||
} else {
|
||||
@ -39,7 +39,6 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
|
||||
fragment_placeholder_2.apply {
|
||||
text = context.getString(placeholderActionResId)
|
||||
setTextColor(config.primaryColor)
|
||||
underlineText()
|
||||
setOnClickListener {
|
||||
if (context.hasPermission(PERMISSION_READ_CONTACTS)) {
|
||||
@ -50,26 +49,25 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
|
||||
}
|
||||
}
|
||||
|
||||
letter_fastscroller.textColor = config.textColor.getColorStateList()
|
||||
letter_fastscroller_thumb.setupWithFastScroller(letter_fastscroller)
|
||||
letter_fastscroller_thumb.textColor = config.primaryColor.getContrastColor()
|
||||
|
||||
val adjustedPrimaryColor = context.getAdjustedPrimaryColor()
|
||||
fragment_fab.setColors(config.textColor, adjustedPrimaryColor, adjustedPrimaryColor.getContrastColor())
|
||||
fragment_fab.setOnClickListener {
|
||||
launchCreateNewIntent()
|
||||
}
|
||||
}
|
||||
|
||||
override fun textColorChanged(color: Int) {
|
||||
(fragment_list?.adapter as? MyRecyclerViewAdapter)?.updateTextColor(color)
|
||||
letter_fastscroller?.textColor = color.getColorStateList()
|
||||
}
|
||||
override fun setupColors(textColor: Int, primaryColor: Int, adjustedPrimaryColor: Int) {
|
||||
(fragment_list?.adapter as? MyRecyclerViewAdapter)?.updateTextColor(textColor)
|
||||
fragment_placeholder_2.setTextColor(primaryColor)
|
||||
|
||||
override fun primaryColorChanged(color: Int) {
|
||||
letter_fastscroller_thumb?.thumbColor = color.getColorStateList()
|
||||
letter_fastscroller_thumb?.textColor = color.getContrastColor()
|
||||
fragment_fab.background.applyColorFilter(context.getAdjustedPrimaryColor())
|
||||
letter_fastscroller.textColor = textColor.getColorStateList()
|
||||
letter_fastscroller_thumb.setupWithFastScroller(letter_fastscroller)
|
||||
letter_fastscroller_thumb.textColor = adjustedPrimaryColor.getContrastColor()
|
||||
letter_fastscroller_thumb.thumbColor = adjustedPrimaryColor.getColorStateList()
|
||||
|
||||
fragment_fab.setColors(
|
||||
textColor,
|
||||
adjustedPrimaryColor,
|
||||
adjustedPrimaryColor.getContrastColor()
|
||||
)
|
||||
}
|
||||
|
||||
override fun refreshItems() {
|
||||
|
@ -14,7 +14,6 @@ import com.simplemobiletools.commons.models.SimpleContact
|
||||
import com.simplemobiletools.dialer.R
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.adapters.ContactsAdapter
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.interfaces.RefreshItemsListener
|
||||
import kotlinx.android.synthetic.main.fragment_letters_layout.view.*
|
||||
import java.util.*
|
||||
@ -30,23 +29,17 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
||||
}
|
||||
|
||||
fragment_placeholder.text = context.getString(placeholderResId)
|
||||
|
||||
letter_fastscroller.textColor = context.config.textColor.getColorStateList()
|
||||
letter_fastscroller_thumb.setupWithFastScroller(letter_fastscroller)
|
||||
letter_fastscroller_thumb.textColor = context.config.primaryColor.getContrastColor()
|
||||
|
||||
fragment_fab.beGone()
|
||||
fragment_placeholder_2.beGone()
|
||||
}
|
||||
|
||||
override fun textColorChanged(color: Int) {
|
||||
(fragment_list?.adapter as? MyRecyclerViewAdapter)?.updateTextColor(color)
|
||||
letter_fastscroller?.textColor = color.getColorStateList()
|
||||
}
|
||||
override fun setupColors(textColor: Int, primaryColor: Int, adjustedPrimaryColor: Int) {
|
||||
(fragment_list?.adapter as? MyRecyclerViewAdapter)?.updateTextColor(textColor)
|
||||
|
||||
override fun primaryColorChanged(color: Int) {
|
||||
letter_fastscroller_thumb?.thumbColor = color.getColorStateList()
|
||||
letter_fastscroller_thumb?.textColor = color.getContrastColor()
|
||||
letter_fastscroller.textColor = textColor.getColorStateList()
|
||||
letter_fastscroller_thumb.setupWithFastScroller(letter_fastscroller)
|
||||
letter_fastscroller_thumb.textColor = adjustedPrimaryColor.getContrastColor()
|
||||
letter_fastscroller_thumb.thumbColor = adjustedPrimaryColor.getColorStateList()
|
||||
}
|
||||
|
||||
override fun refreshItems() {
|
||||
|
@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
|
||||
import com.simplemobiletools.dialer.activities.SimpleActivity
|
||||
import com.simplemobiletools.dialer.extensions.config
|
||||
import com.simplemobiletools.dialer.helpers.Config
|
||||
@ -21,6 +22,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
|
||||
this.activity = activity
|
||||
|
||||
setupFragment()
|
||||
setupColors(config.textColor, config.primaryColor, activity.getAdjustedPrimaryColor())
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,9 +33,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
|
||||
|
||||
abstract fun setupFragment()
|
||||
|
||||
abstract fun textColorChanged(color: Int)
|
||||
|
||||
abstract fun primaryColorChanged(color: Int)
|
||||
abstract fun setupColors(textColor: Int, primaryColor: Int, adjustedPrimaryColor: Int)
|
||||
|
||||
abstract fun onSearchClosed()
|
||||
|
||||
|
@ -26,9 +26,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
}
|
||||
|
||||
recents_placeholder.text = context.getString(placeholderResId)
|
||||
recents_placeholder.setTextColor(context.config.textColor)
|
||||
recents_placeholder_2.apply {
|
||||
setTextColor(context.getAdjustedPrimaryColor())
|
||||
underlineText()
|
||||
setOnClickListener {
|
||||
requestCallLogPermission()
|
||||
@ -36,15 +34,16 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
}
|
||||
}
|
||||
|
||||
override fun textColorChanged(color: Int) {
|
||||
override fun setupColors(textColor: Int, primaryColor: Int, adjustedPrimaryColor: Int) {
|
||||
recents_placeholder.setTextColor(textColor)
|
||||
recents_placeholder_2.setTextColor(adjustedPrimaryColor)
|
||||
|
||||
(recents_list?.adapter as? RecentCallsAdapter)?.apply {
|
||||
initDrawables()
|
||||
updateTextColor(color)
|
||||
updateTextColor(textColor)
|
||||
}
|
||||
}
|
||||
|
||||
override fun primaryColorChanged(color: Int) {}
|
||||
|
||||
override fun refreshItems() {
|
||||
val privateCursor = context?.getMyContactsCursor()?.loadInBackground()
|
||||
val groupSubsequentCalls = context?.config?.groupSubsequentCalls ?: false
|
||||
|
Reference in New Issue
Block a user