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