From 4fb2b80ff91814567c70734f0105a92bf326d67a Mon Sep 17 00:00:00 2001 From: septs Date: Fri, 13 Dec 2024 21:16:43 +0800 Subject: [PATCH 1/2] refactor: use isVisible replace visibility --- .../im/angry/openeuicc/ui/MainActivity.kt | 19 ++++++++++--------- .../openeuicc/ui/ProfileRenameFragment.kt | 3 ++- .../openeuicc/ui/UsbCcidReaderFragment.kt | 17 +++++++++-------- .../ui/wizard/DownloadWizardActivity.kt | 17 +++++------------ .../wizard/DownloadWizardProgressFragment.kt | 17 +++++++++-------- 5 files changed, 35 insertions(+), 38 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt index 767e7e0..6497ac3 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt @@ -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() diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileRenameFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileRenameFragment.kt index 8582278..7ce0915 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileRenameFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileRenameFragment.kt @@ -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() diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/UsbCcidReaderFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/UsbCcidReaderFragment.kt index 7a52ca0..671707b 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/UsbCcidReaderFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/UsbCcidReaderFragment.kt @@ -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 } } } \ No newline at end of file diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt index 6d810cf..f50600e 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt @@ -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,7 +204,7 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() { } protected fun hideProgressBar() { - (requireActivity() as DownloadWizardActivity).progressBar.visibility = View.GONE + (requireActivity() as DownloadWizardActivity).progressBar.isVisible = false } protected fun showProgressBar(progressValue: Int) { diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt index 1b816d4..0ac411c 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt @@ -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 } } } -- 2.45.3 From 09855a64f0a0dbc7ade236bae2328b8c5fcd7926 Mon Sep 17 00:00:00 2001 From: septs Date: Sat, 14 Dec 2024 21:55:26 +0800 Subject: [PATCH 2/2] refactor: use isVisible replace visibility --- .../java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt index f50600e..64d09a2 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt @@ -209,7 +209,7 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() { protected fun showProgressBar(progressValue: Int) { (requireActivity() as DownloadWizardActivity).progressBar.apply { - visibility = View.VISIBLE + isVisible = true if (progressValue >= 0) { isIndeterminate = false progress = progressValue -- 2.45.3