From 223c9ae471a37d5acc5177b8e87c07f63386855a Mon Sep 17 00:00:00 2001 From: septs Date: Wed, 11 Dec 2024 21:14:43 +0800 Subject: [PATCH 1/2] refactor: extract clipboard setter as utils --- .../angry/openeuicc/ui/EuiccManagementFragment.kt | 8 +++----- .../java/im/angry/openeuicc/util/ClipboardUtils.kt | 14 ++++++++++++++ app-common/src/main/res/values-ja/strings.xml | 2 +- app-common/src/main/res/values-zh-rCN/strings.xml | 2 +- app-common/src/main/res/values/strings.xml | 2 +- .../openeuicc/ui/UnprivilegedSettingsFragment.kt | 10 ++++------ app-unpriv/src/main/res/values-ja/strings.xml | 1 - app-unpriv/src/main/res/values-zh-rCN/strings.xml | 1 - app-unpriv/src/main/res/values/strings.xml | 3 --- 9 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 app-common/src/main/java/im/angry/openeuicc/util/ClipboardUtils.kt diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt index 8e7b158..15fa3ab 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt @@ -2,7 +2,6 @@ package im.angry.openeuicc.ui import android.annotation.SuppressLint import android.content.ClipData -import android.content.ClipboardManager import android.content.Intent import android.os.Bundle import android.text.method.PasswordTransformationMethod @@ -346,10 +345,9 @@ open class EuiccManagementFragment : Fragment(), EuiccProfilesChangedListener, } iccid.setOnLongClickListener { - requireContext().getSystemService(ClipboardManager::class.java)!! - .setPrimaryClip(ClipData.newPlainText("iccid", iccid.text)) - Toast.makeText(requireContext(), R.string.toast_iccid_copied, Toast.LENGTH_SHORT) - .show() + requireContext().setClipboard("ICCID") { + ClipData.newPlainText("iccid", iccid.text) + } true } diff --git a/app-common/src/main/java/im/angry/openeuicc/util/ClipboardUtils.kt b/app-common/src/main/java/im/angry/openeuicc/util/ClipboardUtils.kt new file mode 100644 index 0000000..8ac9a4f --- /dev/null +++ b/app-common/src/main/java/im/angry/openeuicc/util/ClipboardUtils.kt @@ -0,0 +1,14 @@ +package im.angry.openeuicc.util + +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import android.widget.Toast +import im.angry.openeuicc.common.R + +fun Context.setClipboard(label: String, callback: () -> ClipData) { + getSystemService(ClipboardManager::class.java)!! + .setPrimaryClip(callback()) + Toast.makeText(this, getString(R.string.toast_copied, label), Toast.LENGTH_SHORT) + .show() +} \ No newline at end of file diff --git a/app-common/src/main/res/values-ja/strings.xml b/app-common/src/main/res/values-ja/strings.xml index d25af49..9c8b401 100644 --- a/app-common/src/main/res/values-ja/strings.xml +++ b/app-common/src/main/res/values-ja/strings.xml @@ -17,7 +17,7 @@ 操作は成功しましたが、デバイスのモデムが更新を拒否しました。新しいプロファイルを使用するには機内モードに切り替えるか、再起動する必要があります。 新しい eSIM プロファイルに切り替えることができません。 ニックネームは 64 文字以内にしてください - ICCID をクリップボードにコピーしました + %s をクリップボードにコピーしました スロットを選択 選択 USB の権限を許可 diff --git a/app-common/src/main/res/values-zh-rCN/strings.xml b/app-common/src/main/res/values-zh-rCN/strings.xml index 3bb0d04..11faca9 100644 --- a/app-common/src/main/res/values-zh-rCN/strings.xml +++ b/app-common/src/main/res/values-zh-rCN/strings.xml @@ -18,7 +18,7 @@ 操作成功, 但是您手机的基带拒绝刷新。您可能需要切换飞行模式或重新启动,以便使用新的配置文件。 无法切换到新的 eSIM 配置文件。 昵称不能超过 64 个字符 - 已复制 ICCID 到剪贴板 + 已复制 %s 到剪贴板 选择卡槽 选择 授予 USB 权限 diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index 4a9f529..80101f0 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -29,7 +29,7 @@ Cannot switch to new eSIM profile. Nickname cannot be longer than 64 characters - ICCID copied to clipboard + %s copied to clipboard Select Slot Select diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt index 1ca9d0f..da5ab60 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt @@ -1,13 +1,12 @@ package im.angry.openeuicc.ui import android.content.ClipData -import android.content.ClipboardManager import android.content.pm.PackageManager import android.os.Bundle -import android.widget.Toast import androidx.preference.Preference import im.angry.easyeuicc.R import im.angry.openeuicc.util.encodeHex +import im.angry.openeuicc.util.setClipboard import java.security.MessageDigest class UnprivilegedSettingsFragment : SettingsFragment() { @@ -33,10 +32,9 @@ class UnprivilegedSettingsFragment : SettingsFragment() { findPreference("pref_info_ara_m")?.apply { summary = firstSigner.encodeHex() setOnPreferenceClickListener { - requireContext().getSystemService(ClipboardManager::class.java)!! - .setPrimaryClip(ClipData.newPlainText("ara-m", summary)) - Toast.makeText(requireContext(), R.string.toast_ara_m_copied, Toast.LENGTH_SHORT) - .show() + requireContext().setClipboard("ARA-M SHA-1") { + ClipData.newPlainText("ara-m", summary) + } true } } diff --git a/app-unpriv/src/main/res/values-ja/strings.xml b/app-unpriv/src/main/res/values-ja/strings.xml index 053a8d1..b8fac39 100644 --- a/app-unpriv/src/main/res/values-ja/strings.xml +++ b/app-unpriv/src/main/res/values-ja/strings.xml @@ -30,5 +30,4 @@ 挿入された取り外し可能な eSIM がデバイス上で管理できるかどうかは判断できません。デバイスが OMAPI のサポートを宣言していないため、このデバイス上で取り外し可能な eSIM を管理することはサポートされていない可能性があります。\n%s 挿入された取り外し可能な eSIM がデバイス上で管理できるかどうかを確認できません。\n%s ただし、eSIM プロファイルがすでに読み込まれている場合、有効化されたプロファイル自体は引き続き機能します。また、プロファイルが管理できない場合は、このデバイスで USB カードリーダーを介してプロファイルを管理できる可能性があります。 - ARA-M SHA-1 をクリップボードにコピーしました diff --git a/app-unpriv/src/main/res/values-zh-rCN/strings.xml b/app-unpriv/src/main/res/values-zh-rCN/strings.xml index 8d3060d..76b0bfa 100644 --- a/app-unpriv/src/main/res/values-zh-rCN/strings.xml +++ b/app-unpriv/src/main/res/values-zh-rCN/strings.xml @@ -28,5 +28,4 @@ 我们无法确定是否可以在您的设备上管理可插拔 eSIM 卡。由于您的设备未声明支持OMAPI,因此更有可能不支持在此设备上管理可插拔 eSIM。\n%s 我们无法确定是否可以在您的设备上管理可插拔 eSIM 卡。\n%s 然而,已经加载了eSIM配置文件的可插拔 eSIM 卡仍然可以工作; 即使无法在装置上直接管理可插拔 eSIM 卡中的配置文件,您仍然可以使用 USB 卡读卡器来管理配置文件。 - ARA-M SHA-1 已拷贝到剪贴板 \ No newline at end of file diff --git a/app-unpriv/src/main/res/values/strings.xml b/app-unpriv/src/main/res/values/strings.xml index 9d80b0e..8160abd 100644 --- a/app-unpriv/src/main/res/values/strings.xml +++ b/app-unpriv/src/main/res/values/strings.xml @@ -7,9 +7,6 @@ ARA-M SHA-1 - - ARA-M SHA-1 copied to clipboard - System Features Whether your device has all the required features for managing removable eUICC cards. For example, basic telephony and OMAPI support. -- 2.45.3 From f4906c91af8dc12cb6679fab4462db8228540fc6 Mon Sep 17 00:00:00 2001 From: septs Date: Thu, 12 Dec 2024 02:07:01 +0800 Subject: [PATCH 2/2] chore: reduce hard-coded --- .../java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt index da5ab60..6a7aa4b 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/UnprivilegedSettingsFragment.kt @@ -32,7 +32,7 @@ class UnprivilegedSettingsFragment : SettingsFragment() { findPreference("pref_info_ara_m")?.apply { summary = firstSigner.encodeHex() setOnPreferenceClickListener { - requireContext().setClipboard("ARA-M SHA-1") { + requireContext().setClipboard(title.toString()) { ClipData.newPlainText("ara-m", summary) } true -- 2.45.3