diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 94e5ed4..ca34d83 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -56,7 +56,9 @@ android { } buildTypes { - getByName("debug") { versionNameSuffix = "-debug" } + getByName("debug") { + versionNameSuffix = "-debug" + } getByName("release") { proguardFiles("proguard-android-optimize.txt", "proguard-rules.pro") isMinifyEnabled = false diff --git a/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt b/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt index 62f0143..d6fb6cf 100644 --- a/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt +++ b/app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt @@ -53,6 +53,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener { private var vibrate = false private var iconsPerX = 0 private var iconSize = 0 + private var insensitiveSort = false // Constants private lateinit var internalDir: File @@ -110,6 +111,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener { this.vertical = this.sharedPreferences.getBoolean("vertical", false) this.scroll = this.sharedPreferences.getBoolean("scroll", false) this.vibrate = this.sharedPreferences.getBoolean("vibrate", true) + this.insensitiveSort = this.sharedPreferences.getBoolean("insensitiveSort", false) this.iconsPerX = this.sharedPreferences.getInt("iconsPerX", 3) this.totalIconPadding = @@ -439,7 +441,15 @@ class ImageKeyboard : InputMethodService(), StickerClickListener { recentButton.load(getDrawable(R.drawable.time)) recentButton.setOnClickListener { switchPackLayout(recentPackName) } // Packs - val sortedPackNames = this.loadedPacks.keys.sorted().toTypedArray() + val sortedPackNames = if (this.insensitiveSort) { + this.loadedPacks.keys.sortedWith(String.CASE_INSENSITIVE_ORDER) + } else { + this.loadedPacks.keys.sorted() + }.toTypedArray() + + + + for (sortedPackName in sortedPackNames) { val packButton = addPackButton(sortedPackName) packButton.load(this.loadedPacks[sortedPackName]?.thumbSticker) diff --git a/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt b/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt index 52f866b..0ebb7a9 100644 --- a/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt +++ b/app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt @@ -3,6 +3,7 @@ package com.fredhappyface.ewesticker import android.app.Activity import android.content.Intent import android.content.SharedPreferences +import android.content.pm.PackageManager import android.os.Bundle import android.provider.Settings import android.view.View @@ -63,6 +64,15 @@ class MainActivity : AppCompatActivity() { } toggle(findViewById(R.id.restoreOnClose), "restoreOnClose", false) {} toggle(findViewById(R.id.scroll), "scroll", false) {} + toggle(findViewById(R.id.insensitive_sort), "insensitiveSort", false) {} + + val versionText: TextView = findViewById(R.id.versionText) + try { + val packageInfo = packageManager.getPackageInfo(packageName, 0) + versionText.text = packageInfo.versionName + } catch (e: PackageManager.NameNotFoundException) { + versionText.text = getString(R.string.version_text) + } } /** diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9012fb9..baaabca 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -245,6 +245,20 @@ android:text="@string/options_scroll" /> + + + + + + + @@ -372,6 +386,26 @@ android:text="@string/links_text" /> + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ccebafd..6a356af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -25,6 +25,7 @@ Use vertical layout Restore previous keyboard on keyboard close Enable swipe between packs (perpendicular to scroll direction) + Enable case-insensitive search "Number of Rows: " "Icon size: " @@ -67,6 +68,9 @@ Copyright © Randy Zhou - MIT License (See the license for more information https://github.com/FredHappyface/Android.EweSticker/blob/main/LICENSE.md ) + Version Info + [debug] + Preferences changed. Reload the keyboard for settings to apply Starting import. This might take some time! diff --git a/build.gradle.kts b/build.gradle.kts index d1de2fc..42201df 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.3.0" apply false + id("com.android.application") version "8.5.2" apply false id("org.jetbrains.kotlin.android") version "1.9.0" apply false id("org.jetbrains.dokka") version "1.9.20" id("org.jlleitschuh.gradle.ktlint") version "11.6.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 526f83d..92789a4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Mar 21 23:12:37 GMT 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists