From ca80cca4c9d2b7fe02c725d5f8edb4ccc4b5587d Mon Sep 17 00:00:00 2001 From: septs Date: Wed, 13 Nov 2024 22:43:22 +0800 Subject: [PATCH 01/10] feat: low nvram alert --- .../openeuicc/ui/ProfileDownloadFragment.kt | 18 ++++++++++++++++-- app-common/src/main/res/values/strings.xml | 4 ++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 69ad1d0..0988430 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -1,6 +1,7 @@ package im.angry.openeuicc.ui import android.annotation.SuppressLint +import android.app.AlertDialog import android.app.Dialog import android.content.DialogInterface import android.graphics.BitmapFactory @@ -25,7 +26,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import kotlin.Exception class ProfileDownloadFragment : BaseMaterialDialogFragment(), Toolbar.OnMenuItemClickListener, EuiccChannelFragmentMarker { @@ -135,7 +135,21 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), true } R.id.ok -> { - startDownloadProfile() + val threshold = resources.getInteger(R.integer.profile_download_nvram_threshold) + if (freeNvram < threshold) { + AlertDialog.Builder(requireContext()).apply { + setTitle(R.string.profile_download_failed_warning_title) + setMessage(R.string.profile_download_failed_warning_message) + setIcon(android.R.drawable.ic_dialog_alert) + setPositiveButton(android.R.string.ok) { _, _ -> + startDownloadProfile() + } + setNegativeButton(android.R.string.cancel, null) + show() + } + } else { + startDownloadProfile() + } true } else -> false diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index cc8f220..27a4dac 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -55,6 +55,10 @@ Download Failed to download eSIM. Check your activation / QR code. + This download may be failed + This download may fail due to low remaining capacity. + 10240 + New nickname Are you sure you want to delete the profile %s? This operation is irreversible. -- 2.45.3 From 92bccce82b8fb52b605e5239afe2b4211cb7990c Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 05:50:29 +0800 Subject: [PATCH 02/10] feat: low nvram alert --- app-common/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index 27a4dac..876df87 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -55,7 +55,7 @@ Download Failed to download eSIM. Check your activation / QR code. - This download may be failed + This download may fail This download may fail due to low remaining capacity. 10240 -- 2.45.3 From c51294c1204d04b5e2015e7355863fc181243e08 Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 06:18:22 +0800 Subject: [PATCH 03/10] chore: minimum threshold increased to 30 kib --- app-common/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index 876df87..5db73eb 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -57,7 +57,7 @@ This download may fail This download may fail due to low remaining capacity. - 10240 + 30720 New nickname -- 2.45.3 From 3097f9d0b8214905fbb275576004c97829d1d28c Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 06:20:00 +0800 Subject: [PATCH 04/10] chore: split integers into separate files --- app-common/src/main/res/values/integers.xml | 4 ++++ app-common/src/main/res/values/strings.xml | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 app-common/src/main/res/values/integers.xml diff --git a/app-common/src/main/res/values/integers.xml b/app-common/src/main/res/values/integers.xml new file mode 100644 index 0000000..7f1c8fb --- /dev/null +++ b/app-common/src/main/res/values/integers.xml @@ -0,0 +1,4 @@ + + + 30720 + \ No newline at end of file diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index 5db73eb..b8f02d0 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -57,7 +57,6 @@ This download may fail This download may fail due to low remaining capacity. - 30720 New nickname -- 2.45.3 From b59befb1d092c2b0d6a9d31b00e4c1f722049f9f Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 07:08:00 +0800 Subject: [PATCH 05/10] chore: rename strings id --- .../java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt | 4 ++-- app-common/src/main/res/values/strings.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 0988430..6861ac2 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -138,8 +138,8 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), val threshold = resources.getInteger(R.integer.profile_download_nvram_threshold) if (freeNvram < threshold) { AlertDialog.Builder(requireContext()).apply { - setTitle(R.string.profile_download_failed_warning_title) - setMessage(R.string.profile_download_failed_warning_message) + setTitle(R.string.profile_download_may_fail_title) + setMessage(R.string.profile_download_may_fail_message) setIcon(android.R.drawable.ic_dialog_alert) setPositiveButton(android.R.string.ok) { _, _ -> startDownloadProfile() diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index b8f02d0..c535211 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -55,8 +55,8 @@ Download Failed to download eSIM. Check your activation / QR code. - This download may fail - This download may fail due to low remaining capacity. + This download may fail + This download may fail due to low remaining capacity. New nickname -- 2.45.3 From 8f305581afa7442c4a9fbf51c575af0399706866 Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 07:10:42 +0800 Subject: [PATCH 06/10] chore: invert if --- .../java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 6861ac2..494313b 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -136,7 +136,9 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), } R.id.ok -> { val threshold = resources.getInteger(R.integer.profile_download_nvram_threshold) - if (freeNvram < threshold) { + if (freeNvram > threshold) { + startDownloadProfile() + } else { AlertDialog.Builder(requireContext()).apply { setTitle(R.string.profile_download_may_fail_title) setMessage(R.string.profile_download_may_fail_message) @@ -147,8 +149,6 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), setNegativeButton(android.R.string.cancel, null) show() } - } else { - startDownloadProfile() } true } -- 2.45.3 From 0e1082dc3b071a6d3164507e4dcd68bc0371826b Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 10:09:59 +0800 Subject: [PATCH 07/10] chore: allow cancelable --- .../main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 494313b..639b162 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -143,6 +143,7 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), setTitle(R.string.profile_download_may_fail_title) setMessage(R.string.profile_download_may_fail_message) setIcon(android.R.drawable.ic_dialog_alert) + setCancelable(true) setPositiveButton(android.R.string.ok) { _, _ -> startDownloadProfile() } -- 2.45.3 From 089bd49aeab4bcc5f46e2c895b8b2afd17151832 Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 10:13:15 +0800 Subject: [PATCH 08/10] chore: remove integers.xml --- .../java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt | 5 +++-- app-common/src/main/res/values/integers.xml | 4 ---- 2 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 app-common/src/main/res/values/integers.xml diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 639b162..071a418 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -32,6 +32,8 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), companion object { const val TAG = "ProfileDownloadFragment" + const val NVRAM_THRESHOLD = 30 * 1024 // < 30 KiB, the alert may fail + fun newInstance(slotId: Int, portId: Int, finishWhenDone: Boolean = false): ProfileDownloadFragment = newInstanceEuicc(ProfileDownloadFragment::class.java, slotId, portId) { putBoolean("finishWhenDone", finishWhenDone) @@ -135,8 +137,7 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), true } R.id.ok -> { - val threshold = resources.getInteger(R.integer.profile_download_nvram_threshold) - if (freeNvram > threshold) { + if (freeNvram > NVRAM_THRESHOLD) { startDownloadProfile() } else { AlertDialog.Builder(requireContext()).apply { diff --git a/app-common/src/main/res/values/integers.xml b/app-common/src/main/res/values/integers.xml deleted file mode 100644 index 7f1c8fb..0000000 --- a/app-common/src/main/res/values/integers.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - 30720 - \ No newline at end of file -- 2.45.3 From 28ab6e0f25040897661c266740661042036bdcee Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 11:37:46 +0800 Subject: [PATCH 09/10] chore: rename strings id --- .../java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt | 4 ++-- app-common/src/main/res/values/strings.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 071a418..087c332 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -141,8 +141,8 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), startDownloadProfile() } else { AlertDialog.Builder(requireContext()).apply { - setTitle(R.string.profile_download_may_fail_title) - setMessage(R.string.profile_download_may_fail_message) + setTitle(R.string.profile_download_low_nvram_title) + setMessage(R.string.profile_download_low_nvram_message) setIcon(android.R.drawable.ic_dialog_alert) setCancelable(true) setPositiveButton(android.R.string.ok) { _, _ -> diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index c535211..05ea4c5 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -55,8 +55,8 @@ Download Failed to download eSIM. Check your activation / QR code. - This download may fail - This download may fail due to low remaining capacity. + This download may fail + This download may fail due to low remaining capacity. New nickname -- 2.45.3 From 8d30e7a800e4c99ced0f8f30231dfc4f2e27d4cc Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 14 Nov 2024 11:48:09 +0800 Subject: [PATCH 10/10] chore: rename constant name --- .../java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt index 087c332..85f120a 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/ProfileDownloadFragment.kt @@ -32,7 +32,7 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), companion object { const val TAG = "ProfileDownloadFragment" - const val NVRAM_THRESHOLD = 30 * 1024 // < 30 KiB, the alert may fail + const val LOW_NVRAM_THRESHOLD = 30 * 1024 // < 30 KiB, the alert may fail fun newInstance(slotId: Int, portId: Int, finishWhenDone: Boolean = false): ProfileDownloadFragment = newInstanceEuicc(ProfileDownloadFragment::class.java, slotId, portId) { @@ -137,7 +137,7 @@ class ProfileDownloadFragment : BaseMaterialDialogFragment(), true } R.id.ok -> { - if (freeNvram > NVRAM_THRESHOLD) { + if (freeNvram > LOW_NVRAM_THRESHOLD) { startDownloadProfile() } else { AlertDialog.Builder(requireContext()).apply { -- 2.45.3