From 122a72296ce5a7c166f98b0efd0f7c6e255cc785 Mon Sep 17 00:00:00 2001 From: septs Date: Sun, 16 Mar 2025 23:29:57 +0800 Subject: [PATCH] feat: improve low nvram estimate --- .../ui/wizard/DownloadWizardSlotSelectFragment.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardSlotSelectFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardSlotSelectFragment.kt index 28bc9f0..d41ff7e 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardSlotSelectFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardSlotSelectFragment.kt @@ -23,8 +23,7 @@ import net.typeblog.lpac_jni.LocalProfileInfo class DownloadWizardSlotSelectFragment : DownloadWizardActivity.DownloadWizardStepFragment() { companion object { - const val LOW_NVRAM_THRESHOLD = - 30 * 1024 // < 30 KiB, alert about potential download failure + const val TYPICAL_PROFILE_SIZE = 40 * 1024 // 40 KiB } private data class SlotInfo( @@ -36,6 +35,7 @@ class DownloadWizardSlotSelectFragment : DownloadWizardActivity.DownloadWizardSt val freeSpace: Int, val imei: String, val enabledProfileName: String?, + val profileCount: Int, val intrinsicChannelName: String?, ) @@ -60,7 +60,13 @@ class DownloadWizardSlotSelectFragment : DownloadWizardActivity.DownloadWizardSt override fun beforeNext() { super.beforeNext() - if (adapter.selected.freeSpace < LOW_NVRAM_THRESHOLD) { + val lowThreshold = adapter.selected + // freeSpace + (profileCount * TYPICAL_PROFILE_SIZE) + .let { it.freeSpace + (it.profileCount * TYPICAL_PROFILE_SIZE) } + .times(0.25) // 25% overhead + .toInt() + + if (adapter.selected.freeSpace < lowThreshold) { val activity = requireActivity() AlertDialog.Builder(requireContext()).apply { @@ -116,6 +122,7 @@ class DownloadWizardSlotSelectFragment : DownloadWizardActivity.DownloadWizardSt "" }, channel.lpa.profiles.enabled?.displayName, + channel.lpa.profiles.size, channel.intrinsicChannelName, ) } -- 2.45.3