diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index e035a90..085bd48 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -40,7 +40,6 @@
-
@@ -51,6 +50,7 @@
+
@@ -71,7 +71,6 @@
-
@@ -82,11 +81,9 @@
-
-
@@ -112,7 +109,6 @@
-
@@ -223,7 +219,6 @@
-
@@ -231,7 +226,6 @@
-
@@ -270,9 +264,6 @@
-
-
-
@@ -288,12 +279,10 @@
-
-
@@ -332,11 +321,9 @@
-
-
@@ -536,7 +523,6 @@
-
@@ -549,7 +535,6 @@
-
@@ -658,7 +643,6 @@
-
@@ -670,7 +654,6 @@
-
@@ -733,10 +716,7 @@
-
-
-
-
+
@@ -810,7 +790,6 @@
-
@@ -833,7 +812,6 @@
-
@@ -877,7 +855,6 @@
-
@@ -900,9 +877,6 @@
-
-
-
@@ -947,7 +921,6 @@
-
@@ -958,4 +931,4 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index dc859aa..3bfe213 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -34,6 +34,15 @@ tasks.register("genDocs") {
android {
compileSdk = 33
buildToolsVersion = "34.0.0"
+ namespace = "com.fredhappyface.ewesticker"
+
+ kotlinOptions {
+ jvmTarget = "17"
+ }
+
+ androidResources {
+ generateLocaleConfig = true
+ }
defaultConfig {
applicationId = "com.fredhappyface.ewesticker"
@@ -48,7 +57,6 @@ android {
buildTypes {
getByName("debug") { versionNameSuffix = "-debug" }
getByName("release") {
- // versionNameSuffix = "-release"
proguardFiles("proguard-android-optimize.txt", "proguard-rules.pro")
isMinifyEnabled = false
}
@@ -58,9 +66,6 @@ android {
sourceCompatibility(JavaVersion.VERSION_17)
targetCompatibility(JavaVersion.VERSION_17)
}
-
- kotlinOptions { jvmTarget = "17" }
- namespace = "com.fredhappyface.ewesticker"
}
dependencies {
@@ -74,11 +79,10 @@ dependencies {
implementation("io.coil-kt:coil-gif:2.4.0")
implementation("io.coil-kt:coil-video:2.4.0")
implementation("androidx.gridlayout:gridlayout:1.0.0")
+ implementation("io.noties.markwon:core:4.6.2")
testImplementation("junit:junit:4.13.2")
testImplementation("androidx.test.ext:junit:1.1.5")
testImplementation("androidx.test.espresso:espresso-core:3.5.1")
- implementation("com.google.code.gson:gson:2.10.1")
- implementation("io.noties.markwon:core:4.6.2")
}
ktlint {
diff --git a/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt b/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt
index e271ad0..f414d65 100644
--- a/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt
+++ b/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt
@@ -338,8 +338,10 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
fSticker.layoutParams.width = this.fullIconSize
fSticker.load(sticker)
val fText = fullStickerLayout.findViewById(R.id.stickerInfo)
- fText.text =
- "${trimString(sticker.name)} (Pack: ${trimString(sticker.parent.split('/').last())})"
+ val stickerName = trimString(sticker.name)
+ val packName = trimString(sticker.parent.split('/').last())
+ fText.text = getString(R.string.sticker_pack_info, stickerName, packName)
+
// Tap to exit popup
fullStickerLayout.setOnClickListener { this.keyboardRoot.removeView(it) }
fSticker.setOnClickListener { this.keyboardRoot.removeView(fullStickerLayout) }
@@ -417,6 +419,14 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
}
+/**
+ * trimString
+ *
+ * for strings longer than 32 chars, trim to 32 chars and add ellipsis ...
+ *
+ * @param str: String
+ * @return String
+ */
fun trimString(str: String): String {
if (str.length > 32) {
return str.substring(0, 32) + "..."
diff --git a/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt b/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt
index 0f59197..94500f1 100644
--- a/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt
+++ b/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt
@@ -247,7 +247,7 @@ class MainActivity : AppCompatActivity() {
}
/** Reusable function to warn about changing preferences */
- internal fun showChangedPrefText() {
+ private fun showChangedPrefText() {
this.toaster.toast(
getString(R.string.pref_000)
)
diff --git a/app/src/main/java/com/fredhappyface/ewesticker/utilities/SharedPrefHelper.kt b/app/src/main/java/com/fredhappyface/ewesticker/utilities/SharedPrefHelper.kt
deleted file mode 100644
index 3ca4233..0000000
--- a/app/src/main/java/com/fredhappyface/ewesticker/utilities/SharedPrefHelper.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.fredhappyface.ewesticker.utilities
-
-import android.content.Context
-import androidx.preference.PreferenceManager
-import com.fredhappyface.ewesticker.model.StickerPack
-import com.google.gson.Gson
-import com.google.gson.JsonSyntaxException
-import com.google.gson.reflect.TypeToken
-
-object SharedPrefHelper {
- private const val KEY_STICKERS = "com.fredhappyface.ewesticker.pref.stickers"
-
- fun getStickerPacksFromPref(context: Context): List {
- val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
- val gson = Gson()
- val json = sharedPreferences.getString(KEY_STICKERS, null) ?: return emptyList()
-
- return try {
- gson.fromJson(json, object : TypeToken>() {}.type)
- } catch (e: JsonSyntaxException) {
- emptyList()
- }
- }
-
-}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 7488e0b..ad266fe 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -3,8 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activityMainRoot"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/bg">
+ android:layout_height="match_parent">
+ android:layout_height="wrap_content">
-
+
أيقونة الحزمة
أيقونة الملصق
@@ -71,4 +71,6 @@
E033: فشل بعض الملصقات في الاستيراد (%1$d تم استيرادها). تم العثور على تنسيقات غير مدعومة
E034: فشلت عملية إعادة تحميل الملصقات، حاول اختيار مجلد مصدر الملصقات
E041: حدث استثناء غير متوقع أثناء تحويل الملصق
-
\ No newline at end of file
+
+ %1$s (حزمة: %2$s)
+
diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml
index 4835582..2d1d3b5 100644
--- a/app/src/main/res/values-bn/strings.xml
+++ b/app/src/main/res/values-bn/strings.xml
@@ -1,5 +1,5 @@
-
+
প্যাক আইকন
স্টিকার আইকন
@@ -71,4 +71,6 @@
E033: কিছু স্টিকার আমদানি করা হয়নি (%1$d টি আমদানি করা হয়েছে)। সমর্থিত ফর্ম্যাট পাওয়া হয়নি
E034: স্টিকার পুনরায় লোড করা যায়নি, স্টিকার শোর্স ডিরেক্টরি চয়ন করার চেষ্টা করুন
E041: অপ্রত্যাশিত IOException যখন স্টিকার রুপান্তর করা হয়
-
\ No newline at end of file
+
+ %1$s (প্যাক: %2$s)
+
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 718fe54..9b55916 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -1,5 +1,5 @@
-
+
Pack-Symbol
Sticker-Symbol
@@ -71,4 +71,6 @@
E033: Einige Sticker konnten nicht importiert werden (%1$d importiert). Nicht unterstützte Formate gefunden
E034: Neuladen der Sticker fehlgeschlagen, versuche ein Sticker-Quellverzeichnis auszuwählen
E041: Unerwarteter IOException beim Konvertieren des Stickers
-
\ No newline at end of file
+
+ %1$s (Paket: %2$s)
+
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 93e6bac..d6947e2 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -1,5 +1,5 @@
-
+
Ícono del paquete
Ícono del sticker
@@ -71,4 +71,6 @@
E033: Algunos pegatinas no importaron (%1$d importado).Formatos no compatibles encontrados
E034: Falló la recarga de stickers, intenta seleccionar un directorio de origen de stickers
E041: IOException inesperado al convertir la pegatina
-
\ No newline at end of file
+
+ %1$s (Paquete: %2$s)
+
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index c31247e..0da4c79 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -1,29 +1,29 @@
Icône du paquet
- Icône de l\'autocollant
+ Icône de l’autocollant
[appuyer pour fermer l\'aperçu de l\'autocollant]
Activer le clavier
Réglages de lancement
- Mettre à jour le paquet d\'autocollant
- Choisissez le répertoire source d\'autocollants
+ Mettre à jour le paquet d’autocollant
+ Choisissez le répertoire source d’autocollants
Recharger les autocollants
- - Chemin :
- E033 : Certains autocollants n\'ont pas été importés (%1$d importés). Formats non pris en charge trouvés
- E034 : Impossible de recharger les autocollants, essayez de choisir un répertoire source d\'autocollants
- E041 : IOException inattendue lors de la conversion de l\'autocollant
- Informations actuelles sur les autocollants chargés :
+ - Chemin:
+ E033: Certains autocollants n’ont pas été importés (%1$d importés). Formats non pris en charge trouvés
+ E034: Impossible de recharger les autocollants, essayez de choisir un répertoire source d’autocollants
+ E041: IOException inattendue lors de la conversion de l’autocollant
+ Informations actuelles sur les autocollants chargés:
Non défini
- - Date :
+ - Date:
Jamais
- - Total :
+ - Total:
Options
Afficher le bouton dans la barre de navigation
Utiliser la mise en page verticale
Restaurer le clavier précédent en fermant le clavier
Permet de glisser entre les paquets (perpendiculaire à la direction de défilement)
- "Nombre de rangées : "
- "Taille de l\'icône "
+ "Nombre de rangées: "
+ "Taille de l’icône "
Infos
EweSticker est une application de clavier d\'autocollant Android, spécialement conçue pour partager une grande variété d\'autocollants personnalisés dans les applications de messagerie prises en charge. Ce projet s\'inspire du projet uSticker et est une fourche du dépôt woosticker.
Caractéristiques
@@ -42,8 +42,8 @@
\n- **Sticker Preview on Long Press**: Pour faciliter la sélection des autocollants, les utilisateurs peuvent faire pression sur un autocollant pour révéler un aperçu. Cette fonctionnalité aide les utilisateurs à décider rapidement quel autocollant ils veulent partager sans avoir à ouvrir la collection d\'autocollants séparément.
\n
\nEweSticker propose un large éventail d\'options de personnalisation, un support de format divers et une intégration avec des applications de messagerie. Que les utilisateurs partagent des images statiques, des GIF animés ou même des vidéos courtes, l\'application vise à fournir un moyen attrayant et expressif de communiquer en utilisant des autocollants personnalisés.
- Comment l\'utiliser
- Sélectionnez un répertoire contenant des autocollants et envoyez-les dans vos applications préférées !
+ Comment l’utiliser
+ Sélectionnez un répertoire contenant des autocollants et envoyez-les dans vos applications préférées!
Licence MIT
Copyright © FredHappyface
\nCopyright © Randy Zhou
@@ -52,13 +52,15 @@
\n
\n- Les tutoriels vous emmènent à la main par une série de étapes pour commencer à utiliser le logiciel. Commencez ici si vous êtes nouveau: https://github.com/FredHappyface/Android.EweSticker/blob/main/documentation/tutorials
\n
-\n- Le guide d\'aide fournit un point de départ et décrit les questions fréquentes que vous pouvez avoir : https://github.com/FredHappyface/Android.EweSticker/blob/main/documentation/help
+\n- Le guide d\'aide fournit un point de départ et décrit les questions fréquentes que vous pouvez avoir: https://github.com/FredHappyface/Android.EweSticker/blob/main/documentation/help
\n
\n- Licence MIT
\n(Voir la licence pour plus d\'informations https://github.com/FredHappyface/Android.EweSticker/blob/main/LICENSE.md )
Les préférences ont changé. Recharger le clavier pour les appliquer
- Démarrage de l\'importation. Ceci va prendre du temps !
+ Démarrage de l’importation. Ceci va prendre du temps!
Autocollants importés %1$d. Recharger le clavier pour afficher les nouveaux autocollants
- E031 : Certains autocollants n\'ont pas été importés (%1$d importés). Nombre maximal atteint
- E032 : Certains autocollants n\'ont pas été importés (%1$d importés). Taille maximale du paquet atteint
-
\ No newline at end of file
+ E031: Certains autocollants n’ont pas été importés (%1$d importés). Nombre maximal atteint
+ E032: Certains autocollants n’ont pas été importés (%1$d importés). Taille maximale du paquet atteint
+
+ %1$s (Pack : %2$s)
+
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index ade54aa..6435e77 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -70,4 +70,6 @@
E033: कुछ स्टिकर्स का आयात असफल रहा (%1$d आयात किए गए)। असमर्थित प्रारूप मिला
E034: स्टिकर्स को पुनः लोड करने में विफलता हुई, कृपया स्टिकर स्रोत निर्दिष्ट करने का प्रयास करें
E041: स्टिकर कन्वर्ट करते समय अप्रत्याशित IOException
+
+ %1$s (पैक: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index c0d9148..8df8520 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -71,4 +71,6 @@
E033: Beberapa stiker gagal diimpor (%1$d diimpor). Format yang tidak didukung ditemukan
E034: Gagal memuat ulang stiker, coba pilih direktori sumber stiker
E041: IOException yang tidak diharapkan saat mengonversi stiker
+
+ %1$s (Paket: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 2eea13e..96a538f 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -70,4 +70,6 @@
E033: 一部のステッカーのインポートに失敗しました(%1$d 個インポート済み)。サポートされていないフォーマットが見つかりました
E034: ステッカーの再読み込みに失敗しました。ステッカーソースディレクトリを選択してみてください
E041: ステッカーを変換する際に予期しないIOExceptionが発生しました
+
+ %1$s(パック:%2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index ec24730..8ed488d 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -1,7 +1,6 @@
- EweSticker
팩 아이콘
스티커 아이콘
[스티커 미리보기 닫기를 탭하세요]
@@ -72,4 +71,6 @@
E033: 일부 스티커 가져오기 실패 (%1$d개 가져옴). 지원하지 않는 형식을 발견함
E034: 스티커 다시 불러오기 실패. 스티커 소스 디렉터리를 선택해보세요
E041: 스티커 변환 중 예기치 않은 IOException 발생
+
+ %1$s (팩: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index c26a626..563755b 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -1,6 +1,5 @@
- EweSticker
Ícone do Pacote
Ícone do Adesivo
[toque para fechar a pré-visualização de adesivos]
@@ -71,4 +70,6 @@ Direitos autorais © Randy Zhou
E033: Alguns adesivos não puderam ser importados (%1$d importados). Formatos não suportados encontrados
E034: Falha ao recarregar adesivos, tente escolher um diretório de origem dos adesivos
E041: IOException inesperada ao converter adesivo
+
+ %1$s (Pacote: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 52b9b35..fd261a7 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -70,4 +70,6 @@
E033: Не удалось импортировать некоторые стикеры (%1$d импортировано). Обнаружены не поддерживаемые форматы
E034: Перезагрузка стикеров не удалась, попробуйте выбрать каталог источника стикеров
E041: Неожиданная ошибка ввода-вывода при преобразовании стикера
+
+ %1$s (Пакет: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index a0ffea8..171fadf 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -1,7 +1,6 @@
- EweSticker
پیک آئکن
اسٹکر آئکن
[اسٹکر پیشنظری کو بند کرنے کے لئے ٹیپ کریں]
@@ -72,4 +71,6 @@
E033: کچھ اسٹکر منتقل کرنے میں ناکامی (%1$d منتقل کیے گئے). غیر معاون فارمیٹس پائے گئے
E034: اسٹکرز دوبارہ لوڈ کرنے میں ناکامی. ایک اسٹکر سورس ڈائریکٹری منتخب کرنے کا کوشش کریں
E041: اسٹکر کو تبدیل کرنے کے دوران غیر متوقع IOException کا اعلان
+
+ %1$s (پیک: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 666462e..bd396e0 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -1,7 +1,6 @@
- EweSticker
包图标
贴纸图标
[点击关闭贴纸预览]
@@ -72,4 +71,6 @@
E033: 一些贴纸未能导入(已导入 %1$d 个)。发现不受支持的格式
E034: 重新加载贴纸失败,请尝试选择贴纸源目录
E041: 在转换贴纸时发生意外的 IOException
+
+ %1$s(包: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index d4dfe2c..c8f5adc 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -1,7 +1,6 @@
- EweSticker
套圖示
貼圖示
[點擊關閉貼圖預覽]
@@ -72,4 +71,6 @@
E033: 一些貼圖未能導入(已導入 %1$d 個)。發現不受支援的格式
E034: 重新載入貼圖失敗,請嘗試選擇貼圖來源目錄
E041: 在轉換貼圖時發生意外的 IOException
+
+ %1$s(包: %2$s)
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1e8629d..77b550e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
-
+
EweSticker
Pack icon
@@ -57,7 +57,7 @@ Copyright © Randy Zhou
Links
"- The source code for EweSticker is available at https://github.com/FredHappyface/Android.EweSticker
-- The tutorials take you by the hand through a series of steps to get started using the software. Start here if you're new: https://github.com/FredHappyface/Android.EweSticker/blob/main/documentation/tutorials
+- The tutorials take you by the hand through a series of steps to get started using the software. Start here if you’re new: https://github.com/FredHappyface/Android.EweSticker/blob/main/documentation/tutorials
- The help guide provides a starting point and outlines common issues that you may have: https://github.com/FredHappyface/Android.EweSticker/blob/main/documentation/help
@@ -72,4 +72,6 @@ Copyright © Randy Zhou
E033: Some stickers failed to import (%1$d imported). Unsupported formats found
E034: Reloading stickers failed, try choosing a sticker source directory
E041: Unexpected IOException when converting sticker
+
+ %1$s (Pack: %2$s)
diff --git a/build.gradle.kts b/build.gradle.kts
index f859edc..20789bc 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,6 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id("com.android.application") version "8.1.0" apply false
+ id("com.android.application") version "8.1.1" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
id("org.jetbrains.dokka") version "1.8.20"
id("org.jlleitschuh.gradle.ktlint") version "10.2.1"
diff --git a/readme-assets/icons/EweSticker_mono.svg b/readme-assets/icons/EweSticker_mono.svg
index 54097e9..3642d55 100644
--- a/readme-assets/icons/EweSticker_mono.svg
+++ b/readme-assets/icons/EweSticker_mono.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file