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

View file

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

View file

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

View file

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

View file

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