- fix #24
- fix #25
- fix #27
- fix #30
This commit is contained in:
Kieran BW 2021-11-18 22:43:52 +00:00
parent 4819e68c35
commit fad49d5d61
9 changed files with 35 additions and 16 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@ output-metadata.json
.idea/misc.xml .idea/misc.xml
/captures /captures
/ktlint /ktlint
/app/debug
/app/release
# Built application files # Built application files
# *.apk # *.apk

View File

@ -3,12 +3,13 @@
All major and minor version changes will be documented in this file. Details of All major and minor version changes will be documented in this file. Details of
patch-level version changes can be found in [commit messages](../../commits/master). patch-level version changes can be found in [commit messages](../../commits/master).
## Next_Ver - 2021/11/xx ## 20211118 - 2021/11/18
- Attempt to resolve issue reported where the app crashed when importing stickers (suspected cause - Attempt to resolve issue reported where the app crashed when importing stickers (suspected cause
of a `java.lang.OutOfMemoryError`) of a `java.lang.OutOfMemoryError`)
- Improve sticker layout https://github.com/FredHappyface/Android.EweSticker/issues/24 - Improve sticker layout https://github.com/FredHappyface/Android.EweSticker/issues/24
- Improve large sticker preview https://github.com/FredHappyface/Android.EweSticker/issues/25 - Improve large sticker preview https://github.com/FredHappyface/Android.EweSticker/issues/25
- Recent tab can now be saved as last used https://github.com/FredHappyface/Android.EweSticker/issues/30
## 20211114 - 2021/11/14 ## 20211114 - 2021/11/14

View File

@ -125,16 +125,16 @@ then download/ install
### Download the APK ### Download the APK
1. For releases, navigate to the /app/release directory. For debug, navigate to /app/debug 1. For releases, navigate to the releases page [here](../../releases).
2. Select the debug or release APK depending on your preference. Note that the 2. Select the debug or release APK depending on your preference. Note that the
filenames are in the form: com.fredhappyface.ewesticker-(version)-(debug|release).apk filenames are in the form: com.fredhappyface.ewesticker-(version)-(debug|release).apk
**Or** **Or**
[<img src="readme-assets/badges/direct-apk-download.png" alt="Direct apk [<img src="readme-assets/badges/direct-apk-download.png" alt="Direct apk
download" height="80">](/app/release) download" height="80">](../../releases)
Follow the link to the /app/release directory by clicking on the badge above. Navigate to the releases page by clicking on the badge above.
## Download Project ## Download Project

View File

@ -53,16 +53,16 @@ then download/ install
### Download the APK ### Download the APK
1. For releases, navigate to the /app/release directory. For debug, navigate to /app/debug 1. For releases, navigate to the releases page [here](../../releases).
2. Select the debug or release APK depending on your preference. Note that the 2. Select the debug or release APK depending on your preference. Note that the
filenames are in the form: com.fredhappyface.ewesticker-(version)-(debug|release).apk filenames are in the form: com.fredhappyface.ewesticker-(version)-(debug|release).apk
**Or** **Or**
[<img src="readme-assets/badges/direct-apk-download.png" alt="Direct apk [<img src="readme-assets/badges/direct-apk-download.png" alt="Direct apk
download" height="80">](/app/release) download" height="80">](../../releases)
Follow the link to the /app/release directory by clicking on the badge above. Navigate to the releases page by clicking on the badge above.
## Step 3 - Select Directory with EweSticker (and wait...) ## Step 3 - Select Directory with EweSticker (and wait...)

View File

@ -11,8 +11,8 @@ android {
applicationId = "com.fredhappyface.ewesticker" applicationId = "com.fredhappyface.ewesticker"
minSdk = 26 minSdk = 26
targetSdk = 31 targetSdk = 31
versionCode = 20211114 versionCode = 20211118
versionName = "2021.11.14" versionName = "2021.11.18"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
setProperty("archivesBaseName", "$applicationId-$versionName") setProperty("archivesBaseName", "$applicationId-$versionName")
} }
@ -41,7 +41,7 @@ android {
dependencies { dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.5.31") implementation("org.jetbrains.kotlin:kotlin-stdlib:1.5.31")
implementation("androidx.core:core-ktx:1.7.0") implementation("androidx.core:core-ktx:1.7.0")
implementation("androidx.appcompat:appcompat:1.3.1") implementation("androidx.appcompat:appcompat:1.4.0")
implementation("com.google.android.material:material:1.4.0") implementation("com.google.android.material:material:1.4.0")
implementation("androidx.preference:preference-ktx:1.1.1") implementation("androidx.preference:preference-ktx:1.1.1")
implementation("io.coil-kt:coil:1.4.0") implementation("io.coil-kt:coil:1.4.0")

View File

@ -259,6 +259,17 @@ class ImageKeyboard : InputMethodService() {
return false return false
} }
/**
* Select the recent pack and create the pack layout
*
*/
private fun recentPackLayout() {
val packLayout = createPackLayout(mRecentCache.toFiles().reversedArray())
mPackContent.removeAllViewsInLayout()
packLayout.parent ?: mPackContent.addView(packLayout)
mActivePack = "__recentSticker__"
}
/** /**
* Swap the pack layout every time a pack is selected. If already cached use that * Swap the pack layout every time a pack is selected. If already cached use that
* otherwise create the pack layout * otherwise create the pack layout
@ -394,8 +405,7 @@ class ImageKeyboard : InputMethodService() {
val recentButton = val recentButton =
addPackButton(ResourcesCompat.getDrawable(resources, R.drawable.ic_clock, null)) addPackButton(ResourcesCompat.getDrawable(resources, R.drawable.ic_clock, null))
recentButton.setOnClickListener { recentButton.setOnClickListener {
mPackContent.removeAllViewsInLayout() recentPackLayout()
mPackContent.addView(createPackLayout(mRecentCache.toFiles().reversedArray()))
} }
// Packs // Packs
val sortedPackNames = mLoadedPacks.keys.toTypedArray() val sortedPackNames = mLoadedPacks.keys.toTypedArray()
@ -410,10 +420,10 @@ class ImageKeyboard : InputMethodService() {
} }
} }
if (sortedPackNames.isNotEmpty()) { if (sortedPackNames.isNotEmpty()) {
if (mActivePack in sortedPackNames) { when (mActivePack) {
switchPackLayout((mLoadedPacks[mActivePack] ?: return)) "__recentSticker__" -> recentPackLayout()
} else { in sortedPackNames -> switchPackLayout((mLoadedPacks[mActivePack] ?: return))
switchPackLayout((mLoadedPacks[sortedPackNames[0]] ?: return)) else -> switchPackLayout((mLoadedPacks[sortedPackNames[0]] ?: return))
} }
} }
} }

View File

@ -0,0 +1,6 @@
<ul>
<li>Attempt to resolve issue reported where the app crashed when importing stickers (suspected cause of a <code>java.lang.OutOfMemoryError</code>)</li>
<li>Improve sticker layout https://github.com/FredHappyface/Android.EweSticker/issues/24</li>
<li>Improve large sticker preview https://github.com/FredHappyface/Android.EweSticker/issues/25</li>
<li>Recent tab can now be saved as last used https://github.com/FredHappyface/Android.EweSticker/issues/30</li>
</ul>