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..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
@@ -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(title.toString()) {
+ 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.