Skip to content

Commit 08e141b

Browse files
committed
add case insensitive sort; add version number in-app
1 parent 9060787 commit 08e141b

7 files changed

Lines changed: 64 additions & 4 deletions

File tree

app/build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,9 @@ android {
5656
}
5757

5858
buildTypes {
59-
getByName("debug") { versionNameSuffix = "-debug" }
59+
getByName("debug") {
60+
versionNameSuffix = "-debug"
61+
}
6062
getByName("release") {
6163
proguardFiles("proguard-android-optimize.txt", "proguard-rules.pro")
6264
isMinifyEnabled = false

app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
5353
private var vibrate = false
5454
private var iconsPerX = 0
5555
private var iconSize = 0
56+
private var insensitiveSort = false
5657

5758
// Constants
5859
private lateinit var internalDir: File
@@ -110,6 +111,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
110111
this.vertical = this.sharedPreferences.getBoolean("vertical", false)
111112
this.scroll = this.sharedPreferences.getBoolean("scroll", false)
112113
this.vibrate = this.sharedPreferences.getBoolean("vibrate", true)
114+
this.insensitiveSort = this.sharedPreferences.getBoolean("insensitiveSort", false)
113115

114116
this.iconsPerX = this.sharedPreferences.getInt("iconsPerX", 3)
115117
this.totalIconPadding =
@@ -439,7 +441,15 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
439441
recentButton.load(getDrawable(R.drawable.time))
440442
recentButton.setOnClickListener { switchPackLayout(recentPackName) }
441443
// Packs
442-
val sortedPackNames = this.loadedPacks.keys.sorted().toTypedArray()
444+
val sortedPackNames = if (this.insensitiveSort) {
445+
this.loadedPacks.keys.sortedWith(String.CASE_INSENSITIVE_ORDER)
446+
} else {
447+
this.loadedPacks.keys.sorted()
448+
}.toTypedArray()
449+
450+
451+
452+
443453
for (sortedPackName in sortedPackNames) {
444454
val packButton = addPackButton(sortedPackName)
445455
packButton.load(this.loadedPacks[sortedPackName]?.thumbSticker)

app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.fredhappyface.ewesticker
33
import android.app.Activity
44
import android.content.Intent
55
import android.content.SharedPreferences
6+
import android.content.pm.PackageManager
67
import android.os.Bundle
78
import android.provider.Settings
89
import android.view.View
@@ -63,6 +64,15 @@ class MainActivity : AppCompatActivity() {
6364
}
6465
toggle(findViewById(R.id.restoreOnClose), "restoreOnClose", false) {}
6566
toggle(findViewById(R.id.scroll), "scroll", false) {}
67+
toggle(findViewById(R.id.insensitive_sort), "insensitiveSort", false) {}
68+
69+
val versionText: TextView = findViewById(R.id.versionText)
70+
try {
71+
val packageInfo = packageManager.getPackageInfo(packageName, 0)
72+
versionText.text = packageInfo.versionName
73+
} catch (e: PackageManager.NameNotFoundException) {
74+
versionText.text = getString(R.string.version_text)
75+
}
6676
}
6777

6878
/**

app/src/main/res/layout/activity_main.xml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,20 @@
245245
android:text="@string/options_scroll" />
246246
</LinearLayout>
247247

248+
<LinearLayout
249+
style="@style/widthMatchHeightWrap"
250+
android:orientation="horizontal">
251+
252+
<CheckBox
253+
android:id="@+id/insensitive_sort"
254+
style="@style/checkbox" />
255+
256+
<TextView
257+
style="@style/body_text"
258+
android:paddingBottom="@dimen/content_margin"
259+
android:text="@string/options_insensitive_sort" />
260+
</LinearLayout>
261+
248262
<LinearLayout
249263
style="@style/widthMatchHeightWrap"
250264
android:orientation="horizontal">
@@ -372,6 +386,26 @@
372386
android:text="@string/links_text" />
373387
</LinearLayout>
374388
</com.google.android.material.card.MaterialCardView>
389+
<!-- Version -->
390+
<com.google.android.material.card.MaterialCardView style="@style/card">
391+
392+
<LinearLayout
393+
style="@style/cardchild"
394+
android:orientation="vertical">
395+
396+
<TextView
397+
style="@style/heading"
398+
android:text="@string/version_heading" />
399+
400+
<TextView
401+
style="@style/body_text"
402+
android:autoLink="web"
403+
android:linksClickable="true"
404+
android:id="@+id/versionText"
405+
android:text="@string/version_text" />
406+
</LinearLayout>
407+
</com.google.android.material.card.MaterialCardView>
375408
</LinearLayout>
409+
376410
</androidx.core.widget.NestedScrollView>
377411
</androidx.coordinatorlayout.widget.CoordinatorLayout>

app/src/main/res/values/strings.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<string name="options_vertical">Use vertical layout</string>
2626
<string name="options_restore_on_close">Restore previous keyboard on keyboard close</string>
2727
<string name="options_scroll">Enable swipe between packs (perpendicular to scroll direction)</string>
28+
<string name="options_insensitive_sort">Enable case-insensitive search</string>
2829
<string name="options_icons_per_x_lbl">"Number of Rows: "</string>
2930
<string name="options_icon_size_status_lbl">"Icon size: "</string>
3031
<!-- Info -->
@@ -67,6 +68,9 @@ Copyright © Randy Zhou</string>
6768

6869
- MIT License
6970
(See the license for more information https://github.com/FredHappyface/Android.EweSticker/blob/main/LICENSE.md )</string>
71+
<string name="version_heading">Version Info</string>
72+
<string name="version_text">[debug]</string>
73+
7074
<!-- Interactive Messages -->
7175
<string name="pref_000">Preferences changed. Reload the keyboard for settings to apply</string>
7276
<string name="imported_010">Starting import. This might take some time!</string>

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22
plugins {
3-
id("com.android.application") version "8.3.0" apply false
3+
id("com.android.application") version "8.5.2" apply false
44
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
55
id("org.jetbrains.dokka") version "1.9.20"
66
id("org.jlleitschuh.gradle.ktlint") version "11.6.0"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Thu Mar 21 23:12:37 GMT 2024
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)