refactor: use isVisible instead visibility #113

Closed
septs wants to merge 2 commits from septs:is-visible into master
5 changed files with 36 additions and 39 deletions

View file

@ -16,6 +16,7 @@ import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.ProgressBar import android.widget.ProgressBar
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.viewpager2.adapter.FragmentStateAdapter import androidx.viewpager2.adapter.FragmentStateAdapter
@ -139,9 +140,9 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
private suspend fun init(fromUsbEvent: Boolean = false) { private suspend fun init(fromUsbEvent: Boolean = false) {
refreshing = true // We don't check this here -- the check happens in refresh() refreshing = true // We don't check this here -- the check happens in refresh()
loadingProgress.visibility = View.VISIBLE loadingProgress.isVisible = true
viewPager.visibility = View.GONE viewPager.isVisible = false
tabs.visibility = View.GONE tabs.isVisible = false
// Prevent concurrent access with any running foreground task // Prevent concurrent access with any running foreground task
euiccChannelManagerService.waitForForegroundTask() euiccChannelManagerService.waitForForegroundTask()
@ -178,10 +179,10 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
UsbCcidReaderFragment() UsbCcidReaderFragment()
}) })
} }
viewPager.visibility = View.VISIBLE viewPager.isVisible = true
if (newPages.size > 1) { if (newPages.size > 1) {
tabs.visibility = View.VISIBLE tabs.isVisible = true
} else if (newPages.isEmpty()) { } else if (newPages.isEmpty()) {
newPages.add(Page(-1, "") { newPages.add(Page(-1, "") {
appContainer.uiComponentFactory.createNoEuiccPlaceholderFragment() appContainer.uiComponentFactory.createNoEuiccPlaceholderFragment()
@ -193,7 +194,7 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
pages.clear() pages.clear()
pages.addAll(newPages) pages.addAll(newPages)
loadingProgress.visibility = View.GONE loadingProgress.isVisible = false
pagerAdapter.notifyDataSetChanged() pagerAdapter.notifyDataSetChanged()
// Reset the adapter so that the current view actually gets cleared // Reset the adapter so that the current view actually gets cleared
// notifyDataSetChanged() doesn't cause the current view to be removed. // notifyDataSetChanged() doesn't cause the current view to be removed.
@ -219,9 +220,9 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
if (refreshing) return if (refreshing) return
lifecycleScope.launch { lifecycleScope.launch {
refreshing = true refreshing = true
loadingProgress.visibility = View.VISIBLE loadingProgress.isVisible = true
viewPager.visibility = View.GONE viewPager.isVisible = false
tabs.visibility = View.GONE tabs.isVisible = false
pages.clear() pages.clear()
pagerAdapter.notifyDataSetChanged() pagerAdapter.notifyDataSetChanged()

View file

@ -8,6 +8,7 @@ import android.view.ViewGroup
import android.widget.ProgressBar import android.widget.ProgressBar
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
import im.angry.openeuicc.common.R import im.angry.openeuicc.common.R
@ -90,7 +91,7 @@ class ProfileRenameFragment : BaseMaterialDialogFragment(), EuiccChannelFragment
renaming = true renaming = true
progress.isIndeterminate = true progress.isIndeterminate = true
progress.visibility = View.VISIBLE progress.isVisible = true
lifecycleScope.launch { lifecycleScope.launch {
ensureEuiccChannelManager() ensureEuiccChannelManager()

View file

@ -16,6 +16,7 @@ import android.view.ViewGroup
import android.widget.Button import android.widget.Button
import android.widget.ProgressBar import android.widget.ProgressBar
import android.widget.TextView import android.widget.TextView
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.commit import androidx.fragment.app.commit
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
@ -134,22 +135,22 @@ class UsbCcidReaderFragment : Fragment(), OpenEuiccContextMarker {
} }
private suspend fun tryLoadUsbChannel() { private suspend fun tryLoadUsbChannel() {
text.visibility = View.GONE text.isVisible = false
permissionButton.visibility = View.GONE permissionButton.isVisible = false
loadingProgress.visibility = View.VISIBLE loadingProgress.isVisible = true
val (device, canOpen) = withContext(Dispatchers.IO) { val (device, canOpen) = withContext(Dispatchers.IO) {
euiccChannelManager.tryOpenUsbEuiccChannel() euiccChannelManager.tryOpenUsbEuiccChannel()
} }
loadingProgress.visibility = View.GONE loadingProgress.isVisible = false
usbDevice = device usbDevice = device
if (device != null && !canOpen && !usbManager.hasPermission(device)) { if (device != null && !canOpen && !usbManager.hasPermission(device)) {
text.text = getString(R.string.usb_permission_needed) text.text = getString(R.string.usb_permission_needed)
text.visibility = View.VISIBLE text.isVisible = true
permissionButton.visibility = View.VISIBLE permissionButton.isVisible = true
} else if (device != null && canOpen) { } else if (device != null && canOpen) {
childFragmentManager.commit { childFragmentManager.commit {
replace( replace(
@ -162,8 +163,8 @@ class UsbCcidReaderFragment : Fragment(), OpenEuiccContextMarker {
} }
} else { } else {
text.text = getString(R.string.usb_failed) text.text = getString(R.string.usb_failed)
text.visibility = View.VISIBLE text.isVisible = true
permissionButton.visibility = View.GONE permissionButton.isVisible = false
} }
} }
} }

View file

@ -8,6 +8,7 @@ import androidx.activity.OnBackPressedCallback
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import im.angry.openeuicc.common.R import im.angry.openeuicc.common.R
@ -155,7 +156,7 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
} }
override fun onInit() { override fun onInit() {
progressBar.visibility = View.GONE progressBar.isVisible = false
if (state.currentStepFragmentClassName != null) { if (state.currentStepFragmentClassName != null) {
val clazz = Class.forName(state.currentStepFragmentClassName!!) val clazz = Class.forName(state.currentStepFragmentClassName!!)
@ -179,16 +180,8 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
private fun refreshButtons() { private fun refreshButtons() {
currentFragment?.let { currentFragment?.let {
nextButton.visibility = if (it.hasNext) { nextButton.isVisible = it.hasNext
View.VISIBLE prevButton.isVisible = it.hasPrev
} else {
View.GONE
}
prevButton.visibility = if (it.hasPrev) {
View.VISIBLE
} else {
View.GONE
}
} }
} }
@ -211,12 +204,12 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
} }
protected fun hideProgressBar() { protected fun hideProgressBar() {
(requireActivity() as DownloadWizardActivity).progressBar.visibility = View.GONE (requireActivity() as DownloadWizardActivity).progressBar.isVisible = false
} }
protected fun showProgressBar(progressValue: Int) { protected fun showProgressBar(progressValue: Int) {
(requireActivity() as DownloadWizardActivity).progressBar.apply { (requireActivity() as DownloadWizardActivity).progressBar.apply {
visibility = View.VISIBLE isVisible = true
if (progressValue >= 0) { if (progressValue >= 0) {
isIndeterminate = false isIndeterminate = false
progress = progressValue progress = progressValue

View file

@ -7,6 +7,7 @@ import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.ProgressBar import android.widget.ProgressBar
import android.widget.TextView import android.widget.TextView
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@ -200,25 +201,25 @@ class DownloadWizardProgressFragment : DownloadWizardActivity.DownloadWizardStep
when (item.state) { when (item.state) {
ProgressState.NotStarted -> { ProgressState.NotStarted -> {
progressBar.visibility = View.GONE progressBar.isVisible = false
icon.visibility = View.GONE icon.isVisible = false
} }
ProgressState.InProgress -> { ProgressState.InProgress -> {
progressBar.visibility = View.VISIBLE progressBar.isVisible = true
icon.visibility = View.GONE icon.isVisible = false
} }
ProgressState.Done -> { ProgressState.Done -> {
progressBar.visibility = View.GONE progressBar.isVisible = false
icon.setImageResource(R.drawable.ic_checkmark_outline) icon.setImageResource(R.drawable.ic_checkmark_outline)
icon.visibility = View.VISIBLE icon.isVisible = true
} }
ProgressState.Error -> { ProgressState.Error -> {
progressBar.visibility = View.GONE progressBar.isVisible = false
icon.setImageResource(R.drawable.ic_error_outline) icon.setImageResource(R.drawable.ic_error_outline)
icon.visibility = View.VISIBLE icon.isVisible = true
} }
} }
} }