srctree

Roee Hershberg parent c6045aa2 d091f477
Replace ResourcesCompat with ContextCompat

This eliminates the need for a "theme" attribute with the value of nullin getColor method.

inlinesplit
atox/src/main/kotlin/ui/ReceiveShareDialog.kt added: 39, removed: 40, total 0
@@ -37,7 +37,7 @@ class ReceiveShareDialog(
binding.sharingText.text = String.format("%s", sharePreview.truncated(SHARE_TEXT_PREVIEW_LENGTH))
 
binding.contacts.let {
it.adapter = ContactAdapter(layoutInflater, context.resources).apply {
it.adapter = ContactAdapter(layoutInflater, context).apply {
contacts = this@ReceiveShareDialog.contacts
notifyDataSetChanged()
}
 
atox/src/main/kotlin/ui/Util.kt added: 39, removed: 40, total 0
@@ -4,24 +4,24 @@
 
package ltd.evilcorp.atox.ui
 
import android.content.Context
import android.content.res.Resources
import android.util.TypedValue
import androidx.core.content.res.ResourcesCompat
import androidx.core.content.ContextCompat
import ltd.evilcorp.atox.R
import ltd.evilcorp.core.vo.ConnectionStatus
import ltd.evilcorp.core.vo.Contact
import ltd.evilcorp.core.vo.UserStatus
 
internal fun colorByStatus(resources: Resources, contact: Contact): Int {
if (contact.connectionStatus == ConnectionStatus.None) return ResourcesCompat.getColor(
resources,
internal fun colorByStatus(context: Context, contact: Contact): Int {
if (contact.connectionStatus == ConnectionStatus.None) return ContextCompat.getColor(
context,
R.color.statusOffline,
null
)
return when (contact.status) {
UserStatus.None -> ResourcesCompat.getColor(resources, R.color.statusAvailable, null)
UserStatus.Away -> ResourcesCompat.getColor(resources, R.color.statusAway, null)
UserStatus.Busy -> ResourcesCompat.getColor(resources, R.color.statusBusy, null)
UserStatus.None -> ContextCompat.getColor(context, R.color.statusAvailable)
UserStatus.Away -> ContextCompat.getColor(context, R.color.statusAway)
UserStatus.Busy -> ContextCompat.getColor(context, R.color.statusBusy)
}
}
 
 
atox/src/main/kotlin/ui/chat/ChatFragment.kt added: 39, removed: 40, total 0
@@ -20,9 +20,9 @@ import android.view.View
import android.widget.AdapterView
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider
import androidx.core.content.getSystemService
import androidx.core.content.res.ResourcesCompat
import androidx.core.os.bundleOf
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsAnimationCompat
@@ -188,7 +188,7 @@ class ChatFragment : BaseFragment<FragmentChatBinding>(FragmentChatBinding::infl
else -> DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT).format(it.lastMessage)
}.lowercase(Locale.getDefault())
 
profileLayout.statusIndicator.setColorFilter(colorByStatus(resources, it))
profileLayout.statusIndicator.setColorFilter(colorByStatus(requireContext(), it))
AvatarFactory(it).assignInto(profileLayout.profileImage)
 
if (it.draftMessage.isNotEmpty() && outgoingMessage.text.isEmpty()) {
@@ -398,10 +398,9 @@ class ChatFragment : BaseFragment<FragmentChatBinding>(FragmentChatBinding::infl
attach.visibility = if (send.visibility == View.VISIBLE) View.GONE else View.VISIBLE
attach.isEnabled = viewModel.contactOnline
attach.setColorFilter(
ResourcesCompat.getColor(
resources,
ContextCompat.getColor(
requireContext(),
if (attach.isEnabled) R.color.colorPrimary else android.R.color.darker_gray,
null
)
)
}
 
atox/src/main/kotlin/ui/contact_profile/ContactProfileFragment.kt added: 39, removed: 40, total 0
@@ -42,7 +42,7 @@ class ContactProfileFragment : BaseFragment<FragmentContactProfileBinding>(Fragm
 
headerMainText.text = contact.name
AvatarFactory(contact).assignInto(profileLayout.profileImage)
profileLayout.statusIndicator.setColorFilter(colorByStatus(resources, contact))
profileLayout.statusIndicator.setColorFilter(colorByStatus(requireContext(), contact))
 
contactPublicKey.text = contact.publicKey
contactName.text = contact.name
 
atox/src/main/kotlin/ui/contactlist/ContactAdapter.kt added: 39, removed: 40, total 0
@@ -4,14 +4,14 @@
 
package ltd.evilcorp.atox.ui.contactlist
 
import android.content.res.Resources
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.core.content.ContextCompat
import java.text.DateFormat
import ltd.evilcorp.atox.R
import ltd.evilcorp.atox.databinding.ContactListViewItemBinding
@@ -30,7 +30,7 @@ private val types = ContactListItemType.values()
 
class ContactAdapter(
private val inflater: LayoutInflater,
private val resources: Resources
private val context: Context
) : BaseAdapter() {
var friendRequests: List<FriendRequest> = listOf()
var contacts: List<Contact> = listOf()
@@ -84,7 +84,7 @@ class ContactAdapter(
}
 
contacts[position - friendRequests.size].run {
name = name.ifEmpty { resources.getString(R.string.contact_default_name) }
name = name.ifEmpty { context.getString(R.string.contact_default_name) }
 
val shortId = publicKey.take(8)
vh.publicKey.text = String.format("%s %s", shortId.take(4), shortId.takeLast(4))
@@ -93,17 +93,17 @@ class ContactAdapter(
DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT)
.format(lastMessage)
} else {
resources.getText(R.string.never)
context.getText(R.string.never)
}
when {
typing -> {
vh.statusMessage.text = resources.getString(R.string.contact_typing)
vh.statusMessage.text = context.getString(R.string.contact_typing)
vh.statusMessage.setTextColor(vh.lastMessage.currentTextColor)
}
draftMessage.isNotEmpty() -> {
vh.statusMessage.text = resources.getString(R.string.draft_message, draftMessage)
vh.statusMessage.text = context.getString(R.string.draft_message, draftMessage)
vh.statusMessage.setTextColor(
ResourcesCompat.getColor(resources, R.color.colorAccent, null)
ContextCompat.getColor(context, R.color.colorAccent)
)
}
else -> {
@@ -111,7 +111,7 @@ class ContactAdapter(
vh.statusMessage.setTextColor(vh.lastMessage.currentTextColor)
}
}
vh.status.setColorFilter(colorByStatus(resources, this))
vh.status.setColorFilter(colorByStatus(context, this))
AvatarFactory(this).assignInto(vh.image)
vh.unreadIndicator.visibility = if (hasUnreadMessages) {
View.VISIBLE
 
atox/src/main/kotlin/ui/contactlist/ContactListFragment.kt added: 39, removed: 40, total 0
@@ -22,7 +22,7 @@ import androidx.activity.addCallback
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.ActionBarDrawerToggle
import androidx.appcompat.app.AlertDialog
import androidx.core.content.res.ResourcesCompat
import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf
import androidx.core.view.GravityCompat
import androidx.core.view.ViewCompat
@@ -76,9 +76,9 @@ class ContactListFragment :
}
 
private fun colorFromStatus(status: UserStatus) = when (status) {
UserStatus.None -> ResourcesCompat.getColor(resources, R.color.statusAvailable, null)
UserStatus.Away -> ResourcesCompat.getColor(resources, R.color.statusAway, null)
UserStatus.Busy -> ResourcesCompat.getColor(resources, R.color.statusBusy, null)
UserStatus.None -> ContextCompat.getColor(requireContext(), R.color.statusAvailable)
UserStatus.Away -> ContextCompat.getColor(requireContext(), R.color.statusAway)
UserStatus.Busy -> ContextCompat.getColor(requireContext(), R.color.statusBusy)
}
 
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
@@ -125,7 +125,7 @@ class ContactListFragment :
 
navView.setNavigationItemSelectedListener(this@ContactListFragment)
 
val contactAdapter = ContactAdapter(layoutInflater, resources)
val contactAdapter = ContactAdapter(layoutInflater, requireContext())
contactList.adapter = contactAdapter
registerForContextMenu(contactList)
 
 
atox/src/main/kotlin/ui/user_profile/UserProfileFragment.kt added: 39, removed: 40, total 0
@@ -20,8 +20,8 @@ import android.widget.EditText
import android.widget.ImageView
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.core.content.res.ResourcesCompat
import androidx.core.graphics.scale
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
@@ -52,9 +52,9 @@ class UserProfileFragment : BaseFragment<FragmentUserProfileBinding>(FragmentUse
private lateinit var currentStatus: UserStatus
 
private fun colorFromStatus(status: UserStatus) = when (status) {
UserStatus.None -> ResourcesCompat.getColor(resources, R.color.statusAvailable, null)
UserStatus.Away -> ResourcesCompat.getColor(resources, R.color.statusAway, null)
UserStatus.Busy -> ResourcesCompat.getColor(resources, R.color.statusBusy, null)
UserStatus.None -> ContextCompat.getColor(requireContext(), R.color.statusAvailable)
UserStatus.Away -> ContextCompat.getColor(requireContext(), R.color.statusAway)
UserStatus.Busy -> ContextCompat.getColor(requireContext(), R.color.statusBusy)
}
 
override fun onViewCreated(view: View, savedInstanceState: Bundle?) = binding.run {